1(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ 2"use strict"; 3exports.__esModule = true; 4/// <reference path="../declaration/declare/declare.d.ts" /> 5require("babel-polyfill"); 6var price_confirm_1 = require("./script/price-confirm"); 7var price_confirm_over_1 = require("./script/price-confirm-over"); 8(function (window) { 9 ; 10 window.PriceConfirmation = price_confirm_1.PriceConfirmation; 11 window.PriceConfirmationOver = price_confirm_over_1.PriceConfirmationOver; 12})(window); 13 14},{"./script/price-confirm":8,"./script/price-confirm-over":7,"babel-polyfill":14}],2:[function(require,module,exports){ 15/*TMODJS:{"version":1,"md5":"a052f6ab21581edabfe1622bc730f630"}*/ 16var template=require('./tpl');module.exports=template('notice',function($data,$filename 17) { 18'use strict';var $utils=this,$helpers=$utils.$helpers,$escape=$utils.$escape,$out='';$out+='<div class="price-confirm-notice">\n <img class="price-confirm-notice-icon" src="https://static.smm.cn/common.smm.cn/images/price-confirm/icon-success.png"/>\n <span class="price-confirm-notice-text">'; 19$out+=$escape($data.msg); 20$out+='</span>\n</div>'; 21return new String($out); 22}); 23},{"./tpl":9}],3:[function(require,module,exports){ 24/*TMODJS:{"version":1,"md5":"e9c11a91fcf900daabc2b6e738eda716"}*/ 25var template=require('./tpl');module.exports=template('price-confirm-over',function($data,$filename 26) { 27'use strict';var $utils=this,$helpers=$utils.$helpers,$escape=$utils.$escape,$out='';$out+='<div class="price-confirm-over" id="price_confirm_over">\n <div class="price-confirm-over-header">\n <img class="price-confirm-over-close" id="price_confirm_over_close" src="https://static.smm.cn/common.smm.cn/images/price-confirm/icon-close.png" />\n </div>\n <div class="price-confirm-pic-container">\n <img\n class="price_confirmation_pic"\n contenteditable="true"\n id="price_confirm_over_img"\n src="'; 28$out+=$escape($data.pic_url); 29$out+='"\n alt="䏿µ·æè²ç½ä»·æ ¼ç¡®è®¤åå¾"\n id="price_confirmation_pic"\n />\n </div>\n <div class="price-confirm-over-option">\n <div class="price-confirm-over-option-left">\n <div class="price-confirm-over-option-primary" id="price_confirm_over_option_download">ä¸è½½</div>\n <div class="price-confirm-over-option-normal" id="price_confirm_over_option_print">æå°</div>\n <div class="price-confirm-over-option-wechat-wrap">\n <div class="price-confirm-over-option-wechat">\n <img\n class="price-confirm-over-icon-wechat"\n src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAQAAADKpPKLAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\n AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElN\n RQfkBggMDRyjQPUdAAABnUlEQVRIx62Vb3WDMBTFLzsTEAlxsDgoDsABlYCD4WBzMKagnQJSBWUK\n wEEzBXcfCiWhoUl2dr/xTvjx7vsTMqxEgR1yKAgoAAY9RvT4ykaki5JvvNCvjmUq7pUhdVSxMMFz\n EEeSF+7/E3dVGMkuARdGsraOGuYAFY0V6ykB5o5x8ciu3ddmimorVnti7TZw75g5TB8ZPDF3oLZy\n 5HFVn4EHB3cf09TUzP28jGfEztYPWrQweLm90eOUmXWGsWooWXnGq2PlAk0EbKRiubmU5GBtkNM7\n vwwFP4Kn5tlkG8SpCNyCpArWro7CkZw6/9C0obRqZ6goLE89BSX7pZZzjtuNaZ38NOAsYQMAbO5t\n l5vAcpV/xcIanQsLFk73j/4FXBSq8FrDMj65z3jC4E96uu2gxrvvLopcy1nfT9ZD4TmgcEoCjs+3\n XCQUgBOaTFNBQQIADI7YJQAXl6z9VxJl1LZbY7VkuKHoTTHxP9nQvl9VJpQm4grJE3CT8Ue1TMUB\n AAUbjiG7WTJWIsfcwB4aAg0qfGb7P+S4/ZHlP/0LFcZF0hwDsj4AAAAldEVYdGRhdGU6Y3JlYXRl\n ADIwMjAtMDYtMDhUMTI6MTM6MjgrMDA6MDBEc4tKAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTA2\n LTA4VDEyOjEzOjI4KzAwOjAwNS4z9gAAAABJRU5ErkJggg=="\n alt=""\n />\n <span>æ«ç å享</span>\n </div>\n <div class="price-confirm-over-qrcode" id="price_confirm_over_qrcode"></div>\n </div>\n </div>\n <div class="price-confirm-over-option-right">\n <div class="price-confirm-over-option-right-content">\n <div class="price-confirm-over-input-email-wrap">\n <input class="price-confirm-over-input-email" id="price_confirm_over_input_email" value="[email protected]" style="color:#999;"/>\n <div class="price-confirm-over-option-error" id="price_confirm_over_option_error"></div>\n </div>\n <div class="price-confirm-over-option-normal price-confirm-over-input-email-send" id="price_confirm_over_option_send_email">åéè³å®¢æ·é®ç®±</div>\n <a href="https://user.smm.cn/price_confirm" class="price-confirm-over-input-price_history" target="_blank">ä»·æ ¼ç¡®è®¤ååå²è®°å½</a>\n </div>\n </div>\n </div>\n</div>\n'; 30return new String($out); 31}); 32},{"./tpl":9}],4:[function(require,module,exports){
33/*TMODJS:{"version":1,"md5":"a5a34009348c917f06ff307215870dbd"}*/ 34var template=require('./tpl');module.exports=template('price-confirm',function($data,$filename 35) { 36'use strict';var $utils=this,$helpers=$utils.$helpers,$escape=$utils.$escape,$out='';$out+='<div class="price-confirm" id="price_confirm">\n <div class="price-confirm-header">\n <div class="price-confirm-header-items">\n '; 37if($data.has_spot){ 38$out+='\n <span class="price-confirm-header-item price_confirm_header_item '; 39if($data.is_spot ){ 40$out+='price-confirm-header-item-active'; 41} 42$out+='" data-value="spot">SMMç½ä»·</span>\n '; 43} 44$out+='\n '; 45if($data.has_future){ 46$out+='\n <span class="price-confirm-header-item price_confirm_header_item '; 47if(!$data.is_spot ){ 48$out+='price-confirm-header-item-active'; 49} 50$out+='" data-value="future">æè´§ç¹ä»·</span>\n '; 51} 52$out+='\n </div>\n <img class="price-confirm-close" id="price_confirm_close" src="https://static.smm.cn/common.smm.cn/images/price-confirm/icon-close.png"/>\n </div>\n <div class="price-confirm-body-wrap" id="price_confirm_body_wrap">\n <div class="price-confirm-body-background">\n <div class="trial_modal">\n <div class="close_icon">\n <svg viewBox="64 64 896 896" focusable="false" class="" data-icon="close" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"></path></svg>\n </div>\n <div class="err_tips">è¯ç¨æéæ æ³ä½¿ç¨æ¤åè½</div>\n <button class="goto_open"><a target="_blank" href="https://www.smm.cn/services/price">请å¼éæ£å¼æå¡</a></button>\n </div>\n <div class="price-confirm-body">\n '; 53if($data.is_in_draw ){ 54$out+='\n <div class="price-confirm-body-header">\n <span class="price-confirm-body-header-bill-no">åå·ï¼'; 55$out+=$escape($data.bill_no); 56$out+='</span>\n <span class="price-confirm-body-header-print-time">æå°æ¶é´ï¼'; 57$out+=$escape($data.now); 58$out+='</span>\n <img class="price-confirm-body-header-smm-logo" src="https://static.smm.cn/common.smm.cn/images/price-confirm/price-smm-logo.png" alt="SMM">\n </div>\n '; 59} 60$out+='\n <div class="price-confirm-body-content">\n <div class="price-confirm-title">'; 61if($data.is_spot ){ 62$out+='䏿µ·æè²ç½ä»·æ ¼ç¡®è®¤å'; 63}else{ 64$out+='æè´§ç¹ä»·ç¡®è®¤å'; 65} 66$out+='\n <div class="price_history">\n <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAnxJREFUSEu1lstPE1EUh78zA7rBuNNoXJD4iIa2+IgL/wIlSAfxQcfHwgRWGqNx4cZYYGuIJrqDxIWPKRKxU0D0b9BEaYsP1MSFwegWNkpnrt7amhb6NOUu595zvnN+555zR6iwQmeebFOeaWFIJ4rtwNbc8QWEz/hqWkzPTT48/rWcGym1sS/ibl0WGRTUecCsFATgKeRes1LR1zFrYeXZVYBQxA0r4QGwQRsDzwUV93zzpblu+Zt24P1q3mIa3kGFdANHckEsiuJsMmYlCiFFgEAkfklEbgGGghcmcnXWCc9VyqDdTrR5qGGBw4CvkMtpJ3wnb/MPkIs8DgjIUMrpGgBRVeTJbSsJ2pMDoG5oiCiO5TPJArTmGeH9X1m083C0lONA78Qe/T091vOu1H7QTgzmIItNit26JllAwE6MCKpPy5J2wh3lIg9G3I8IknKsHaUzUxKwEzNaLoWMpp1wv2Svot/0RRsYSHslzasDQNfER81qf2JkWiUYiV9A5K4oppIxq6uS5rUAtH3QdqeATpS6KMHT7jMUHYLqTzrdo40AhOx4n0JGEGYkaLsfgF2+b+ydG+vKplZu1ZpBW+9ku2H4b4B5DVgEWqTJ25y83/OjEYDQuYlNKmN+B5b+B9DiZX7ufDt+aqlcMCsBtUtku+N/2uAEik8K7HTMelUKUixRHUUmGjUC8/uvCQwBusuvp5zwzZV9U1zk3DUFplOOdbSW0RC0Jw+B/whoBW6nHOtKoV3RNa2n0QqdHDj5eOOyuX5YD8fC5lzVaPWMiurZlRgV9Qy7aoCyw04b5sb10+xIavS4zke2pg9OHrKmT2YesqaPfmEhG/Hb8huY+IdcN8M2KgAAAABJRU5ErkJggg==">\n <a href="https://user.smm.cn/price_confirm" target="_blank">\n ä»·æ ¼ç¡®è®¤ååå²è®°å½\n </a>\n </div>\n </div>\n <div class="price-confirm-date">\n '; 67if($data.is_spot ){ 68$out+='\n <label class="price-confirm-date-label" for="" class="">'; 69if(!$data.is_in_draw){ 70$out+='*'; 71} 72$out+='ä»·æ ¼æ¥æï¼</label>\n '; 73if($data.is_in_draw ){ 74$out+='\n <span class="price-confirm-date-value" data-ss1="is_in_draw">'; 75$out+=$escape($data.date); 76$out+='</span>\n '; 77}else{ 78$out+='\n '; 79if($data.has_permission ){ 80$out+='\n <span class="price-confirm-date-input" id=\'date_picker\'>\n '; 81}else{ 82$out+='\n <span class="price-confirm-date-input no-permission" >\n '; 83} 84$out+='\n <input class="date-picker-input" id=\'date_picker_input\' type=\'text\' readonly/>\n <i class="date-picker"></i>\n </span>\n <div class="price-confirm-auth-tip">\n <div class="price-confirm-auth-tip-content">\n <span>éæ©æ¥æé</span>\n <a href="https://hq.smm.cn/service" target="_blank">å¼éåå²ä»·æ ¼æå¡</a>\n </div>\n </div>\n '; 85} 86$out+='\n '; 87}else{ 88$out+='\n <label class="price-confirm-date-label" for="" style="color: #333;">ä»·æ ¼æ¥æï¼</label>\n <span class="price-confirm-date-value">'; 89$out+=$escape($data.date); 90$out+='</span>\n '; 91} 92$out+='\n </div>\n <div class="price-confirm-table">\n <div class="table-row">\n <div class="table-line">'; 93if(!$data.is_in_draw){ 94$out+='*'; 95}
96$out+='ååï¼</div>\n <div class="table-line">'; 97if(!$data.is_in_draw && $data.is_spot){ 98$out+='*'; 99} 100$out+='åºååä»·ï¼</div>\n <div class="table-line">'; 101if($data.is_spot ){ 102$out+='差价'; 103}else{ 104$out+='åè´´æ°´'; 105} 106$out+='ï¼</div>\n <div class="table-line">åä»·ï¼</div>\n <div class="table-line">ä»·æ ¼åä½ï¼</div>\n </div>\n <div class="table-row">\n '; 107if($data.is_spot ){ 108$out+='\n <div class="table-line">'; 109$out+=$escape($data.constract); 110$out+='</div>\n <div class="table-line">\n '; 111if($data.is_in_draw){ 112$out+='\n <span id="price_confirm_base_price">'; 113$out+=$escape($data.base_price); 114$out+='</span>\n '; 115}else{ 116$out+='\n <span id="price_confirm_base_price">åï¼'; 117$out+=$escape($data.base_price); 118$out+='</span>\n <div class="option-arrow option_arrow" id="option_arrow">\n <ul class="unit-price-select" id="unit_price_select">\n <li class="unit_price_item" data-key="low">æä½ä»·(åå¼)ï¼<span>'; 119$out+=$escape($data.low); 120$out+='</span></li>\n <li class="unit_price_item" data-key="high">æé«ä»·(åå¼)ï¼<span>'; 121$out+=$escape($data.high); 122$out+='</span></li>\n <li class="unit_price_item" data-key="average">å¹³åä»·(åå¼)ï¼<span>'; 123$out+=$escape($data.average); 124$out+='</span></li>\n </ul>\n </div>\n '; 125} 126$out+='\n </div>\n '; 127}else{ 128$out+='\n <div class="table-line">\n '; 129if($data.is_in_draw){ 130$out+='\n '; 131$out+=$escape($data.constract); 132$out+='\n '; 133}else{ 134$out+='\n <input class="table-line-input" type="text" placeholder="请è¾å ¥åå" id="price_confirm_constract_input" value="'; 135$out+=$escape($data.constract); 136$out+='">\n '; 137} 138$out+='\n </div>\n <div class="table-line">\n '; 139if($data.is_in_draw){ 140$out+='\n <span id="price_confirm_base_price">'; 141$out+=$escape($data.base_price); 142$out+='</span>\n '; 143}else{ 144$out+='\n <input class="table-line-input" type="text" placeholder="请è¾å ¥åºä»·" id="price_confirm_base_price_input">\n '; 145} 146$out+='\n </div>\n '; 147} 148$out+='\n <div class="table-line">\n '; 149if($data.is_spot ){ 150$out+='\n '; 151if($data.is_in_draw){ 152$out+='\n <span>'; 153$out+=$escape($data.spread); 154$out+='</span>\n '; 155}else{ 156$out+='\n <input class="table-line-input" id="price_confirm_spread" type="text" placeholder="å¦ï¼+15ã-5">\n '; 157} 158$out+='\n '; 159}else{ 160$out+='\n '; 161if($data.is_in_draw){ 162$out+='\n <span>'; 163$out+=$escape($data.spread); 164$out+='</span>\n '; 165}else{ 166$out+='\n <input class="table-line-input" id="price_confirm_spread" type="text" placeholder="å¦ï¼+15ã-5" style="display: none;">\n <span id="price_confirm_spread_text">åï¼'; 167$out+=$escape($data.spread); 168$out+='</span>\n <div class="option-arrow option_arrow" id="option_arrow">\n <ul class="unit-price-select '; 169if(!$data.is_spot){ 170$out+='unit-price-select-high'; 171} 172$out+='" id="unit_price_select">\n <li class="unit_price_item" data-key="low">æä½ä»·(åå¼)ï¼<span>'; 173$out+=$escape($data.low); 174$out+='</span></li>\n <li class="unit_price_item" data-key="high">æé«ä»·(åå¼)ï¼<span>'; 175$out+=$escape($data.high); 176$out+='</span></li>\n <li class="unit_price_item" data-key="average">å¹³åä»·(åå¼)ï¼<span>'; 177$out+=$escape($data.average); 178$out+='</span></li>\n <li class="unit_price_item unit-price-custom" data-key="custom">èªå®ä¹</li>\n </ul>\n </div>\n '; 179} 180$out+='\n '; 181} 182$out+='\n </div>\n '; 183if($data.is_in_draw){ 184$out+='\n <div class="table-line">'; 185$out+=$escape($data.settlement_price); 186$out+='</div>\n '; 187}else{ 188$out+='\n <div class="table-line grey-line">\n <input class="table-line-input" id="price_confirm_settlement_price" readonly type="text" placeholder="=åºååä»·+'; 189if($data.is_spot ){ 190$out+='差价'; 191}else{ 192$out+='åè´´æ°´'; 193} 194$out+='">\n </div>\n '; 195} 196$out+='\n <div class="table-line">'; 197$out+=$escape($data.unit); 198$out+='</div>\n </div>\n <div class="table-row">\n <div class="table-line column-short">'; 199if(!$data.is_in_draw){ 200$out+='*'; 201} 202$out+='æ°éï¼</div>\n <div class="table-line column-long">夿³¨ï¼</div>\n </div>\n <div class="table-row">\n '; 203if($data.is_in_draw){ 204$out+='\n <div class="table-line" style="vertical-align: top;">'; 205$out+=$escape($data.count); 206if($data.is_in_draw){ 207$out+=$escape($data.count_unit); 208} 209$out+='\n </div>\n <div class="table-line column-long">'; 210if($data.note != ''){ 211$out+=$escape($data.note); 212}else{ 213$out+='--'; 214} 215$out+='</div>\n '; 216}else{ 217$out+='\n <div class="table-line" style="vertical-align: top;">\n <input class="table-line-input" id="price_confirm_count" type="text" placeholder="请è¾å ¥æ°é">\n </div>\n <textarea class="table-line table-line-input table-line-textarea" id="price_confirm_note" wrap="virtual" maxlength="300" style="resize:none;" placeholder="'; 218if($data.is_spot){ 219$out+='请è¾å ¥å¤æ³¨ï¼å¦ï¼è§æ ¼ãåçãä»åºãååç¼å·ç'; 220}else{ 221$out+='请è¾å ¥å¤æ³¨ï¼å¦ï¼ç¹ä»·å约ãè§æ ¼ãåçãä»åºãååç¼å·ç'; 222} 223$out+='"></textarea>\n '; 224} 225$out+='\n </div>\n <div class="table-row">\n <div class="table-line column-whole">å计ï¼</div>\n </div>\n <div class="table-row">\n '; 226if($data.is_in_draw){ 227$out+='\n <div class="table-line column-whole">'; 228$out+=$escape($data.total); 229$out+='</div>\n '; 230}else{ 231$out+='\n <div class="table-line grey-line column-whole">\n <input class="table-line-input" id="price_confirm_total" readonly type="text" placeholder="=åä»·xæ°é">\n </div>\n '; 232} 233$out+='\n </div>\n </div>\n <div class="price-confirm-tip">\n <p class="price-confirm-tip-method">\n <span class="price-confirm-evaluate-way">ä½ä»·æ¹å¼ï¼'; 234if($data.is_spot ){ 235$out+='SMMç½ä»·ç»ç®'; 236}else{ 237$out+='æè´§ç¹ä»·'; 238} 239$out+='</span>\n <span class="price-confirm-data-error" id="price_confirm_data_error"></span>\n <span class="price-confirm-option-create-error" '; 240if($data.global_form_error ==''){ 241$out+=' style="display: none;"'; 242} 243$out+=' id="price_confirm_option_create_error">'; 244$out+=$escape($data.global_form_error); 245$out+='</span>\n </p>\n '; 246if($data.is_spot ){ 247$out+='\n <p class="price-confirm-tip-declare">\n 䏿µ·æè²ç½éå±ä»·æ ¼ç¡®è®¤åæç¤ºä»·æ ¼ï¼ç±ä¸æµ·æè²ç½å¶ä½ãåå¸ï¼å¹¶æ¥æææåæ³æçï¼æªç»ä¹¦é¢ææï¼ä»»ä½äººä¸å¾ä»¥ä»»ä½å½¢å¼ä¼ æãåå¸ãå¤å¶ï¼ä¸æµ·æè²ç½éå±ä»·æ ¼ç¡®è®¤åç±ä¸æµ·æè²ç½å®æ¹åºå ·ï¼ä¾æè²éå±ä¼ä¸ç°è´§äº¤æç»ç®æ¶ç¨ä½å®ä»·ä¾æ®ï¼è¯¥ä»·æ ¼å¯å¨ä¸æµ·æè²ç½(www.smm.cn)䏿¥è¯¢æ ¸å®ï¼ä¸æµ·æè²ç½éå±ä»·æ ¼ç¡®è®¤å并䏿æå³ç建议ï¼å®¢æ·æä½åºçä»»ä½å³çä¸ä¸æµ·æè²ç½æ å ³ã\n </p>\n '; 248} 249$out+='\n </div>\n </div>\n '; 250if($data.is_in_draw ){ 251$out+='\n '; 252if($data.is_spot){ 253$out+='\n <img class="price-confirm-body-stamp" src="https://static.smm.cn/common.smm.cn/images/price-confirm/price-smm-stamp.png" alt="SMM"/>\n '; 254} 255$out+='\n '; 256} 257$out+='\n </div>\n </div>\n </div>\n <div class="price-confirm-option">\n <div class="price-confirm-option-create '; 258if($data.global_form_error !=''){ 259$out+='disable'; 260} 261$out+='" id="price_confirm_option_create">çæç¡®è®¤å</div>\n </div>\n <div class="price-confirm-background"></div>\n</div>'; 262return new String($out); 263}); 264},{"./tpl":9}],5:[function(require,module,exports){ 265"use strict"; 266exports.__esModule = true; 267var PriceConfirmationHelper = /** @class */ (function () { 268 function PriceConfirmationHelper() { 269 } 270 PriceConfirmationHelper._getCookie = function (name) { 271 var arr, reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); 272 if ((arr = document.cookie.match(reg))) 273 return unescape(arr[2]); 274 else 275 return null; 276 }; 277 PriceConfirmationHelper._getRequestUrl = function (url, is_dev) { 278 return "https://" + (is_dev ? 'test' : '') + "platform.smm.cn/spotcenter" + url; 279 }; 280 PriceConfirmationHelper._getSiteUrl = function (url, is_dev) { 281 return "https://" + (is_dev ? 'test' : '') + url; 282 }; 283 PriceConfirmationHelper._formatDate = function (timestamp) { 284 return new Date(timestamp); 285 }; 286 PriceConfirmationHelper.isNumber = function (val) { 287 var regPos = /^\+{0,1}\d+(\.\d+)?$/; //éè´æµ®ç¹æ° 288 var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //è´æµ®ç¹æ° 289 if (regPos.test(val) || regNeg.test(val)) { 290 return true; 291 } 292 else { 293 return false;
294 } 295 }; 296 PriceConfirmationHelper.isEmpty = function (obj) { 297 var flag = true; 298 for (var item in obj) { 299 if (obj[item] != null) { 300 flag = false; 301 } 302 } 303 return flag; 304 }; 305 PriceConfirmationHelper.SMM_KEY = 'SMM_auth_token'; 306 return PriceConfirmationHelper; 307}()); 308exports.PriceConfirmationHelper = PriceConfirmationHelper; 309 310},{}],6:[function(require,module,exports){ 311"use strict"; 312exports.__esModule = true; 313var template = require('../tpl.js'); 314var Notice = /** @class */ (function () { 315 function Notice() { 316 } 317 Notice.success = function (msg, append_to) { 318 if (append_to === void 0) { append_to = document.body; } 319 var notice = document.createElement('div'); 320 notice.innerHTML = template('notice', { 321 msg: msg 322 }); 323 $(append_to).append(notice); 324 window.setTimeout(function () { 325 $(notice).remove(); 326 }, 2000); 327 }; 328 return Notice; 329}()); 330exports.Notice = Notice; 331 332},{"../tpl.js":9}],7:[function(require,module,exports){ 333"use strict"; 334var __assign = (this && this.__assign) || Object.assign || function(t) { 335 for (var s, i = 1, n = arguments.length; i < n; i++) { 336 s = arguments[i]; 337 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 338 t[p] = s[p]; 339 } 340 return t; 341}; 342exports.__esModule = true; 343var template = require('../tpl.js'); 344var helper_1 = require("./helper"); 345var notion_1 = require("./notion"); 346var QRCode = require("@keeex/qrcodejs-kx"); 347require('../../lib/jquery-migrate-1.2.1.min'); 348require('../../lib/jquery.jqprint-0.3'); 349var PriceConfirmationOver = /** @class */ (function () { 350 function PriceConfirmationOver(bill_info, opt) { 351 if (opt === void 0) { opt = {}; } 352 this.opt = opt; 353 this.ticker = undefined; 354 this.dom = { 355 price_confirm_over: '#price_confirm_over', 356 price_confirm_over_close: '#price_confirm_over_close', 357 price_confirm_over_option_download: '#price_confirm_over_option_download', 358 price_confirm_over_option_print: '#price_confirm_over_option_print', 359 price_confirm_over_option_send_email: '#price_confirm_over_option_send_email', 360 price_confirm_over_input_email: '#price_confirm_over_input_email', 361 price_confirm_over_option_error: '#price_confirm_over_option_error', 362 price_confirmation_pic: '.price_confirmation_pic', 363 price_confirm_over_qrcode: '#price_confirm_over_qrcode' 364 }; 365 this.receiver = ''; 366 this.data = { 367 pic_url: bill_info.pic_url || '', 368 bill_no: bill_info.bill_no || '', 369 bill_id: bill_info.bill_id || '', 370 bill_type: bill_info.bill_type || '1' 371 }; 372 this.opt = __assign({}, opt, { is_dev: opt.is_dev || false, over_page: opt.over_page || '/price-confirmation', create_method: opt.create_method || 'modal' }); 373 } 374 PriceConfirmationOver.prototype._init = function () { 375 document.getElementById('price-confirm-over').innerHTML = template('price-confirm-over', this.data); 376 }; 377 PriceConfirmationOver.prototype._bind = function () { 378 var _this_1 = this; 379 var _this = this; 380 $(this.dom.price_confirm_over_option_download).on('click', function () { 381 _this_1._download(_this_1.data.bill_no); 382 }); 383 $(this.dom.price_confirm_over_option_print).on('click', function () { 384 _this_1._print(); 385 }); 386 $(this.dom.price_confirm_over_close).on('click', function () { 387 _this._close(); 388 }); 389 $(this.dom.price_confirm_over_input_email) 390 .on('focus', function (e) { 391 if (e.target.value == '[email protected]') { 392 $(this).css('color', '#333').val(''); 393 } 394 }) 395 .on('blur', function (e) { 396 if (e.target.value == '') { 397 $(this).val('[email protected]').css('color', '#999'); 398 } 399 }) 400 .on('change', function (e) { 401 var email = e.target.value.trim(); 402 if (!_this._check_email(email)) 403 return; 404 _this.receiver = email; 405 }); 406 $(this.dom.price_confirm_over_option_send_email).on('click', function () { 407 if (!_this_1._check_email(_this_1.receiver)) 408 return; 409 _this_1._send_email(_this_1.receiver); 410 }); 411 }; 412 PriceConfirmationOver.prototype._notice = function (text, is_show) { 413 var error_box = $(this.dom.price_confirm_over_option_error); 414 if (is_show) { 415 error_box.show(); 416 error_box.text(text); 417 } 418 else { 419 error_box.hide(); 420 error_box.text(''); 421 } 422 }; 423 PriceConfirmationOver.prototype._download = function (name) { 424 if (!!window.ActiveXObject || 'ActiveXObject' in window) { 425 // 䏿¯ædownloadæ¶ï¼å¯æç¤ºç¨æ·å³é®ä¸è½½ 426 alert('䏿¯æèªå¨ä¸è½½ï¼è¯·ä½¿ç¨å³é®ä¸è½½'); 427 return; 428 } 429 var image = new Image(); 430 image.setAttribute('crossOrigin', 'anonymous'); 431 image.onload = function () { 432 var canvas = document.createElement('canvas'); 433 canvas.width = image.width; 434 canvas.height = image.height; 435 var context = canvas.getContext('2d'); 436 context.drawImage(image, 0, 0, image.width, image.height); 437 var url = canvas.toDataURL('image/png'); 438 var a = document.createElement('a'); 439 var event = new MouseEvent('click');
440 a.download = name || 'download'; 441 a.href = url; 442 a.dispatchEvent(event); 443 }; 444 image.src = this.data.pic_url; 445 }; 446 PriceConfirmationOver.prototype._print = function () { 447 ; 448 $(this.dom.price_confirmation_pic).jqprint(); 449 }; 450 PriceConfirmationOver.prototype._send_email = function (email) { 451 var _this_1 = this; 452 if (this.ticker != undefined) 453 return; 454 var sendData = new FormData(); 455 sendData.append('auth_token', helper_1.PriceConfirmationHelper._getCookie(helper_1.PriceConfirmationHelper.SMM_KEY) || ''); 456 sendData.append('bill_id', String(this.data.bill_id)); 457 sendData.append('bill_type', this.data.bill_type); 458 sendData.append('receiver_email', email); 459 $.ajax(helper_1.PriceConfirmationHelper._getRequestUrl('/v3/confirm_bill/send_confirm_bill_to_email', this.opt.is_dev), { 460 method: 'POST', 461 data: sendData, 462 contentType: false, 463 processData: false, 464 success: function (res) { 465 if (res.code != 0) { 466 _this_1._notice('*é®ä»¶åé失败ï¼è¯·éè¯', true); 467 } 468 else { 469 notion_1.Notice.success('é®ä»¶å·²åéï¼', $(_this_1.dom.price_confirm_over)[0]); 470 _this_1._set_captcha_btn_state(60); 471 } 472 }, 473 error: function (err) { 474 _this_1._notice('*é®ä»¶åé失败ï¼è¯·éè¯', true); 475 } 476 }); 477 }; 478 PriceConfirmationOver.prototype._check_email = function (email) { 479 if (email == '' || !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(email)) { 480 this._notice('*请è¾å ¥æ£ç¡®çé®ç®±', true); 481 return false; 482 } 483 this._notice('', false); 484 return true; 485 }; 486 PriceConfirmationOver.prototype._set_captcha_btn_state = function (t) { 487 var _this_1 = this; 488 var time = t; 489 var btn_captcha = $(this.dom.price_confirm_over_option_send_email); 490 btn_captcha.addClass('disabled'); 491 btn_captcha.text(time + 'séæ°åé'); 492 this.ticker = window.setInterval(function () { 493 time--; 494 if (time >= 1) { 495 btn_captcha.text(time + 'séæ°åé'); 496 } 497 else { 498 btn_captcha.removeClass('disabled'); 499 btn_captcha.text('åéè³å®¢æ·é®ç®±'); 500 window.clearInterval(_this_1.ticker); 501 _this_1.ticker = undefined; 502 } 503 }, 1000); 504 }; 505 PriceConfirmationOver.prototype._close = function () { 506 $(this.dom.price_confirm_over).remove(); 507 this.on_close && this.on_close(); 508 }; 509 PriceConfirmationOver.prototype._create = function () { 510 this._init(); 511 this._bind(); 512 new QRCode($(this.dom.price_confirm_over_qrcode)[0], { 513 text: this.data.pic_url, 514 typeNumber: 5, 515 width: 100, 516 height: 100 517 }); 518 this.on_complete && this.on_complete(); 519 }; 520 PriceConfirmationOver.prototype.close = function () { 521 this._close(); 522 }; 523 PriceConfirmationOver.prototype.create = function () { 524 var _this_1 = this; 525 var _this = this; 526 if (this.opt.create_method == 'modal') { 527 var container_1 = $('<div id="price-confirm-over"></div>').css({ 528 visibility: 'hidden' 529 }); 530 $('body').append(container_1[0]); 531 this.on_close = function () { 532 $(container_1[0]).remove(); 533 $('#price-confirm-over-whiteboard').remove(); 534 document.body.style.overflow = 'auto'; 535 _this_1.opt.on_close && _this_1.opt.on_close(); 536 }; 537 this.on_complete = function () { 538 container_1.css({ 539 position: 'fixed', 540 top: '0', 541 bottom: '0', 542 left: '0', 543 right: '0', 544 margin: 'auto', 545 zIndex: '421', 546 width: '800px', 547 height: '660px', 548 overflowX: 'hidden', 549 visibility: 'visible' 550 }); 551 var mask = $("<div class=\"whiteboard\" id=\"price-confirm-over-whiteboard\"></div>").css({ 552 backgroundColor: '#000', 553 opacity: '0.5', 554 pointerEvents: 'auto' 555 })[0]; 556 $('body').append(mask); 557 $('#price-confirm-over-whiteboard').on('click', function (e) { 558 _this.on_close && _this.on_close(); 559 e.preventDefault(); 560 e.stopPropagation(); 561 }); 562 document.body.style.overflow = 'hidden'; 563 _this_1.opt.on_complete && _this_1.opt.on_complete(); 564 }; 565 this._create(); 566 } 567 else {
568 var container_2 = $('<div id="price-confirm-over"></div>').css({ 569 visibility: 'hidden' 570 }); 571 $('body').append(container_2[0]); 572 this.on_close = function () { 573 $(container_2[0]).remove(); 574 document.body.style.overflow = 'auto'; 575 _this_1.opt.on_close && _this_1.opt.on_close(); 576 }; 577 this.on_complete = function () { 578 container_2.css({ 579 position: 'fixed', 580 top: '0', 581 bottom: '0', 582 left: '0', 583 right: '0', 584 margin: 'auto', 585 zIndex: '421', 586 width: '800px', 587 height: '660px', 588 overflowX: 'hidden', 589 visibility: 'visible' 590 }); 591 document.body.style.overflow = 'hidden'; 592 _this_1.opt.on_complete && _this_1.opt.on_complete(); 593 }; 594 this._create(); 595 } 596 }; 597 return PriceConfirmationOver; 598}()); 599exports.PriceConfirmationOver = PriceConfirmationOver; 600 601},{"../../lib/jquery-migrate-1.2.1.min":11,"../../lib/jquery.jqprint-0.3":12,"../tpl.js":9,"./helper":5,"./notion":6,"@keeex/qrcodejs-kx":13}],8:[function(require,module,exports){ 602"use strict"; 603var __assign = (this && this.__assign) || Object.assign || function(t) { 604 for (var s, i = 1, n = arguments.length; i < n; i++) { 605 s = arguments[i]; 606 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 607 t[p] = s[p]; 608 } 609 return t; 610}; 611exports.__esModule = true; 612var template = require("../tpl.js"); 613require("../../lib/canvas-toBlob.js"); 614var html2canvas = require("html2canvas"); 615var helper_1 = require("./helper"); 616var price_confirm_over_1 = require("./price-confirm-over"); 617var PriceType; 618(function (PriceType) { 619 PriceType["Spot"] = "spot"; 620 PriceType["Future"] = "future"; 621})(PriceType || (PriceType = {})); 622var permissionType; 623(function (permissionType) { 624 permissionType[permissionType["no_auth"] = -1] = "no_auth"; 625 permissionType[permissionType["no_auth0"] = 0] = "no_auth0"; 626 permissionType[permissionType["normal"] = 1] = "normal"; 627 permissionType[permissionType["free"] = 2] = "free"; 628 permissionType[permissionType["trial"] = 3] = "trial"; 629})(permissionType || (permissionType = {})); 630var isValid = function (v) { 631 return v === undefined || v === null ? false : true; 632}; 633var PriceConfirmation = /** @class */ (function () { 634 function PriceConfirmation(initial, initial_spot, initial_premium, opt, opt_over) { 635 if (initial_spot === void 0) { initial_spot = {}; } 636 if (initial_premium === void 0) { initial_premium = {}; } 637 if (opt === void 0) { opt = {}; } 638 if (opt_over === void 0) { opt_over = {}; } 639 this.dom = { 640 //id 641 price_confirm: "#price_confirm", 642 date_picker: "#date_picker", 643 date_picker_input: "#date_picker_input", 644 price_confirm_body_wrap: "#price_confirm_body_wrap", 645 price_confirm_img: "#price_confirm_img", 646 unit_price_select: "#unit_price_select", 647 option_arrow: "#option_arrow", 648 price_confirm_close: "#price_confirm_close", 649 price_confirm_spread: "#price_confirm_spread", 650 price_confirm_note: "#price_confirm_note", 651 price_confirm_count: "#price_confirm_count", 652 price_confirm_base_price: "#price_confirm_base_price", 653 price_confirm_option_create_error: "#price_confirm_option_create_error", 654 price_confirm_option_create: "#price_confirm_option_create", 655 price_confirm_base_price_input: "#price_confirm_base_price_input", 656 price_confirm_constract_input: "#price_confirm_constract_input", 657 price_confirm_data_error: "#price_confirm_data_error", 658 price_confirm_spread_text: "#price_confirm_spread_text", 659 price_confirm_total: "#price_confirm_total", 660 price_confirm_settlement_price: "#price_confirm_settlement_price", 661 //class 662 unit_price_item: ".unit_price_item", 663 price_confirm_header_item: ".price_confirm_header_item", 664 daterangepicker: ".daterangepicker" 665 }; 666 this.type = PriceType.Spot; 667 this.has_permission = false;
668 this.permission_data = []; 669 this.has_spot_price = true; 670 this.is_origin_today = false; 671 this.global_form_error = ""; 672 this._checkingProductAuth = false; // æ°å¢éåé 673 // åå§åoption 674 this.opt = { 675 init_tab: opt.init_tab || [PriceType.Spot, PriceType.Future], 676 is_dev: opt.is_dev != undefined && opt.is_dev != null ? opt.is_dev : false, 677 is_check_date: opt.is_check_date != undefined && opt.is_check_date != null 678 ? opt.is_check_date 679 : true, 680 create_method: opt.create_method || "modal", 681 on_close: opt.on_close, 682 on_complete: opt.on_complete 683 }; 684 this.opt_over = opt_over; 685 // åå§åå¼ 686 var checkDate = function (date) { 687 return date != "Invalid date"; 688 }; 689 var sdate = moment(initial.sdate, PriceConfirmation.DATE_DEFAULT_FORMAT); 690 var edate = moment(initial.edate, PriceConfirmation.DATE_DEFAULT_FORMAT); 691 var today = moment().format(PriceConfirmation.DATE_DEFAULT_FORMAT); 692 if (checkDate(sdate) && checkDate(edate)) { 693 var sdate_stamp = sdate.format(PriceConfirmation.DATE_TIMESTAMP_FORMAT); 694 var edate_stamp = edate 695 .add(1, "days") 696 .format(PriceConfirmation.DATE_TIMESTAMP_FORMAT); 697 var today_stamp = moment().format(PriceConfirmation.DATE_TIMESTAMP_FORMAT); 698 this.is_origin_today = 699 sdate_stamp <= today_stamp && edate_stamp >= today_stamp ? true : false; 700 } 701 else { 702 this.is_origin_today = false; 703 } 704 var is_valid_date = !this.opt.is_check_date || this.is_origin_today; 705 this.initial = __assign({}, initial, { sdate: !is_valid_date ? today : checkDate(sdate) ? initial.sdate : "", edate: !is_valid_date ? today : checkDate(edate) ? initial.edate : "" }); 706 // æææ¥ && ææå¼ 707 this.initial_spot = { 708 low: is_valid_date && isValid(initial_spot.low) ? initial_spot.low : null, 709 high: is_valid_date && isValid(initial_spot.high) ? initial_spot.high : null, 710 average: is_valid_date && isValid(initial_spot.average) 711 ? initial_spot.average 712 : null, 713 count: initial_spot.count || null, 714 spread: initial_spot.spread || null 715 }; 716 this.initial_premium = { 717 low: is_valid_date && isValid(initial_premium.low) 718 ? initial_premium.low 719 : null, 720 high: is_valid_date && isValid(initial_premium.high) 721 ? initial_premium.high 722 : null, 723 average: is_valid_date && isValid(initial_premium.average) 724 ? initial_premium.average 725 : null, 726 count: initial_premium.count || null, 727 spread: initial_premium.spread || null 728 }; 729 this.type = this.opt.init_tab[0]; 730 } 731 // ********************************* æ¨¡åæ¹æ³ ********************************* 732 // æé {åå§å¼, 计ç®å¼} çåå¼ 733 PriceConfirmation.prototype._initData = function (data) { 734 if (data === void 0) { data = {}; } 735 var initial = { 736 constract: this.initial.constract, 737 constract_id: this.initial.constract_id, 738 unit: this.initial.unit, 739 start_date: this.initial.sdate, 740 end_date: this.initial.edate 741 }; 742 var initial_type = this.type == PriceType.Spot 743 ? __assign({}, this.initial_spot, this.initial) : __assign({}, this.initial_premium, this.initial); 744 var common = { 745 count: "", 746 note: "", 747 settlement_price: "", 748 total: "", 749 date: "", 750 bill_id: null, 751 bill_no: null 752 }; 753 var special = this.type == PriceType.Spot 754 ? { 755 base_price: !isValid(this.initial_spot.average) 756 ? null 757 : this.initial_spot.average != 0 758 ? this.initial_spot.average 759 : "", 760 spread: "" 761 } 762 : { 763 base_price: "", 764 spread: !isValid(this.initial_premium.average) 765 ? null 766 : this.initial_premium.average != 0 767 ? this.initial_premium.average 768 : "" 769 }; 770 this.data = __assign({}, initial, initial_type, common, special, data); 771 }; 772 PriceConfirmation.prototype._init = function (is_in_draw) { 773 if (is_in_draw === void 0) { is_in_draw = false; } 774 var sdate = moment(this.data.start_date).format(PriceConfirmation.DATE_SHOW_FORMAT); 775 var edate = moment(this.data.end_date).format(PriceConfirmation.DATE_SHOW_FORMAT); 776 var common = { 777 count_unit: this.data.unit.split("/").length > 1 778 ? this.data.unit.split("/")[1] 779 : "", 780 is_in_draw: is_in_draw, 781 now: moment().format(PriceConfirmation.DATE_TIME_FORMAT), 782 has_future: this.opt.init_tab.some(function (v) { return v == PriceType.Future; }), 783 has_spot: this.opt.init_tab.some(function (v) { return v == PriceType.Spot; }), 784 date: sdate != edate ? sdate + " ~ " + edate : sdate, 785 global_form_error: this.global_form_error 786 };
787 if (this.type == PriceType.Spot) { 788 document.getElementById("price-confirm").innerHTML = template("price-confirm", __assign({}, this.data, common, { low: this._toRender(this.data.low), high: this._toRender(this.data.high), average: this._toRender(this.data.average), base_price: this._toRender(isValid(this.data.base_price) ? Number(this.data.base_price) : null), spread: this.data.spread === "" 789 ? PriceConfirmation.INVALID_VALUE 790 : this._toRender(isValid(this.data.spread) ? Number(this.data.spread) : null), is_spot: true, has_permission: this.has_permission, today: moment().format(PriceConfirmation.DATE_SHOW_FORMAT) })); 791 } 792 else if (this.type == PriceType.Future) { 793 document.getElementById("price-confirm").innerHTML = template("price-confirm", __assign({}, this.data, common, { low: this._toRender(this.data.low), high: this._toRender(this.data.high), average: this._toRender(this.data.average), base_price: this.data.base_price === "" 794 ? PriceConfirmation.INVALID_VALUE // future 空å¼ä¹æ¾ç¤º INVALID_VALUE 795 : this._toRender(isValid(this.data.base_price) 796 ? Number(this.data.base_price) 797 : null), spread: this._toRender(isValid(this.data.spread) ? Number(this.data.spread) : null), is_spot: false, today: moment().format(PriceConfirmation.DATE_SHOW_FORMAT) })); 798 } 799 }; 800 PriceConfirmation.prototype._bind = function () { 801 var _this_1 = this; 802 var _this = this; 803 $(".trial_modal .close_icon").on("click", function () { 804 $(".trial_modal").css({ display: "none" }); 805 }); 806 var checkCount = function () { 807 var is_empty = _this._checkEmptyWithEffect($(_this.dom.price_confirm_count), _this.data.count != ""); 808 var is_right = _this._checkValueWithEffect("count", (function () { 809 var v = _this_1.data.count; 810 if (v == "") 811 return true; 812 if (new RegExp(/^\d+(\.\d+)?$/g).test(v)) { 813 return true; 814 } 815 return false; 816 })()); 817 return is_empty && is_right; 818 }; 819 var checkBasePrice = function () { 820 var is_right = _this._checkValueWithEffect("base_price", (function () { 821 var v = _this_1.data.base_price; 822 if (isValid(v) && v == "") 823 return true; 824 if (!new RegExp(/\D+/g).test(v)) { 825 return true; 826 } 827 return false; 828 })()); 829 return is_right; 830 }; 831 var checkConstract = function () { 832 return _this._checkEmptyWithEffect($(_this.dom.price_confirm_constract_input), _this.data.constract != ""); 833 }; 834 var checkSpread = function () { 835 return _this._checkValueWithEffect("spread", (function () { 836 var v = _this_1.data.spread; 837 if (isValid(v) && v == "") 838 return true; 839 if (helper_1.PriceConfirmationHelper.isNumber(v)) { 840 return true; 841 } 842 return false; 843 })()); 844 }; 845 $(this.dom.price_confirm_close).on("click", function () { 846 _this._close(); 847 }); 848 $(this.dom.price_confirm_header_item).on("mouseenter", function () { 849 var type = $(this).data("value"); 850 if (type == PriceType.Spot || type == PriceType.Future) { 851 if (type != _this.type) { 852 _this._changeType(type); 853 } 854 } 855 }); 856 $(this.dom.price_confirm_spread) 857 .on("change", function (e) { 858 var v = e.target.value.trim(); 859 _this.data.spread = v; 860 }) 861 .on("blur", function (e) { 862 var settlement_price = PriceConfirmation.INVALID_VALUE; 863 if (checkSpread()) { 864 _this._calcFinalData(); 865 settlement_price = String(_this.data.settlement_price); 866 } 867 $(_this.dom.price_confirm_settlement_price).val(settlement_price); 868 }); 869 $(this.dom.price_confirm_count) 870 .on("change", function (e) { 871 var v = e.target.value.trim(); 872 _this.data.count = v; 873 }) 874 .on("blur", function () { 875 var total = PriceConfirmation.INVALID_VALUE; 876 if (checkCount()) { 877 _this._calcFinalData(); 878 total = _this 879 ._floatNum(_this.data.total, _this.data.point_precision || 2) 880 .toString(); 881 } 882 $(_this.dom.price_confirm_total).val(total); 883 }); 884 $(this.dom.price_confirm_note) 885 .on("change", function (e) { 886 var v = e.target.value.trim(); 887 _this.data.note = v; 888 }) 889 .on("input", function () { 890 this.style.height = "auto"; 891 this.style.height = this.scrollHeight + "px"; 892 }); 893 // ä»·æ ¼éæ©æ¡ 894 $(this.dom.price_confirm).on("click", function (e) { 895 if ($(e.target).closest(_this.dom.option_arrow).length == 0) { 896 $(_this.dom.option_arrow).hasClass("option-arrow-active") && 897 $(_this.dom.option_arrow).removeClass("option-arrow-active"); 898 $(_this.dom.unit_price_select).hide(); 899 } 900 }); 901 $(this.dom.option_arrow).on("click", function () { 902 $(this).hasClass("option-arrow-active") 903 ? $(this).removeClass("option-arrow-active") 904 : $(this).addClass("option-arrow-active"); 905 $(_this.dom.unit_price_select).toggle(); 906 }); 907 $(this.dom.unit_price_select) 908 .find(_this.dom.unit_price_item) 909 .on("click", function (e) { 910 var key = $(this).data("key"); 911 if (key == "low" || key == "high" || key == "average") { 912 var value = _this.data[key]; 913 var label_map = { 914 low: "ä½", 915 high: "é«", 916 average: "å" 917 }; 918 if (_this.type == PriceType.Spot) { 919 _this.data.base_price = value; 920 $(_this.dom.price_confirm_base_price).text(label_map[key] + "\uFF1A" + _this._toRender(value)); 921 } 922 else { 923 _this.data.spread = String(value); 924 $(_this.dom.price_confirm_spread_text).show(); 925 $(_this.dom.price_confirm_spread).hide(); 926 $(_this.dom.price_confirm_spread_text).text(label_map[key] + "\uFF1A" + _this._toRender(value)); 927 } 928 } 929 else if (key == "custom") { 930 $(_this.dom.price_confirm_spread_text).hide(); 931 $(_this.dom.price_confirm_spread).show(); 932 } 933 }); 934 // spot/future
935 if (this.type == PriceType.Spot) { 936 var date_pickerEvent_1 = $(_this.dom.date_picker).daterangepicker({ 937 startDate: moment().subtract(30, "days"), 938 endDate: new Date(), 939 autoApply: true, 940 linkedCalendars: false, 941 minDate: moment() 942 .year(moment().year() - 3) 943 .month(0) 944 .date(1), 945 maxDate: new Date(), 946 locale: { 947 format: "YYYY-MM-DD", 948 separator: " - ", 949 daysOfWeek: ["æ¥", "ä¸", "äº", "ä¸", "å", "äº", "å "], 950 monthNames: [ 951 "䏿", 952 "äºæ", 953 "䏿", 954 "åæ", 955 "äºæ", 956 "å æ", 957 "䏿", 958 "å «æ", 959 "乿", 960 "åæ", 961 "å䏿", 962 "åäºæ", 963 ] 964 } 965 }); 966 $(_this.dom.date_picker_input).val(_this.data.start_date == _this.data.end_date 967 ? _this.data.start_date 968 : _this.data.start_date + " - " + _this.data.end_date); 969 $(".price-confirm-date-input").on("click", function () { 970 if (_this.permission_data[0].permission_state === permissionType.trial) { 971 // è¯ç¨æééèæ¥æéæ©å¨ å¼¹åºå»å¼éå¼¹çª 972 $(".trial_modal").css({ display: "block" }); 973 date_pickerEvent_1.data("daterangepicker").hide(); 974 } 975 }); 976 date_pickerEvent_1.on("apply.daterangepicker", function (ev, picker) { 977 var start_date = picker.startDate.format(PriceConfirmation.DATE_DEFAULT_FORMAT); 978 var end_date = picker.endDate.format(PriceConfirmation.DATE_DEFAULT_FORMAT); 979 _this.data.start_date = start_date; 980 _this.data.end_date = end_date; 981 $(_this.dom.date_picker_input).val(start_date + " - " + end_date); 982 _this._queryConstractData(_this.data.constract_id, start_date, end_date, function () { 983 var base_price_options = { 984 low: _this.data.low, 985 high: _this.data.high, 986 average: _this.data.average 987 }; 988 for (var key in base_price_options) { 989 $(_this.dom.unit_price_item + "[data-key=" + key + "]") 990 .find("span") 991 .text(_this._toRender(base_price_options[key])); 992 $(_this.dom.price_confirm_base_price).text("\u5747\uFF1A" + _this._toRender(isValid(_this.data.base_price) 993 ? Number(_this.data.base_price) 994 : null)); 995 } 996 }); 997 }); 998 $(this.dom.price_confirm_option_create).on("click", function (e) { 999 $(".price_history").hide(); 1000 if (_this.global_form_error != "") 1001 return; 1002 if (!(checkCount() && checkSpread())) 1003 return; 1004 if (!_this.has_spot_price) { 1005 _this._notice($(_this.dom.price_confirm_data_error), "彿¥æ æ°æ®ï¼æä¸æ¯æçæç¡®è®¤å", true); 1006 return; 1007 } 1008 else if (!isValid(_this.data.base_price)) { 1009 _this._notice($(_this.dom.price_confirm_data_error), "æ æçåºååä»·", true); 1010 return; 1011 } 1012 else { 1013 _this._notice($(_this.dom.price_confirm_data_error), "", false); 1014 } 1015 _this._calcFinalData(); 1016 _this._checkProductAuth(function () { 1017 _this._init(true); 1018 _this._createCanvas(10, function (canvas) { 1019 canvas.toBlob(function (blob) { 1020 if (typeof File == "object") { 1021 _this._uploadConfirmation(blob, function () { 1022 _this._close(); 1023 }, String(_this.data.bill_no)); 1024 } 1025 else { 1026 var files = new File([blob], String(_this.data.bill_no)); 1027 _this._uploadConfirmation(files, function () { 1028 _this._close(); 1029 }); 1030 } 1031 }, "image/png"); 1032 }); 1033 }); 1034 }); 1035 }
1036 else if (this.type == PriceType.Future) { 1037 $(this.dom.price_confirm_base_price_input) 1038 .on("change", function (e) { 1039 var v = e.target.value.trim(); 1040 _this.data.base_price = v; 1041 }) 1042 .on("blur", function () { 1043 var settlement_price = PriceConfirmation.INVALID_VALUE; 1044 if (checkBasePrice()) { 1045 _this._calcFinalData(); 1046 settlement_price = String(_this.data.settlement_price); 1047 } 1048 $(_this.dom.price_confirm_settlement_price).val(settlement_price); 1049 }); 1050 $(this.dom.price_confirm_constract_input) 1051 .on("change", function (e) { 1052 var v = e.target.value.trim(); 1053 _this.data.constract = v; 1054 }) 1055 .on("blur", function () { 1056 checkConstract(); 1057 }); 1058 $(this.dom.price_confirm_option_create).on("click", function (e) { 1059 if (_this.global_form_error != "") 1060 return; 1061 if (!(checkBasePrice() && 1062 checkCount() && 1063 checkConstract() && 1064 checkSpread())) 1065 return; 1066 _this._calcFinalData(); 1067 _this._checkProductAuth(function () { 1068 _this._init(true); 1069 _this._createCanvas(-10, function (canvas) { 1070 canvas.toBlob(function (blob) { 1071 if (typeof File == "object") { 1072 _this._uploadConfirmation(blob, function () { 1073 _this._close(); 1074 }, String(_this.data.bill_no)); 1075 } 1076 else { 1077 var files = new File([blob], String(_this.data.bill_no)); 1078 _this._uploadConfirmation(files, function () { 1079 _this._close(); 1080 }); 1081 } 1082 }); 1083 }); 1084 }); 1085 }); 1086 } 1087 }; 1088 PriceConfirmation.prototype._bindBase = function () { 1089 var _this = this; 1090 $(this.dom.price_confirm_close).on("click", function () { 1091 _this._close(); 1092 }); 1093 }; 1094 PriceConfirmation.prototype._changeType = function (type) { 1095 this.type = type; 1096 this._initData({ 1097 bill_id: this.data.bill_id, 1098 bill_no: this.data.bill_no 1099 }); 1100 this._init(); 1101 this._bind(); 1102 }; 1103 // æ¥è¯¢æé 1104 /** 1105 * 没æéæ æ³æ´æ¹æ¥æ 1106 * è¯ç¨æé ç¹å»æ¥ææç¤ºå¼¹çªå»å¼é 1107 */ 1108 PriceConfirmation.prototype._queryAuth = function (constract_id, next) { 1109 var _this_1 = this; 1110 var _this = this; 1111 var url = helper_1.PriceConfirmationHelper._getRequestUrl("/v3/permission_check2?check_ids=" + constract_id + "&id_type=product&auth_token=" + (helper_1.PriceConfirmationHelper._getCookie(helper_1.PriceConfirmationHelper.SMM_KEY) || 1112 ""), this.opt.is_dev); 1113 $.ajax(url, { 1114 method: "GET", 1115 success: function (res) { 1116 if (res.code == 0) { 1117 if (res.data.length != 0) { 1118 var data = res.data; 1119 // æ æéç¦æ¢éæ© -1 0 1120 if (data[0].permission_state == permissionType.no_auth || 1121 data[0].permission_state == permissionType.no_auth0) { 1122 _this.has_permission = false; 1123 } 1124 else { 1125 _this.has_permission = true; 1126 } 1127 // ä¿åå ·ä½çæé ,ç¨ä½å¤ææ¯å¦å±ç¤ºå¼¹çª 1128 _this.permission_data = data; 1129 } 1130 } 1131 }, 1132 error: function (err) {
1133 _this_1._notice($(_this_1.dom.price_confirm_option_create_error), "*ç½ç»é误", true); 1134 }, 1135 complete: function () { 1136 next && next(); 1137 } 1138 }); 1139 }; 1140 PriceConfirmation.prototype._close = function () { 1141 $(this.dom.price_confirm).remove(); 1142 $(this.dom.daterangepicker).remove(); 1143 this.on_close && this.on_close(); 1144 }; 1145 PriceConfirmation.prototype._create = function () { 1146 var _this_1 = this; 1147 var init = function () { 1148 _this_1._init(); 1149 _this_1._bind(); 1150 _this_1._createConfirmation(); 1151 _this_1.on_complete && _this_1.on_complete(); 1152 }; 1153 var initWithQuery = function (sdate, edate) { 1154 _this_1._queryConstractData(_this_1.initial.constract_id, sdate, edate, function () { 1155 _this_1._init(); 1156 _this_1._bind(); 1157 _this_1._createConfirmation(); 1158 _this_1.on_complete && _this_1.on_complete(); 1159 }); 1160 }; 1161 this._queryAuth(this.initial.constract_id, function () { 1162 _this_1._initData(); 1163 if (_this_1.opt.is_check_date) { 1164 if (_this_1.is_origin_today) { 1165 init(); 1166 } 1167 else { 1168 // 䏿¯å½æ¥åä»·æ ¼ä¸ä¼è¢«ä¿¡ä»»ï¼è¯¥å±æ§ç¨ä»¥æ è¯ã 1169 // WAIT ä¼å 1170 _this_1.has_spot_price = false; 1171 // 䏿¯å½æ¥çï¼è¥ææéåæ¥è¯¢æ°æ® 1172 if (_this_1.type == PriceType.Spot && _this_1.has_permission) { 1173 initWithQuery(_this_1.initial.sdate, _this_1.initial.edate); 1174 } 1175 else { 1176 init(); 1177 } 1178 } 1179 } 1180 else { 1181 init(); 1182 } 1183 }); 1184 }; 1185 PriceConfirmation.prototype._createWithDraw = function () { 1186 var isSpot = this.type == "spot"; 1187 this._initData({ 1188 count: String((isSpot ? this.initial_spot.count : this.initial_premium.count) || 0), 1189 spread: String((isSpot ? this.initial_spot.spread : this.initial_premium.spread) || 0), 1190 base_price: String((isSpot ? this.initial_spot.average : this.initial_premium.average) || 0), 1191 note: this.initial.note, 1192 bill_no: this.initial.bill_no 1193 }); 1194 this._calcFinalData(); 1195 this._init(true); 1196 this.on_complete && this.on_complete(); 1197 }; 1198 PriceConfirmation.prototype.close = function () { 1199 this._close(); 1200 }; 1201 PriceConfirmation.prototype.create = function () { 1202 var _this_1 = this; 1203 var _this = this; 1204 if (this.opt.create_method == "modal") { 1205 var container_1 = $('<div id="price-confirm"></div>').css({ 1206 visibility: "hidden" 1207 }); 1208 $("body").append(container_1[0]); 1209 this.on_close = function () { 1210 $(container_1[0]).remove(); 1211 $("#price-confirm-whiteboard").remove(); 1212 document.body.style.overflow = "auto"; 1213 _this_1.opt.on_close && _this_1.opt.on_close(); 1214 }; 1215 this.on_complete = function () { 1216 container_1.css({ 1217 position: "fixed", 1218 top: "0", 1219 bottom: "0", 1220 left: "0", 1221 right: "0", 1222 margin: "auto", 1223 zIndex: "421", 1224 width: "800px",
1225 height: "550px", 1226 overflowX: "hidden", 1227 visibility: "visible" 1228 }); 1229 var mask = $("<div class=\"whiteboard\" id=\"price-confirm-whiteboard\"></div>").css({ 1230 backgroundColor: "#000", 1231 opacity: "0.5", 1232 pointerEvents: "auto" 1233 })[0]; 1234 $("body").append(mask); 1235 $("#price-confirm-whiteboard").on("click", function (e) { 1236 _this.on_close && _this.on_close(); 1237 e.preventDefault(); 1238 e.stopPropagation(); 1239 }); 1240 document.body.style.overflow = "hidden"; 1241 _this_1.opt.on_complete && _this_1.opt.on_complete(); 1242 }; 1243 this._create(); 1244 } 1245 else if (this.opt.create_method == "page") { 1246 var container_2 = $('<div id="price-confirm"></div>').css({ 1247 visibility: "hidden" 1248 }); 1249 $("body").append(container_2[0]); 1250 this.on_close = function () { 1251 $(container_2[0]).remove(); 1252 document.body.style.overflow = "auto"; 1253 _this_1.opt.on_close && _this_1.opt.on_close(); 1254 }; 1255 this.on_complete = function () { 1256 container_2.css({ 1257 position: "fixed", 1258 top: "0", 1259 bottom: "0", 1260 left: "0", 1261 right: "0", 1262 margin: "auto", 1263 zIndex: "421", 1264 width: "800px",
1265 height: "550px", 1266 overflowX: "hidden", 1267 visibility: "visible" 1268 }); 1269 document.body.style.overflow = "hidden"; 1270 _this_1.opt.on_complete && _this_1.opt.on_complete(); 1271 }; 1272 this._create(); 1273 } 1274 else if (this.opt.create_method == "pic") { 1275 var container_3 = $('<div id="price-confirm"></div>').css({ 1276 visibility: "hidden" 1277 }); 1278 $("body").append(container_3[0]); 1279 this.on_close = function () { 1280 $(container_3[0]).remove(); 1281 document.body.style.overflow = "auto"; 1282 _this_1.opt.on_close && _this_1.opt.on_close(); 1283 }; 1284 this.on_complete = function () { 1285 container_3.css({ 1286 position: "fixed", 1287 top: "0", 1288 bottom: "0", 1289 left: "0", 1290 right: "0", 1291 margin: "auto", 1292 zIndex: "421", 1293 width: "800px",
1294 height: "550px", 1295 overflowX: "hidden", 1296 visibility: "visible" 1297 }); 1298 document.body.style.overflow = "hidden"; 1299 _this_1.opt.on_complete && _this_1.opt.on_complete(); 1300 }; 1301 this._createWithDraw(); 1302 } 1303 }; 1304 PriceConfirmation.prototype._floatNum = function (num, precision) { 1305 if (precision === void 0) { precision = 2; } 1306 return Number(new Intl.NumberFormat("en", { 1307 useGrouping: false, 1308 minimumFractionDigits: 0, 1309 maximumFractionDigits: precision 1310 }).format(Number(num))); 1311 }; 1312 // ********************************* è¡¨åæ¹æ³ ********************************* 1313 PriceConfirmation.prototype._toRender = function (num) { 1314 return num === null || num === undefined ? "-" : num; 1315 }; 1316 PriceConfirmation.prototype._notice = function (error_box, text, is_show) { 1317 if (is_show) { 1318 error_box.show(); 1319 error_box.text(text); 1320 } 1321 else { 1322 error_box.hide(); 1323 error_box.text(""); 1324 } 1325 }; 1326 PriceConfirmation.prototype._calcFinalData = function () { 1327 //base_price ãspread å¯è½ä¸º null 1328 if (isValid(this.data.base_price) && isValid(this.data.spread)) { 1329 this.data.settlement_price = 1330 Number(this.data.base_price) + Number(this.data.spread); 1331 } 1332 this.data.total = this._floatNum(Number(this.data.settlement_price) * Number(this.data.count), this.data.point_precision || 2).toString(); 1333 }; 1334 PriceConfirmation.prototype._createCanvas = function (offset, next) { 1335 // è¯¥æ¹æ³ä¼ä½¿ç¨æè´§åç°è´§éæå°çé«åº¦ä½ä¸ºyï¼å æ¤ offset = é¡¶é¨å¢å çè·ç¦»ï¼ç¾åï¼+ ç°è´§çè¡¥å¿æªå¾è·ç¦» 1336 $(".price_history").hide(); 1337 var ele = $(this.dom.price_confirm_body_wrap)[0]; 1338 html2canvas(ele, { 1339 allowTaint: false, 1340 useCORS: true, 1341 scale: 2 1342 }) 1343 .then(function (canvas) { 1344 next(canvas); 1345 })["catch"](function (err) { 1346 console.log(err); 1347 }) 1348 .then(function (canvas) { 1349 next(canvas); 1350 })["catch"](function (err) { 1351 console.log(err); 1352 }); 1353 }; 1354 PriceConfirmation.prototype._createConfirmation = function (cb) { 1355 var _this = this; 1356 $.ajax(helper_1.PriceConfirmationHelper._getRequestUrl("/v3/confirm_bill/create_confirm_bill", this.opt.is_dev), { 1357 method: "POST", 1358 data: { 1359 product_name: this.initial.constract, 1360 product_id: this.initial.constract_id, 1361 auth_token: helper_1.PriceConfirmationHelper._getCookie(helper_1.PriceConfirmationHelper.SMM_KEY) || "" 1362 }, 1363 success: function (res) { 1364 if (res.code == 0) { 1365 _this.data.bill_id = res.data.bill_id; 1366 _this.data.bill_no = res.data.bill_no; 1367 _this.data.point_precision = res.data.point_precision; 1368 cb && cb(); 1369 } 1370 else { 1371 _this._toggleSubmitUsable(res.msg); 1372 } 1373 }, 1374 error: function (err) { 1375 _this._toggleSubmitUsable("*ç½ç»é误,请éè¯"); 1376 } 1377 }); 1378 }; 1379 PriceConfirmation.prototype._toggleSubmitUsable = function (msg) { 1380 if (msg != "") { 1381 // å½å 1382 $(this.dom.price_confirm_option_create) 1383 .removeClass("disable") 1384 .addClass("disable"); 1385 this._notice($(this.dom.price_confirm_option_create_error), msg, true); 1386 // 忢åæä¿åçç¶æ 1387 this.global_form_error = msg; 1388 } 1389 else { 1390 $(this.dom.price_confirm_option_create).removeClass("disable"); 1391 this._notice($(this.dom.price_confirm_option_create_error), "", false); 1392 this.global_form_error = ""; 1393 } 1394 }; 1395 PriceConfirmation.prototype._checkProductAuth = function (next) { 1396 var _this_1 = this; 1397 if (this._checkingProductAuth) 1398 return; // æ£å¨è¯·æ±ä¸ï¼ç´æ¥è¿å 1399 this._checkingProductAuth = true; // å é 1400 if (this.data.bill_no && this.data.bill_id) { 1401 $.ajax(helper_1.PriceConfirmationHelper._getRequestUrl("/v3/confirm_bill/check_product_auth", this.opt.is_dev), { 1402 method: "POST", 1403 data: { 1404 product_id: this.initial.constract_id, 1405 start_date: this.data.start_date, 1406 end_date: this.data.end_date, 1407 auth_token: helper_1.PriceConfirmationHelper._getCookie(helper_1.PriceConfirmationHelper.SMM_KEY) || "" 1408 }, 1409 success: function (res) { 1410 _this_1._checkingProductAuth = false; // è§£é 1411 if (res.code == 0) { 1412 if (res.data.has_auth) { 1413 next && next(); 1414 } 1415 else {
1416 _this_1._notice($(_this_1.dom.price_confirm_option_create_error), "æ å½åä»·æ ¼ç¹å岿é", true); 1417 _this_1._bindBase(); 1418 } 1419 } 1420 else { 1421 _this_1._notice($(_this_1.dom.price_confirm_option_create_error), res.msg, true); 1422 _this_1._bindBase(); 1423 } 1424 }, 1425 error: function (err) { 1426 _this_1._checkingProductAuth = false; // è§£é 1427 _this_1._notice($(_this_1.dom.price_confirm_option_create_error), "*ç½ç»é误", true); 1428 } 1429 }); 1430 } 1431 else { 1432 this._checkingProductAuth = false; // è§£é 1433 this._notice($(this.dom.price_confirm_option_create_error), "åå·é误", true); 1434 } 1435 }; 1436 // 1 1437 PriceConfirmation.prototype._uploadConfirmation = function (bill_img, cb, file_name) { 1438 var _this_1 = this; 1439 var url = helper_1.PriceConfirmationHelper._getRequestUrl("/v3/confirm_bill/upload_confirm_bill_info", this.opt.is_dev); 1440 if (this.data.bill_no && this.data.bill_id) { 1441 var sendData = new FormData(); 1442 sendData.append("auth_token", helper_1.PriceConfirmationHelper._getCookie(helper_1.PriceConfirmationHelper.SMM_KEY) || 1443 ""); 1444 sendData.append("bill_id", String(this.data.bill_id)); 1445 sendData.append("bill_type", this.type == PriceType.Spot ? "1" : "2"); 1446 sendData.append("start_date", this.data.start_date); 1447 sendData.append("end_date", this.data.end_date); 1448 sendData.append("product_name", encodeURIComponent(this.data.constract)); 1449 sendData.append("margin_price", String(this.data.spread)); 1450 sendData.append("settlement_price", String(this.data.settlement_price)); 1451 sendData.append("price_unit", this.data.unit); 1452 sendData.append("num", String(this.data.count)); 1453 sendData.append("remark", this.data.note); 1454 sendData.append("total", String(this.data.total)); 1455 sendData.append("evaluate_way", this.type == PriceType.Spot ? "1" : "2"); 1456 sendData.append("is_no_width", "1"); 1457 if (this.data.base_price) { 1458 sendData.append("base_price", String(this.data.base_price)); 1459 } 1460 if (file_name) { 1461 sendData.append("bill_img", bill_img, file_name); 1462 } 1463 else { 1464 sendData.append("bill_img", bill_img); 1465 } 1466 $.ajax(url, { 1467 method: "POST", 1468 data: sendData, 1469 contentType: false, 1470 processData: false, 1471 success: function (res) { 1472 if (res.code != 0) { 1473 _this_1._notice($(_this_1.dom.price_confirm_option_create_error), res.msg, true); 1474 _this_1._bindBase(); 1475 } 1476 else { 1477 new price_confirm_over_1.PriceConfirmationOver({ 1478 pic_url: res.data.img_url, 1479 bill_id: String(_this_1.data.bill_id), 1480 bill_no: String(_this_1.data.bill_no), 1481 bill_type: _this_1.type == PriceType.Spot ? "1" : "2" 1482 }, __assign({ is_dev: _this_1.opt.is_dev, create_method: _this_1.opt_over.over_create_method, over_page: _this_1.opt_over.over_page }, _this_1.opt_over)).create(); 1483 cb && cb(); 1484 } 1485 }, 1486 error: function (err) { 1487 _this_1._notice($(_this_1.dom.price_confirm_option_create_error), "*ç½ç»é误", true); 1488 console.log("/v3/confirm_bill/upload_confirm_bill_info", err); 1489 } 1490 }); 1491 } 1492 else { 1493 this._notice($(this.dom.price_confirm_option_create_error), "åå·é误", true); 1494 } 1495 }; 1496 // 1 1497 PriceConfirmation.prototype._logWithQueryConstractData = function (constract_id, begin_date, end_date) { 1498 var url = helper_1.PriceConfirmationHelper._getRequestUrl("/v3/confirm_bill/query_log", this.opt.is_dev); 1499 $.ajax(url, { 1500 method: "POST", 1501 data: { 1502 auth_token: helper_1.PriceConfirmationHelper._getCookie(helper_1.PriceConfirmationHelper.SMM_KEY) || 1503 "", 1504 begin_date: begin_date, 1505 end_date: end_date, 1506 product_id: constract_id, 1507 confirm_bill_id: this.data.bill_id, 1508 confirrm_bill_no: this.data.bill_no 1509 } 1510 }); 1511 }; 1512 PriceConfirmation.prototype._checkEmptyWithEffect = function (target, is_pass) { 1513 var class_error = "error-input-empty"; 1514 if (!is_pass) { 1515 !target.parent().hasClass(class_error) && 1516 target.parent().addClass(class_error); 1517 return false;
1518 } 1519 else { 1520 target.parent().removeClass(class_error); 1521 return true; 1522 } 1523 }; 1524 PriceConfirmation.prototype._checkValueWithEffect = function (type, is_pass) { 1525 if (!is_pass) { 1526 var text = ""; 1527 switch (type) { 1528 case "spread": 1529 text = 1530 this.type == PriceType.Spot 1531 ? "è¯·å¡«åæ£ç¡®ç差价" 1532 : "è¯·å¡«åæ£ç¡®çåè´´æ°´"; 1533 break; 1534 case "base_price": 1535 text = "è¯·å¡«åæ£ç¡®çåºä»·"; 1536 break; 1537 case "count": 1538 text = "è¯·å¡«åæ£ç¡®çæ°é"; 1539 break; 1540 default: 1541 break; 1542 } 1543 this._notice($(this.dom.price_confirm_data_error), text, true); 1544 return false; 1545 } 1546 else { 1547 this._notice($(this.dom.price_confirm_data_error), "", false); 1548 return true; 1549 } 1550 }; 1551 PriceConfirmation.prototype._queryConstractData = function (constract_id, begin_date, end_date, next) { 1552 var _this_1 = this; 1553 var url = helper_1.PriceConfirmationHelper._getRequestUrl("/v2/prices/products/" + constract_id + "/dates?begin_date=" + begin_date + "&end_date=" + end_date + "&auth_token=" + (helper_1.PriceConfirmationHelper._getCookie(helper_1.PriceConfirmationHelper.SMM_KEY) || 1554 ""), this.opt.is_dev); 1555 $.ajax(url, { 1556 method: "GET", 1557 success: function (res) { 1558 if (res.Code == 200) { 1559 var sum = { 1560 average: 0, 1561 low: 0, 1562 high: 0 1563 }; 1564 if (res.Data && res.Data.length != 0) { 1565 _this_1.has_spot_price = true; 1566 sum = res.Data.reduce(function (data, current) { 1567 return { 1568 average: data.average + current.Average,
1569 low: data.low + current.Low, 1570 high: data.high + current.Highs 1571 }; 1572 }, sum); 1573 _this_1.data.average = _this_1._floatNum(sum.average / res.Data.length, _this_1.data.point_precision || 2); 1574 _this_1.data.high = _this_1._floatNum(sum.high / res.Data.length, _this_1.data.point_precision || 2); 1575 _this_1.data.low = _this_1._floatNum(sum.low / res.Data.length, _this_1.data.point_precision || 2); 1576 _this_1.data.base_price = _this_1.data.average; 1577 } 1578 else { 1579 _this_1.has_spot_price = false; 1580 _this_1.data.high = null; 1581 _this_1.data.low = null; 1582 _this_1.data.average = null; 1583 _this_1.data.base_price = null; 1584 } 1585 } 1586 }, 1587 error: function (err) { 1588 _this_1._notice($(_this_1.dom.price_confirm_option_create_error), "*ç½ç»é误", true); 1589 }, 1590 complete: function () { 1591 _this_1._logWithQueryConstractData(constract_id, begin_date, end_date); 1592 next && next(); 1593 } 1594 }); 1595 }; 1596 PriceConfirmation.DATE_DEFAULT_FORMAT = "YYYY-MM-DD"; 1597 PriceConfirmation.DATE_TIME_FORMAT = "YYYYå¹´MMæDDæ¥ kk:mm:ss"; 1598 PriceConfirmation.DATE_SHOW_FORMAT = "YYYYå¹´MMæDDæ¥"; 1599 PriceConfirmation.DATE_TIMESTAMP_FORMAT = "X"; 1600 PriceConfirmation.INVALID_VALUE = "-"; 1601 return PriceConfirmation; 1602}()); 1603exports.PriceConfirmation = PriceConfirmation; 1604 1605},{"../../lib/canvas-toBlob.js":10,"../tpl.js":9,"./helper":5,"./price-confirm-over":7,"html2canvas":344}],9:[function(require,module,exports){ 1606/*TMODJS:{}*/ 1607!function () { 1608 1609 function template (filename, content) { 1610 return ( 1611 /string|function/.test(typeof content) 1612 ? compile : renderFile 1613 )(filename, content); 1614 }; 1615 1616 1617 var cache = template.cache = {}; 1618 var String = window.String; 1619 1620 function toString (value, type) { 1621 1622 if (typeof value !== 'string') { 1623 1624 type = typeof value; 1625 if (type === 'number') { 1626 value += ''; 1627 } else if (type === 'function') { 1628 value = toString(value.call(value)); 1629 } else { 1630 value = ''; 1631 } 1632 } 1633 1634 return value; 1635 1636 }; 1637 1638 1639 var escapeMap = { 1640 "<": "<", 1641 ">": ">", 1642 '"': """, 1643 "'": "'", 1644 "&": "&" 1645 }; 1646 1647 1648 function escapeFn (s) { 1649 return escapeMap[s]; 1650 } 1651 1652 1653 function escapeHTML (content) { 1654 return toString(content) 1655 .replace(/&(?![\w#]+;)|[<>"']/g, escapeFn); 1656 }; 1657 1658 1659 var isArray = Array.isArray || function(obj) { 1660 return ({}).toString.call(obj) === '[object Array]'; 1661 }; 1662 1663 1664 function each (data, callback) { 1665 if (isArray(data)) { 1666 for (var i = 0, len = data.length; i < len; i++) { 1667 callback.call(data, data[i], i, data); 1668 } 1669 } else { 1670 for (i in data) { 1671 callback.call(data, data[i], i); 1672 } 1673 } 1674 }; 1675 1676 1677 function resolve (from, to) { 1678 var DOUBLE_DOT_RE = /(\/)[^/]+\1\.\.\1/; 1679 var dirname = ('./' + from).replace(/[^/]+$/, ""); 1680 var filename = dirname + to; 1681 filename = filename.replace(/\/\.\//g, "/"); 1682 while (filename.match(DOUBLE_DOT_RE)) { 1683 filename = filename.replace(DOUBLE_DOT_RE, "/"); 1684 } 1685 return filename; 1686 }; 1687 1688 1689 var utils = template.utils = { 1690 1691 $helpers: {}, 1692 1693 $include: function (filename, data, from) { 1694 filename = resolve(from, filename); 1695 return renderFile(filename, data); 1696 }, 1697 1698 $string: toString, 1699 1700 $escape: escapeHTML, 1701 1702 $each: each 1703 1704 }; 1705 1706 1707 var helpers = template.helpers = utils.$helpers; 1708 1709 1710 function renderFile (filename, data) { 1711 var fn = template.get(filename) || showDebugInfo({ 1712 filename: filename, 1713 name: 'Render Error', 1714 message: 'Template not found' 1715 }); 1716 return data ? fn(data) : fn; 1717 }; 1718 1719 1720 function compile (filename, fn) { 1721 1722 if (typeof fn === 'string') { 1723 var string = fn; 1724 fn = function () { 1725 return new String(string); 1726 }; 1727 } 1728 1729 var render = cache[filename] = function (data) { 1730 try { 1731 return new fn(data, filename) + ''; 1732 } catch (e) { 1733 return showDebugInfo(e)(); 1734 } 1735 }; 1736 1737 render.prototype = fn.prototype = utils; 1738 render.toString = function () { 1739 return fn + ''; 1740 }; 1741 1742 return render; 1743 }; 1744 1745 1746 function showDebugInfo (e) { 1747 1748 var type = "{Template Error}"; 1749 var message = e.stack || ''; 1750 1751 if (message) { 1752 // å©ç¨æ¥éå æ ä¿¡æ¯ 1753 message = message.split('\n').slice(0,2).join('\n'); 1754 } else { 1755 // è°è¯çæ¬ï¼ç´æ¥ç»åºæ¨¡æ¿è¯å¥è¡ 1756 for (var name in e) { 1757 message += "<" + name + ">\n" + e[name] + "\n\n"; 1758 } 1759 } 1760 1761 return function () { 1762 if (typeof console === "object") { 1763 console.error(type + "\n\n" + message); 1764 } 1765 return type; 1766 }; 1767 }; 1768 1769 1770 template.get = function (filename) { 1771 return cache[filename.replace(/^\.\//, '')]; 1772 }; 1773 1774 1775 template.helper = function (name, helper) { 1776 helpers[name] = helper; 1777 }; 1778 1779 1780 module.exports = template; 1781 1782 1783 1784}() 1785},{}],10:[function(require,module,exports){ 1786/* canvas-toBlob.js 1787 * A canvas.toBlob() implementation. 1788 * 2016-05-26 1789 * 1790 * By Eli Grey, http://eligrey.com and Devin Samarin, https://github.com/eboyjr 1791 * License: MIT 1792 * See https://github.com/eligrey/canvas-toBlob.js/blob/master/LICENSE.md 1793 */ 1794 1795/*global self */ 1796/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true, 1797 plusplus: true */ 1798 1799/*! @source http://purl.eligrey.com/github/canvas-toBlob.js/blob/master/canvas-toBlob.js */ 1800 1801(function(view) { 1802 "use strict"; 1803 var 1804 Uint8Array = view.Uint8Array 1805 , HTMLCanvasElement = view.HTMLCanvasElement 1806 , canvas_proto = HTMLCanvasElement && HTMLCanvasElement.prototype 1807 , is_base64_regex = /\s*;\s*base64\s*(?:;|$)/i 1808 , to_data_url = "toDataURL" 1809 , base64_ranks 1810 , decode_base64 = function(base64) { 1811 var 1812 len = base64.length 1813 , buffer = new Uint8Array(len / 4 * 3 | 0) 1814 , i = 0 1815 , outptr = 0 1816 , last = [0, 0] 1817 , state = 0 1818 , save = 0 1819 , rank 1820 , code 1821 , undef 1822 ; 1823 while (len--) { 1824 code = base64.charCodeAt(i++);
1825 rank = base64_ranks[code-43]; 1826 if (rank !== 255 && rank !== undef) { 1827 last[1] = last[0]; 1828 last[0] = code; 1829 save = (save << 6) | rank; 1830 state++; 1831 if (state === 4) { 1832 buffer[outptr++] = save >>> 16; 1833 if (last[1] !== 61 /* padding character */) { 1834 buffer[outptr++] = save >>> 8; 1835 } 1836 if (last[0] !== 61 /* padding character */) { 1837 buffer[outptr++] = save; 1838 } 1839 state = 0; 1840 } 1841 } 1842 } 1843 // 2/3 chance there's going to be some null bytes at the end, but that 1844 // doesn't really matter with most image formats. 1845 // If it somehow matters for you, truncate the buffer up outptr. 1846 return buffer; 1847 } 1848 ; 1849 if (Uint8Array) { 1850 base64_ranks = new Uint8Array([ 1851 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1 1852 , -1, -1, 0, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1853 , 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 1854 , -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 1855 , 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 1856 ]); 1857 } 1858 if (HTMLCanvasElement && (!canvas_proto.toBlob || !canvas_proto.toBlobHD)) { 1859 if (!canvas_proto.toBlob) 1860 canvas_proto.toBlob = function(callback, type /*, ...args*/) { 1861 if (!type) { 1862 type = "image/png"; 1863 } if (this.mozGetAsFile) { 1864 callback(this.mozGetAsFile("canvas", type)); 1865 return; 1866 } if (this.msToBlob && /^\s*image\/png\s*(?:$|;)/i.test(type)) { 1867 callback(this.msToBlob()); 1868 return; 1869 } 1870 1871 var 1872 args = Array.prototype.slice.call(arguments, 1) 1873 , dataURI = this[to_data_url].apply(this, args) 1874 , header_end = dataURI.indexOf(",") 1875 , data = dataURI.substring(header_end + 1) 1876 , is_base64 = is_base64_regex.test(dataURI.substring(0, header_end)) 1877 , blob 1878 ; 1879 if (Blob.fake) { 1880 // no reason to decode a data: URI that's just going to become a data URI again 1881 blob = new Blob 1882 if (is_base64) { 1883 blob.encoding = "base64"; 1884 } else { 1885 blob.encoding = "URI"; 1886 } 1887 blob.data = data; 1888 blob.size = data.length; 1889 } else if (Uint8Array) { 1890 if (is_base64) { 1891 blob = new Blob([decode_base64(data)], {type: type}); 1892 } else { 1893 blob = new Blob([decodeURIComponent(data)], {type: type}); 1894 } 1895 } 1896 callback(blob); 1897 }; 1898 1899 if (!canvas_proto.toBlobHD && canvas_proto.toDataURLHD) { 1900 canvas_proto.toBlobHD = function() { 1901 to_data_url = "toDataURLHD"; 1902 var blob = this.toBlob(); 1903 to_data_url = "toDataURL"; 1904 return blob; 1905 } 1906 } else { 1907 canvas_proto.toBlobHD = canvas_proto.toBlob; 1908 } 1909 } 1910 }(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); 1911},{}],11:[function(require,module,exports){ 1912/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */ 1913jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.no
vendor: 5,797 bytes, lines 1913-1915
1913deName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window); 1914},{}],12:[function(require,module,exports){ 1915// -----------------------------------------------------------------------
1916// Eros Fratini - [email protected] 1917// jqprint 0.3 1918// 1919// - 19/06/2009 - some new implementations, added Opera support 1920// - 11/05/2009 - first sketch 1921// 1922// Printing plug-in for jQuery, evolution of jPrintArea: http://plugins.jquery.com/project/jPrintArea 1923// requires jQuery 1.3.x 1924// 1925// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php 1926//------------------------------------------------------------------------ 1927 1928(function($) { 1929 var opt; 1930 1931 $.fn.jqprint = function (options) { 1932 opt = $.extend({}, $.fn.jqprint.defaults, options); 1933 1934 var $element = (this instanceof jQuery) ? this : $(this); 1935 1936 if (opt.operaSupport && $.browser.opera) 1937 { 1938 var tab = window.open("","jqPrint-preview"); 1939 tab.document.open(); 1940 1941 var doc = tab.document; 1942 } 1943 else 1944 { 1945 var $iframe = $("<iframe />"); 1946 1947 if (!opt.debug) { $iframe.css({ position: "absolute", width: "0px", height: "0px", left: "-600px", top: "-600px" }); } 1948 1949 $iframe.appendTo("body"); 1950 var doc = $iframe[0].contentWindow.document; 1951 } 1952 1953 if (opt.importCSS) 1954 { 1955 if ($("link[media=print]").length > 0) 1956 { 1957 $("link[media=print]").each( function() { 1958 doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />"); 1959 }); 1960 } 1961 else 1962 { 1963 $("link").each( function() { 1964 doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />"); 1965 }); 1966 } 1967 } 1968 1969 if (opt.printContainer) { doc.write($element.outer()); } 1970 else { $element.each( function() { doc.write($(this).html()); }); } 1971 1972 doc.close(); 1973 1974 (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).focus(); 1975 setTimeout( function() { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } }, 1000); 1976 } 1977 1978 $.fn.jqprint.defaults = { 1979 debug: false, 1980 importCSS: true, 1981 printContainer: true, 1982 operaSupport: true 1983 }; 1984 1985 // Thanks to 9__, found at http://users.livejournal.com/9__/380664.html 1986 jQuery.fn.outer = function() { 1987 return $($('<div></div>').html(this.clone())).html(); 1988 } 1989})(jQuery); 1990},{}],13:[function(require,module,exports){ 1991var QRCode;!function(){function t(t){this.mode=r.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(var e=0,o=this.data.length;e<o;e++){var i=[],n=this.data.charCodeAt(e);n>65536?(i[0]=240|(1835008&n)>>>18,i[1]=128|(258048&n)>>>12,i[2]=128|(4032&n)>>>6,i[3]=128|63&n):n>2048?(i[0]=224|(61440&n)>>>12,i[1]=128|(4032&n)>>>6,i[2]=128|63&n):n>128?(i[0]=192|(1984&n)>>>6,i[1]=128|63&n):i[0]=n,this.parsedData.push(i)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function e(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}t.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(var e=0,r=this.parsedData.length;e<r;e++)t.put(this.parsedData[e],8)}},e.prototype={addData:function(e){var r=new t(e);this.dataList.push(r),this.dataCache=null},isDark:function(t,e){if(t<0||this.moduleCount<=t||e<0||this.moduleCount<=e)throw new Error(t+","+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,r){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var o=0;o<this.moduleCount;o++){this.modules[o]=new Array(this.moduleCount);for(var i=0;i<this.moduleCount;i++)this.modules[o][i]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,r),this.typeNumber>=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)},setupPositionProbePattern:function(t,e){for(var r=-1;r<=7;r++)if(!(t+r<=-1||this.moduleCount<=t+r))for(var o=-1;o<=7;o++)e+o<=-1||this.moduleCount<=e+o||(this.modules[t+r][e+o]=0<=r&&r<=6&&(0==o||6==o)||0<=o&&o<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=o&&o<=4)},getBestMaskPattern:function(){for(var t=0,e=0,r=0;r<8;r++){this.makeImpl(!0,r);var o=g.getLostPoint(this);(0==r||t>o)&&(t=o,e=r)}return e},createMovieClip:function(t,e,r){var o=t.createEmptyMovieClip(e,r);this.make();for(var i=0;i<this.modules.length;i++)for(var n=1*i,a=0;a<this.modules[i].length;a++){var s=1*a;this.modules[i][a]&&(o.beginFill(0,100),o.moveTo(s,n),o.lineTo(s+1,n),o.lineTo(s+1,n+1),o.lineTo(s,n+1),o.endFill())}return o},setupTimingPattern:function(){for(var t=8;t<this.moduleCount-8;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(var e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)},setupPositionAdjustPattern:function(){for(var t=g.getPatternPosition(this.typeNumber),e=0;e<t.length;e++)for(var r=0;r<t.length;r++){var o=t[e],i=t[r];
vendor: 4,143 bytes, line 1991
1991if(null==this.modules[o][i])for(var n=-2;n<=2;n++)for(var a=-2;a<=2;a++)this.modules[o+n][i+a]=-2==n||2==n||-2==a||2==a||0==n&&0==a}},setupTypeNumber:function(t){for(var e=g.getBCHTypeNumber(this.typeNumber),r=0;r<18;r++){var o=!t&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=o}for(r=0;r<18;r++){o=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=o}},setupTypeInfo:function(t,e){for(var r=this.errorCorrectLevel<<3|e,o=g.getBCHTypeInfo(r),i=0;i<15;i++){var n=!t&&1==(o>>i&1);i<6?this.modules[i][8]=n:i<8?this.modules[i+1][8]=n:this.modules[this.moduleCount-15+i][8]=n}for(i=0;i<15;i++){n=!t&&1==(o>>i&1);i<8?this.modules[8][this.moduleCount-i-1]=n:i<9?this.modules[8][15-i-1+1]=n:this.modules[8][15-i-1]=n}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var r=-1,o=this.moduleCount-1,i=7,n=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[o][a-s]){var h=!1;n<t.length&&(h=1==(t[n]>>>i&1)),g.getMask(e,o,a-s)&&(h=!h),this.modules[o][a-s]=h,-1==--i&&(n++,i=7)}if((o+=r)<0||this.moduleCount<=o){o-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(t,r,o){for(var i=m.getRSBlocks(t,r),n=new _,a=0;a<o.length;a++){var s=o[a];n.put(s.mode,4),n.put(s.getLength(),g.getLengthInBits(s.mode,t)),s.write(n)}var h=0;for(a=0;a<i.length;a++)h+=i[a].dataCount;if(n.getLengthInBits()>8*h)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*h+")");for(n.getLengthInBits()+4<=8*h&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*h||(n.put(e.PAD0,8),n.getLengthInBits()>=8*h));)n.put(e.PAD1,8);return e.createBytes(n,i)},e.createBytes=function(t,e){for(var r=0,o=0,i=0,n=new Array(e.length),a=new Array(e.length),s=0;s<e.length;s++){var h=e[s].dataCount,l=e[s].totalCount-h;o=Math.max(o,h),i=Math.max(i,l),n[s]=new Array(h);for(var u=0;u<n[s].length;u++)n[s][u]=255&t.buffer[u+r];r+=h;var f=g.getErrorCorrectPolynomial(l),d=new p(n[s],f.getLength()-1).mod(f);a[s]=new Array(f.getLength()-1);for(u=0;u<a[s].length;u++){var c=u+d.getLength()-a[s].length;a[s][u]=c>=0?d.get(c):0}}var m=0;for(u=0;u<e.length;u++)m+=e[u].totalCount;var _=new Array(m),v=0;for(u=0;u<o;u++)for(s=0;s<e.length;s++)u<n[s].length&&(_[v++]=n[s][u]);for(u=0;u<i;u++)for(s=0;s<e.length;s++)u<a[s].length&&(_[v++]=a[s][u]);return _};for(var r={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},o={L:1,M:0,Q:3,H:2},i=0,n=1,a=2,s=3,h=4,l=5,u=6,f=7,g={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var e=t<<10;g.getBCHDigit(e)-g.getBCHDigit(g.G15)>=0;)e^=g.G15<<g.getBCHDigit(e)-g.getBCHDigit(g.G15);return(t<<10|e)^g.G15_MASK},getBCHTypeNumber:function(t){for(var e=t<<12;g.getBCHDigit(e)-g.getBCHDigit(g.G18)>=0;)e^=g.G18<<g.getBCHDigit(e)-g.getBCHDigit(g.G18);return t<<12|e},getBCHDigit:function(t){for(var e=0;0!=t;)e++,t>>>=1;return e},getPatternPosition:function(t){return g.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case i:return(e+r)%2==0;case n:return e%2==0;case a:return r%3==0;case s:return(e+r)%3==0;case h:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case l:return e*r%2+e*r%3==0;case u:return(e*r%2+e*r%3)%2==0;case f:return(e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new p([1],0),r=0;r<t;r++)e=e.multiply(new p([1,d.gexp(r)],0));return e},getLengthInBits:function(t,e){if(1<=e&&e<10)switch(t){case r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;
vendor: 6,366 bytes, line 1991
1991case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+t)}else if(e<27)switch(t){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+t)}else{if(!(e<41))throw new Error("type:"+e);switch(t){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),r=0,o=0;o<e;o++)for(var i=0;i<e;i++){for(var n=0,a=t.isDark(o,i),s=-1;s<=1;s++)if(!(o+s<0||e<=o+s))for(var h=-1;h<=1;h++)i+h<0||e<=i+h||0==s&&0==h||a==t.isDark(o+s,i+h)&&n++;n>5&&(r+=3+n-5)}for(o=0;o<e-1;o++)for(i=0;i<e-1;i++){var l=0;t.isDark(o,i)&&l++,t.isDark(o+1,i)&&l++,t.isDark(o,i+1)&&l++,t.isDark(o+1,i+1)&&l++,0!=l&&4!=l||(r+=3)}for(o=0;o<e;o++)for(i=0;i<e-6;i++)t.isDark(o,i)&&!t.isDark(o,i+1)&&t.isDark(o,i+2)&&t.isDark(o,i+3)&&t.isDark(o,i+4)&&!t.isDark(o,i+5)&&t.isDark(o,i+6)&&(r+=40);for(i=0;i<e;i++)for(o=0;o<e-6;o++)t.isDark(o,i)&&!t.isDark(o+1,i)&&t.isDark(o+2,i)&&t.isDark(o+3,i)&&t.isDark(o+4,i)&&!t.isDark(o+5,i)&&t.isDark(o+6,i)&&(r+=40);var u=0;for(i=0;i<e;i++)for(o=0;o<e;o++)t.isDark(o,i)&&u++;return r+=10*(Math.abs(100*u/e/e-50)/5)}},d={glog:function(t){if(t<1)throw new Error("glog("+t+")");return d.LOG_TABLE[t]},gexp:function(t){for(;t<0;)t+=255;for(;t>=256;)t-=255;return d.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},c=0;c<8;c++)d.EXP_TABLE[c]=1<<c;for(c=8;c<256;c++)d.EXP_TABLE[c]=d.EXP_TABLE[c-4]^d.EXP_TABLE[c-5]^d.EXP_TABLE[c-6]^d.EXP_TABLE[c-8];for(c=0;c<255;c++)d.LOG_TABLE[d.EXP_TABLE[c]]=c;function p(t,e){if(void 0==t.length)throw new Error(t.length+"/"+e);for(var r=0;r<t.length&&0==t[r];)r++;this.num=new Array(t.length-r+e);for(var o=0;o<t.length-r;o++)this.num[o]=t[o+r]}function m(t,e){this.totalCount=t,this.dataCount=e}function _(){this.buffer=[],this.length=0}p.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=new Array(this.getLength()+t.getLength()-1),r=0;r<this.getLength();r++)for(var o=0;o<t.getLength();o++)e[r+o]^=d.gexp(d.glog(this.get(r))+d.glog(t.get(o)));return new p(e,0)},mod:function(t){if(this.getLength()-t.getLength()<0)return this;for(var e=d.glog(this.get(0))-d.glog(t.get(0)),r=new Array(this.getLength()),o=0;o<this.getLength();o++)r[o]=this.get(o);for(o=0;o<t.getLength();o++)r[o]^=d.gexp(d.glog(t.get(o))+e);return new p(r,0).mod(t)}},m.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],m.getRSBlocks=function(t,e){var r=m.getRsBlockTable(t,e);if(void 0==r)throw new Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+e);for(var o=r.length/3,i=[],n=0;n<o;n++)for(var a=r[3*n+0],s=r[3*n+1],h=r[3*n+2],l=0;l<a;l++)i.push(new m(s,h));return i},m.getRsBlockTable=function(t,e){switch(e){case o.L:return m.RS_BLOCK_TABLE[4*(t-1)+0];case o.M:return m.RS_BLOCK_TABLE[4*(t-1)+1];case o.Q:return m.RS_BLOCK_TABLE[4*(t-1)+2];case o.H:return m.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},_.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var r=0;r<e;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var v=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,8
19916,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];function C(){var t=!1,e=navigator.userAgent;if(/android/i.test(e)){t=!0;var r=e.toString().match(/android ([0-9]\.[0-9])/i);r&&r[1]&&(t=parseFloat(r[1]))}return t}var w=function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){var e=this._htOption,r=this._el,o=t.getModuleCount();Math.floor(e.width/o),Math.floor(e.height/o);function i(t,e){var r=document.createElementNS("http://www.w3.org/2000/svg",t);for(var o in e)e.hasOwnProperty(o)&&r.setAttribute(o,e[o]);return r}this.clear();var n=i("svg",{viewBox:"0 0 "+String(o)+" "+String(o),width:"100%",height:"100%",fill:e.colorLight});n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),r.appendChild(n),n.appendChild(i("rect",{fill:e.colorLight,width:"100%",height:"100%"})),n.appendChild(i("rect",{fill:e.colorDark,width:"1",height:"1",id:"template"}));for(var a=0;a<o;a++)for(var s=0;s<o;s++)if(t.isDark(a,s)){var h=i("use",{x:String(s),y:String(a)});h.setAttributeNS("http://www.w3.org/1999/xlink","href","#template"),n.appendChild(h)}},t.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},t}(),D="svg"===document.documentElement.tagName.toLowerCase()?w:"undefined"==typeof CanvasRenderingContext2D?function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){for(var e=this._htOption,r=this._el,o=t.getModuleCount(),i=Math.floor(e.width/o),n=Math.floor(e.height/o),a=['<table style="border:0;border-collapse:collapse;">'],s=0;s<o;s++){a.push("<tr>");for(var h=0;h<o;h++)a.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:'+i+"px;height:"+n+"px;background-color:"+(t.isDark(s,h)?e.colorDark:e.colorLight)+';"></td>');a.push("</tr>")}a.push("</table>"),r.innerHTML=a.join("");var l=r.childNodes[0],u=(e.width-l.offsetWidth)/2,f=(e.height-l.offsetHeight)/2;u>0&&f>0&&(l.style.margin=f+"px "+u+"px")},t.prototype.clear=function(){this._el.innerHTML=""},t}():function(){function t(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block",this._elCanvas.style.display="none"}if(this._android&&this._android<=2.1){var e=1/window.devicePixelRatio,r=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(t,o,i,n,a,s,h,l,u){if("nodeName"in t&&/img/i.test(t.nodeName))for(var f=arguments.length-1;f>=1;f--)arguments[f]=arguments[f]*e;else void 0===l&&(arguments[1]*=e,arguments[2]*=e,arguments[3]*=e,arguments[4]*=e);r.apply(this,arguments)}}var o=function(t,e){this._bIsPainted=!1,this._android=C(),this._htOption=e,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=e.width,this._elCanvas.height=e.height,t.appendChild(this._elCanvas),this._el=t,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.alt="Scan me!",this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return o.prototype.draw=function(t){var e=this._elImage,r=this._oContext,o=this._htOption,i=t.getModuleCount(),n=o.width/i,a=o.height/i,s=Math.round(n),h=Math.round(a);e.style.display="none",this.clear();for(var l=0;l<i;l++)for(var u=0;u<i;u++){var f=t.isDark(l,u),g=u*n,d=l*a;r.strokeStyle=f?o.colorDark:o.colorLight,r.lineWidth=1,r.fillStyle=f?o.colorDark:o.colorLight,r.fillRect(g,d,n,a),r.strokeRect(Math.floor(g)+.5,Math.floor(d)+.5,s,h),r.strokeRect(Math.ceil(g)-.5,Math.ceil(d)-.5,s,h)}this._bIsPainted=!0},o.prototype.makeImage=function(){this._bIsPainted&&function(t,e){var r=this;if(r._fFail=e,r._fSuccess=t,null===r._bSupportDataURI){var o=document.createElement("img"),i=function(){r._bSupportDataURI=!1,r._fFail&&r._fFail.call(r)};return o.onabort=i,o.onerror=i,o.onload=function(){r._bSupportDataURI=!0,r._fSuccess&&r._fSuccess.call(r)},void(o.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")}!0===r._bSupportDataURI&&r._fSuccess?r._fSuccess.call(r):!1===r._bSupportDataURI&&r._fFail&&r._fFail.call(r)}.call(this,t)},o.prototype.isPainted=function(){return this._bIsPainted},o.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},o.prototype.round=function(t){return t?Math.floor(1e3*t)/1e3:t},o}();function A(t,e){for(var r=1,i=function(t){var e=encodeURI(t).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return e.length+(e.length!=t?3:0)}(t),n=0,a=v.length;n<=a;n++){var s=0;switch(e){case o.L:s=v[n][0];break;case o.M:s=v[n][1];break;case o.Q:s=v[n][2];break;case o.H:s=v[n][3]}if(i<=s)break;r++}if(r>v.length)throw new Error("Too long data");return r}(QRCode=function(t,e){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:o.H},"string"==typeof e&&(e={text:e}),e)for(var r in e)this._htOption[r]=e[r];"string"==typeof t&&(t=document.getElementById(t)),this._htOption.useSVG&&(D=w),this._android=C(),this._el=t,this._oQRCode=null,this._oDrawing=new D(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)}).prototype.makeCode=function(t){this._oQRCode=new e(A(t,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(t),this._oQRCode.make(),this._el.title=t,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=o}(),"undefined"!=typeof module&&(module.exports=QRCode); 1992 1993},{}],14:[function(require,module,exports){ 1994(function (global){(function (){ 1995"use strict"; 1996 1997require("core-js/shim"); 1998 1999require("regenerator-runtime/runtime"); 2000 2001require("core-js/fn/regexp/escape"); 2002 2003if (global._babelPolyfill) { 2004 throw new Error("only one instance of babel-polyfill is allowed"); 2005} 2006global._babelPolyfill = true; 2007 2008var DEFINE_PROPERTY = "defineProperty"; 2009function define(O, key, value) { 2010 O[key] || Object[DEFINE_PROPERTY](O, key, { 2011 writable: true, 2012 configurable: true, 2013 value: value 2014 }); 2015} 2016 2017define(String.prototype, "padLeft", "".padStart); 2018define(String.prototype, "padRight", "".padEnd); 2019 2020"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function (key) { 2021 [][key] && define(Array, key, Function.call.bind([][key])); 2022}); 2023}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 2024},{"core-js/fn/regexp/escape":15,"core-js/shim":343,"regenerator-runtime/runtime":345}],15:[function(require,module,exports){ 2025require('../../modules/core.regexp.escape'); 2026module.exports = require('../../modules/_core').RegExp.escape; 2027 2028},{"../../modules/_core":37,"../../modules/core.regexp.escape":145}],16:[function(require,module,exports){ 2029module.exports = function (it) { 2030 if (typeof it != 'function') throw TypeError(it + ' is not a function!'); 2031 return it; 2032}; 2033 2034},{}],17:[function(require,module,exports){ 2035var cof = require('./_cof'); 2036module.exports = function (it, msg) { 2037 if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg); 2038 return +it; 2039}; 2040 2041},{"./_cof":32}],18:[function(require,module,exports){ 2042// 22.1.3.31 Array.prototype[@@unscopables] 2043var UNSCOPABLES = require('./_wks')('unscopables'); 2044var ArrayProto = Array.prototype; 2045if (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {}); 2046module.exports = function (key) { 2047 ArrayProto[UNSCOPABLES][key] = true; 2048}; 2049 2050},{"./_hide":57,"./_wks":143}],19:[function(require,module,exports){ 2051'use strict'; 2052var at = require('./_string-at')(true); 2053 2054 // `AdvanceStringIndex` abstract operation 2055// https://tc39.github.io/ecma262/#sec-advancestringindex 2056module.exports = function (S, index, unicode) { 2057 return index + (unicode ? at(S, index).length : 1); 2058}; 2059 2060},{"./_string-at":120}],20:[function(require,module,exports){ 2061module.exports = function (it, Constructor, name, forbiddenField) {
vendor: 5,184 bytes, lines 2062-2202
2062 if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { 2063 throw TypeError(name + ': incorrect invocation!'); 2064 } return it; 2065}; 2066 2067},{}],21:[function(require,module,exports){ 2068var isObject = require('./_is-object'); 2069module.exports = function (it) { 2070 if (!isObject(it)) throw TypeError(it + ' is not an object!'); 2071 return it; 2072}; 2073 2074},{"./_is-object":66}],22:[function(require,module,exports){ 2075// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) 2076'use strict'; 2077var toObject = require('./_to-object'); 2078var toAbsoluteIndex = require('./_to-absolute-index'); 2079var toLength = require('./_to-length'); 2080 2081module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { 2082 var O = toObject(this); 2083 var len = toLength(O.length); 2084 var to = toAbsoluteIndex(target, len); 2085 var from = toAbsoluteIndex(start, len); 2086 var end = arguments.length > 2 ? arguments[2] : undefined; 2087 var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); 2088 var inc = 1; 2089 if (from < to && to < from + count) { 2090 inc = -1; 2091 from += count - 1; 2092 to += count - 1; 2093 } 2094 while (count-- > 0) { 2095 if (from in O) O[to] = O[from]; 2096 else delete O[to]; 2097 to += inc; 2098 from += inc; 2099 } return O; 2100}; 2101 2102},{"./_to-absolute-index":128,"./_to-length":132,"./_to-object":133}],23:[function(require,module,exports){ 2103// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) 2104'use strict'; 2105var toObject = require('./_to-object'); 2106var toAbsoluteIndex = require('./_to-absolute-index'); 2107var toLength = require('./_to-length'); 2108module.exports = function fill(value /* , start = 0, end = @length */) { 2109 var O = toObject(this); 2110 var length = toLength(O.length); 2111 var aLen = arguments.length; 2112 var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); 2113 var end = aLen > 2 ? arguments[2] : undefined; 2114 var endPos = end === undefined ? length : toAbsoluteIndex(end, length); 2115 while (endPos > index) O[index++] = value; 2116 return O; 2117}; 2118 2119},{"./_to-absolute-index":128,"./_to-length":132,"./_to-object":133}],24:[function(require,module,exports){ 2120var forOf = require('./_for-of'); 2121 2122module.exports = function (iter, ITERATOR) { 2123 var result = []; 2124 forOf(iter, false, result.push, result, ITERATOR); 2125 return result; 2126}; 2127 2128},{"./_for-of":53}],25:[function(require,module,exports){ 2129// false -> Array#indexOf 2130// true -> Array#includes 2131var toIObject = require('./_to-iobject'); 2132var toLength = require('./_to-length'); 2133var toAbsoluteIndex = require('./_to-absolute-index'); 2134module.exports = function (IS_INCLUDES) { 2135 return function ($this, el, fromIndex) { 2136 var O = toIObject($this); 2137 var length = toLength(O.length); 2138 var index = toAbsoluteIndex(fromIndex, length); 2139 var value; 2140 // Array#includes uses SameValueZero equality algorithm 2141 // eslint-disable-next-line no-self-compare 2142 if (IS_INCLUDES && el != el) while (length > index) { 2143 value = O[index++]; 2144 // eslint-disable-next-line no-self-compare 2145 if (value != value) return true; 2146 // Array#indexOf ignores holes, Array#includes - not 2147 } else for (;length > index; index++) if (IS_INCLUDES || index in O) { 2148 if (O[index] === el) return IS_INCLUDES || index || 0; 2149 } return !IS_INCLUDES && -1; 2150 }; 2151}; 2152 2153},{"./_to-absolute-index":128,"./_to-iobject":131,"./_to-length":132}],26:[function(require,module,exports){ 2154// 0 -> Array#forEach 2155// 1 -> Array#map 2156// 2 -> Array#filter 2157// 3 -> Array#some 2158// 4 -> Array#every 2159// 5 -> Array#find 2160// 6 -> Array#findIndex 2161var ctx = require('./_ctx'); 2162var IObject = require('./_iobject'); 2163var toObject = require('./_to-object'); 2164var toLength = require('./_to-length'); 2165var asc = require('./_array-species-create'); 2166module.exports = function (TYPE, $create) { 2167 var IS_MAP = TYPE == 1; 2168 var IS_FILTER = TYPE == 2; 2169 var IS_SOME = TYPE == 3; 2170 var IS_EVERY = TYPE == 4; 2171 var IS_FIND_INDEX = TYPE == 6; 2172 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; 2173 var create = $create || asc; 2174 return function ($this, callbackfn, that) { 2175 var O = toObject($this); 2176 var self = IObject(O); 2177 var f = ctx(callbackfn, that, 3); 2178 var length = toLength(self.length); 2179 var index = 0; 2180 var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; 2181 var val, res; 2182 for (;length > index; index++) if (NO_HOLES || index in self) { 2183 val = self[index]; 2184 res = f(val, index, O); 2185 if (TYPE) { 2186 if (IS_MAP) result[index] = res; // map 2187 else if (res) switch (TYPE) { 2188 case 3: return true; // some 2189 case 5: return val; // find 2190 case 6: return index; // findIndex 2191 case 2: result.push(val); // filter 2192 } else if (IS_EVERY) return false; // every 2193 } 2194 } 2195 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; 2196 }; 2197}; 2198 2199},{"./_array-species-create":29,"./_ctx":39,"./_iobject":62,"./_to-length":132,"./_to-object":133}],27:[function(require,module,exports){ 2200var aFunction = require('./_a-function'); 2201var toObject = require('./_to-object'); 2202var IObject = require('./_iobject');
vendor: 4,773 bytes, lines 2203-2348
2203var toLength = require('./_to-length'); 2204 2205module.exports = function (that, callbackfn, aLen, memo, isRight) { 2206 aFunction(callbackfn); 2207 var O = toObject(that); 2208 var self = IObject(O); 2209 var length = toLength(O.length); 2210 var index = isRight ? length - 1 : 0; 2211 var i = isRight ? -1 : 1; 2212 if (aLen < 2) for (;;) { 2213 if (index in self) { 2214 memo = self[index]; 2215 index += i; 2216 break; 2217 } 2218 index += i; 2219 if (isRight ? index < 0 : length <= index) { 2220 throw TypeError('Reduce of empty array with no initial value'); 2221 } 2222 } 2223 for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { 2224 memo = callbackfn(memo, self[index], index, O); 2225 } 2226 return memo; 2227}; 2228 2229},{"./_a-function":16,"./_iobject":62,"./_to-length":132,"./_to-object":133}],28:[function(require,module,exports){ 2230var isObject = require('./_is-object'); 2231var isArray = require('./_is-array'); 2232var SPECIES = require('./_wks')('species'); 2233 2234module.exports = function (original) { 2235 var C; 2236 if (isArray(original)) { 2237 C = original.constructor; 2238 // cross-realm fallback 2239 if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; 2240 if (isObject(C)) { 2241 C = C[SPECIES]; 2242 if (C === null) C = undefined; 2243 } 2244 } return C === undefined ? Array : C; 2245}; 2246 2247},{"./_is-array":64,"./_is-object":66,"./_wks":143}],29:[function(require,module,exports){ 2248// 9.4.2.3 ArraySpeciesCreate(originalArray, length) 2249var speciesConstructor = require('./_array-species-constructor'); 2250 2251module.exports = function (original, length) { 2252 return new (speciesConstructor(original))(length); 2253}; 2254 2255},{"./_array-species-constructor":28}],30:[function(require,module,exports){ 2256'use strict'; 2257var aFunction = require('./_a-function'); 2258var isObject = require('./_is-object'); 2259var invoke = require('./_invoke'); 2260var arraySlice = [].slice; 2261var factories = {}; 2262 2263var construct = function (F, len, args) { 2264 if (!(len in factories)) { 2265 for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; 2266 // eslint-disable-next-line no-new-func 2267 factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); 2268 } return factories[len](F, args); 2269}; 2270 2271module.exports = Function.bind || function bind(that /* , ...args */) { 2272 var fn = aFunction(this); 2273 var partArgs = arraySlice.call(arguments, 1); 2274 var bound = function (/* args... */) { 2275 var args = partArgs.concat(arraySlice.call(arguments)); 2276 return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); 2277 }; 2278 if (isObject(fn.prototype)) bound.prototype = fn.prototype; 2279 return bound; 2280}; 2281 2282},{"./_a-function":16,"./_invoke":61,"./_is-object":66}],31:[function(require,module,exports){ 2283// getting tag from 19.1.3.6 Object.prototype.toString() 2284var cof = require('./_cof'); 2285var TAG = require('./_wks')('toStringTag'); 2286// ES3 wrong here 2287var ARG = cof(function () { return arguments; }()) == 'Arguments'; 2288 2289// fallback for IE11 Script Access Denied error 2290var tryGet = function (it, key) { 2291 try { 2292 return it[key]; 2293 } catch (e) { /* empty */ } 2294}; 2295 2296module.exports = function (it) { 2297 var O, T, B; 2298 return it === undefined ? 'Undefined' : it === null ? 'Null' 2299 // @@toStringTag case 2300 : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T 2301 // builtinTag case 2302 : ARG ? cof(O) 2303 // ES3 arguments fallback 2304 : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; 2305}; 2306 2307},{"./_cof":32,"./_wks":143}],32:[function(require,module,exports){ 2308var toString = {}.toString; 2309 2310module.exports = function (it) { 2311 return toString.call(it).slice(8, -1); 2312}; 2313 2314},{}],33:[function(require,module,exports){ 2315'use strict'; 2316var dP = require('./_object-dp').f; 2317var create = require('./_object-create'); 2318var redefineAll = require('./_redefine-all'); 2319var ctx = require('./_ctx'); 2320var anInstance = require('./_an-instance'); 2321var forOf = require('./_for-of'); 2322var $iterDefine = require('./_iter-define'); 2323var step = require('./_iter-step'); 2324var setSpecies = require('./_set-species'); 2325var DESCRIPTORS = require('./_descriptors'); 2326var fastKey = require('./_meta').fastKey; 2327var validate = require('./_validate-collection'); 2328var SIZE = DESCRIPTORS ? '_s' : 'size'; 2329 2330var getEntry = function (that, key) { 2331 // fast case 2332 var index = fastKey(key); 2333 var entry; 2334 if (index !== 'F') return that._i[index]; 2335 // frozen object case 2336 for (entry = that._f; entry; entry = entry.n) { 2337 if (entry.k == key) return entry; 2338 } 2339}; 2340 2341module.exports = { 2342 getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { 2343 var C = wrapper(function (that, iterable) { 2344 anInstance(that, C, NAME, '_i'); 2345 that._t = NAME; // collection type 2346 that._i = create(null); // index 2347 that._f = undefined; // first entry 2348 that._l = undefined; // last entry
vendor: 5,036 bytes, lines 2349-2485
2349 that[SIZE] = 0; // size 2350 if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); 2351 }); 2352 redefineAll(C.prototype, { 2353 // 23.1.3.1 Map.prototype.clear() 2354 // 23.2.3.2 Set.prototype.clear() 2355 clear: function clear() { 2356 for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { 2357 entry.r = true; 2358 if (entry.p) entry.p = entry.p.n = undefined; 2359 delete data[entry.i]; 2360 } 2361 that._f = that._l = undefined; 2362 that[SIZE] = 0; 2363 }, 2364 // 23.1.3.3 Map.prototype.delete(key) 2365 // 23.2.3.4 Set.prototype.delete(value) 2366 'delete': function (key) { 2367 var that = validate(this, NAME); 2368 var entry = getEntry(that, key); 2369 if (entry) { 2370 var next = entry.n; 2371 var prev = entry.p; 2372 delete that._i[entry.i]; 2373 entry.r = true; 2374 if (prev) prev.n = next; 2375 if (next) next.p = prev; 2376 if (that._f == entry) that._f = next; 2377 if (that._l == entry) that._l = prev; 2378 that[SIZE]--; 2379 } return !!entry; 2380 }, 2381 // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) 2382 // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) 2383 forEach: function forEach(callbackfn /* , that = undefined */) { 2384 validate(this, NAME); 2385 var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); 2386 var entry; 2387 while (entry = entry ? entry.n : this._f) { 2388 f(entry.v, entry.k, this); 2389 // revert to the last existing entry 2390 while (entry && entry.r) entry = entry.p; 2391 } 2392 }, 2393 // 23.1.3.7 Map.prototype.has(key) 2394 // 23.2.3.7 Set.prototype.has(value) 2395 has: function has(key) { 2396 return !!getEntry(validate(this, NAME), key); 2397 } 2398 }); 2399 if (DESCRIPTORS) dP(C.prototype, 'size', { 2400 get: function () { 2401 return validate(this, NAME)[SIZE]; 2402 } 2403 }); 2404 return C; 2405 }, 2406 def: function (that, key, value) { 2407 var entry = getEntry(that, key); 2408 var prev, index; 2409 // change existing entry 2410 if (entry) { 2411 entry.v = value; 2412 // create new entry 2413 } else { 2414 that._l = entry = { 2415 i: index = fastKey(key, true), // <- index 2416 k: key, // <- key 2417 v: value, // <- value 2418 p: prev = that._l, // <- previous entry 2419 n: undefined, // <- next entry 2420 r: false // <- removed 2421 }; 2422 if (!that._f) that._f = entry; 2423 if (prev) prev.n = entry; 2424 that[SIZE]++; 2425 // add to index 2426 if (index !== 'F') that._i[index] = entry; 2427 } return that; 2428 }, 2429 getEntry: getEntry, 2430 setStrong: function (C, NAME, IS_MAP) { 2431 // add .keys, .values, .entries, [@@iterator] 2432 // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 2433 $iterDefine(C, NAME, function (iterated, kind) { 2434 this._t = validate(iterated, NAME); // target 2435 this._k = kind; // kind 2436 this._l = undefined; // previous 2437 }, function () { 2438 var that = this; 2439 var kind = that._k; 2440 var entry = that._l; 2441 // revert to the last existing entry 2442 while (entry && entry.r) entry = entry.p; 2443 // get next entry 2444 if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { 2445 // or finish the iteration 2446 that._t = undefined; 2447 return step(1); 2448 } 2449 // return step by kind 2450 if (kind == 'keys') return step(0, entry.k); 2451 if (kind == 'values') return step(0, entry.v); 2452 return step(0, [entry.k, entry.v]); 2453 }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); 2454 2455 // add [@@species], 23.1.2.2, 23.2.2.2 2456 setSpecies(NAME); 2457 } 2458}; 2459 2460},{"./_an-instance":20,"./_ctx":39,"./_descriptors":43,"./_for-of":53,"./_iter-define":70,"./_iter-step":72,"./_meta":80,"./_object-create":85,"./_object-dp":86,"./_redefine-all":105,"./_set-species":114,"./_validate-collection":140}],34:[function(require,module,exports){ 2461// https://github.com/DavidBruant/Map-Set.prototype.toJSON 2462var classof = require('./_classof'); 2463var from = require('./_array-from-iterable'); 2464module.exports = function (NAME) { 2465 return function toJSON() { 2466 if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); 2467 return from(this); 2468 }; 2469}; 2470 2471},{"./_array-from-iterable":24,"./_classof":31}],35:[function(require,module,exports){ 2472'use strict'; 2473var redefineAll = require('./_redefine-all'); 2474var getWeak = require('./_meta').getWeak; 2475var anObject = require('./_an-object'); 2476var isObject = require('./_is-object'); 2477var anInstance = require('./_an-instance'); 2478var forOf = require('./_for-of'); 2479var createArrayMethod = require('./_array-methods'); 2480var $has = require('./_has'); 2481var validate = require('./_validate-collection'); 2482var arrayFind = createArrayMethod(5); 2483var arrayFindIndex = createArrayMethod(6); 2484var id = 0; 2485
vendor: 20,110 bytes, lines 2486-3041
2486// fallback for uncaught frozen keys 2487var uncaughtFrozenStore = function (that) { 2488 return that._l || (that._l = new UncaughtFrozenStore()); 2489}; 2490var UncaughtFrozenStore = function () { 2491 this.a = []; 2492}; 2493var findUncaughtFrozen = function (store, key) { 2494 return arrayFind(store.a, function (it) { 2495 return it[0] === key; 2496 }); 2497}; 2498UncaughtFrozenStore.prototype = { 2499 get: function (key) { 2500 var entry = findUncaughtFrozen(this, key); 2501 if (entry) return entry[1]; 2502 }, 2503 has: function (key) { 2504 return !!findUncaughtFrozen(this, key); 2505 }, 2506 set: function (key, value) { 2507 var entry = findUncaughtFrozen(this, key); 2508 if (entry) entry[1] = value; 2509 else this.a.push([key, value]); 2510 }, 2511 'delete': function (key) { 2512 var index = arrayFindIndex(this.a, function (it) { 2513 return it[0] === key; 2514 }); 2515 if (~index) this.a.splice(index, 1); 2516 return !!~index; 2517 } 2518}; 2519 2520module.exports = { 2521 getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { 2522 var C = wrapper(function (that, iterable) { 2523 anInstance(that, C, NAME, '_i'); 2524 that._t = NAME; // collection type 2525 that._i = id++; // collection id 2526 that._l = undefined; // leak store for uncaught frozen objects 2527 if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); 2528 }); 2529 redefineAll(C.prototype, { 2530 // 23.3.3.2 WeakMap.prototype.delete(key) 2531 // 23.4.3.3 WeakSet.prototype.delete(value) 2532 'delete': function (key) { 2533 if (!isObject(key)) return false; 2534 var data = getWeak(key); 2535 if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); 2536 return data && $has(data, this._i) && delete data[this._i]; 2537 }, 2538 // 23.3.3.4 WeakMap.prototype.has(key) 2539 // 23.4.3.4 WeakSet.prototype.has(value) 2540 has: function has(key) { 2541 if (!isObject(key)) return false; 2542 var data = getWeak(key); 2543 if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); 2544 return data && $has(data, this._i); 2545 } 2546 }); 2547 return C; 2548 }, 2549 def: function (that, key, value) { 2550 var data = getWeak(anObject(key), true); 2551 if (data === true) uncaughtFrozenStore(that).set(key, value); 2552 else data[that._i] = value; 2553 return that; 2554 }, 2555 ufstore: uncaughtFrozenStore 2556}; 2557 2558},{"./_an-instance":20,"./_an-object":21,"./_array-methods":26,"./_for-of":53,"./_has":56,"./_is-object":66,"./_meta":80,"./_redefine-all":105,"./_validate-collection":140}],36:[function(require,module,exports){ 2559'use strict'; 2560var global = require('./_global'); 2561var $export = require('./_export'); 2562var redefine = require('./_redefine'); 2563var redefineAll = require('./_redefine-all'); 2564var meta = require('./_meta'); 2565var forOf = require('./_for-of'); 2566var anInstance = require('./_an-instance'); 2567var isObject = require('./_is-object'); 2568var fails = require('./_fails'); 2569var $iterDetect = require('./_iter-detect'); 2570var setToStringTag = require('./_set-to-string-tag'); 2571var inheritIfRequired = require('./_inherit-if-required'); 2572 2573module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { 2574 var Base = global[NAME]; 2575 var C = Base; 2576 var ADDER = IS_MAP ? 'set' : 'add'; 2577 var proto = C && C.prototype; 2578 var O = {}; 2579 var fixMethod = function (KEY) { 2580 var fn = proto[KEY]; 2581 redefine(proto, KEY, 2582 KEY == 'delete' ? function (a) { 2583 return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); 2584 } : KEY == 'has' ? function has(a) { 2585 return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); 2586 } : KEY == 'get' ? function get(a) { 2587 return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); 2588 } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } 2589 : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } 2590 ); 2591 }; 2592 if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { 2593 new C().entries().next(); 2594 }))) { 2595 // create collection constructor 2596 C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); 2597 redefineAll(C.prototype, methods); 2598 meta.NEED = true; 2599 } else { 2600 var instance = new C(); 2601 // early implementations not supports chaining 2602 var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; 2603 // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false 2604 var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); 2605 // most early implementations doesn't supports iterables, most modern - not close it correctly 2606 var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new 2607 // for early implementations -0 and +0 not the same 2608 var BUGGY_ZERO = !IS_WEAK && fails(function () { 2609 // V8 ~ Chromium 42- fails only with 5+ elements 2610 var $instance = new C(); 2611 var index = 5; 2612 while (index--) $instance[ADDER](index, index); 2613 return !$instance.has(-0); 2614 }); 2615 if (!ACCEPT_ITERABLES) { 2616 C = wrapper(function (target, iterable) { 2617 anInstance(target, C, NAME); 2618 var that = inheritIfRequired(new Base(), target, C); 2619 if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); 2620 return that; 2621 }); 2622 C.prototype = proto; 2623 proto.constructor = C; 2624 } 2625 if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { 2626 fixMethod('delete'); 2627 fixMethod('has'); 2628 IS_MAP && fixMethod('get'); 2629 } 2630 if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); 2631 // weak collections should not contains .clear method 2632 if (IS_WEAK && proto.clear) delete proto.clear; 2633 } 2634 2635 setToStringTag(C, NAME); 2636 2637 O[NAME] = C; 2638 $export($export.G + $export.W + $export.F * (C != Base), O); 2639 2640 if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); 2641 2642 return C; 2643}; 2644 2645},{"./_an-instance":20,"./_export":47,"./_fails":49,"./_for-of":53,"./_global":55,"./_inherit-if-required":60,"./_is-object":66,"./_iter-detect":71,"./_meta":80,"./_redefine":106,"./_redefine-all":105,"./_set-to-string-tag":115}],37:[function(require,module,exports){ 2646var core = module.exports = { version: '2.6.12' }; 2647if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef 2648 2649},{}],38:[function(require,module,exports){ 2650'use strict'; 2651var $defineProperty = require('./_object-dp'); 2652var createDesc = require('./_property-desc'); 2653 2654module.exports = function (object, index, value) { 2655 if (index in object) $defineProperty.f(object, index, createDesc(0, value)); 2656 else object[index] = value; 2657}; 2658 2659},{"./_object-dp":86,"./_property-desc":104}],39:[function(require,module,exports){ 2660// optional / simple context binding 2661var aFunction = require('./_a-function'); 2662module.exports = function (fn, that, length) { 2663 aFunction(fn); 2664 if (that === undefined) return fn; 2665 switch (length) { 2666 case 1: return function (a) { 2667 return fn.call(that, a); 2668 }; 2669 case 2: return function (a, b) { 2670 return fn.call(that, a, b); 2671 }; 2672 case 3: return function (a, b, c) { 2673 return fn.call(that, a, b, c); 2674 }; 2675 } 2676 return function (/* ...args */) { 2677 return fn.apply(that, arguments); 2678 }; 2679}; 2680 2681},{"./_a-function":16}],40:[function(require,module,exports){ 2682'use strict'; 2683// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() 2684var fails = require('./_fails'); 2685var getTime = Date.prototype.getTime; 2686var $toISOString = Date.prototype.toISOString; 2687 2688var lz = function (num) { 2689 return num > 9 ? num : '0' + num; 2690}; 2691 2692// PhantomJS / old WebKit has a broken implementations 2693module.exports = (fails(function () { 2694 return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; 2695}) || !fails(function () { 2696 $toISOString.call(new Date(NaN)); 2697})) ? function toISOString() { 2698 if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); 2699 var d = this; 2700 var y = d.getUTCFullYear(); 2701 var m = d.getUTCMilliseconds(); 2702 var s = y < 0 ? '-' : y > 9999 ? '+' : ''; 2703 return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + 2704 '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + 2705 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + 2706 ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; 2707} : $toISOString; 2708 2709},{"./_fails":49}],41:[function(require,module,exports){ 2710'use strict'; 2711var anObject = require('./_an-object'); 2712var toPrimitive = require('./_to-primitive'); 2713var NUMBER = 'number'; 2714 2715module.exports = function (hint) { 2716 if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); 2717 return toPrimitive(anObject(this), hint != NUMBER); 2718}; 2719 2720},{"./_an-object":21,"./_to-primitive":134}],42:[function(require,module,exports){ 2721// 7.2.1 RequireObjectCoercible(argument) 2722module.exports = function (it) { 2723 if (it == undefined) throw TypeError("Can't call method on " + it); 2724 return it; 2725}; 2726 2727},{}],43:[function(require,module,exports){ 2728// Thank's IE8 for his funny defineProperty 2729module.exports = !require('./_fails')(function () { 2730 return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; 2731}); 2732 2733},{"./_fails":49}],44:[function(require,module,exports){ 2734var isObject = require('./_is-object'); 2735var document = require('./_global').document; 2736// typeof document.createElement is 'object' in old IE 2737var is = isObject(document) && isObject(document.createElement); 2738module.exports = function (it) { 2739 return is ? document.createElement(it) : {}; 2740}; 2741 2742},{"./_global":55,"./_is-object":66}],45:[function(require,module,exports){ 2743// IE 8- don't enum bug keys 2744module.exports = ( 2745 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' 2746).split(','); 2747 2748},{}],46:[function(require,module,exports){ 2749// all enumerable object keys, includes symbols 2750var getKeys = require('./_object-keys'); 2751var gOPS = require('./_object-gops'); 2752var pIE = require('./_object-pie'); 2753module.exports = function (it) { 2754 var result = getKeys(it); 2755 var getSymbols = gOPS.f; 2756 if (getSymbols) { 2757 var symbols = getSymbols(it); 2758 var isEnum = pIE.f; 2759 var i = 0; 2760 var key; 2761 while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); 2762 } return result; 2763}; 2764 2765},{"./_object-gops":92,"./_object-keys":95,"./_object-pie":96}],47:[function(require,module,exports){ 2766var global = require('./_global'); 2767var core = require('./_core'); 2768var hide = require('./_hide'); 2769var redefine = require('./_redefine'); 2770var ctx = require('./_ctx'); 2771var PROTOTYPE = 'prototype'; 2772 2773var $export = function (type, name, source) { 2774 var IS_FORCED = type & $export.F; 2775 var IS_GLOBAL = type & $export.G; 2776 var IS_STATIC = type & $export.S; 2777 var IS_PROTO = type & $export.P; 2778 var IS_BIND = type & $export.B; 2779 var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; 2780 var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); 2781 var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); 2782 var key, own, out, exp; 2783 if (IS_GLOBAL) source = name; 2784 for (key in source) { 2785 // contains in native 2786 own = !IS_FORCED && target && target[key] !== undefined; 2787 // export native or passed 2788 out = (own ? target : source)[key]; 2789 // bind timers to global for call from export context 2790 exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; 2791 // extend global 2792 if (target) redefine(target, key, out, type & $export.U); 2793 // export 2794 if (exports[key] != out) hide(exports, key, exp); 2795 if (IS_PROTO && expProto[key] != out) expProto[key] = out; 2796 } 2797}; 2798global.core = core; 2799// type bitmap 2800$export.F = 1; // forced 2801$export.G = 2; // global 2802$export.S = 4; // static 2803$export.P = 8; // proto 2804$export.B = 16; // bind 2805$export.W = 32; // wrap 2806$export.U = 64; // safe 2807$export.R = 128; // real proto method for `library` 2808module.exports = $export; 2809 2810},{"./_core":37,"./_ctx":39,"./_global":55,"./_hide":57,"./_redefine":106}],48:[function(require,module,exports){ 2811var MATCH = require('./_wks')('match'); 2812module.exports = function (KEY) { 2813 var re = /./; 2814 try { 2815 '/./'[KEY](re); 2816 } catch (e) { 2817 try { 2818 re[MATCH] = false; 2819 return !'/./'[KEY](re); 2820 } catch (f) { /* empty */ } 2821 } return true; 2822}; 2823 2824},{"./_wks":143}],49:[function(require,module,exports){ 2825module.exports = function (exec) { 2826 try { 2827 return !!exec(); 2828 } catch (e) { 2829 return true; 2830 } 2831}; 2832 2833},{}],50:[function(require,module,exports){ 2834'use strict'; 2835require('./es6.regexp.exec'); 2836var redefine = require('./_redefine'); 2837var hide = require('./_hide'); 2838var fails = require('./_fails'); 2839var defined = require('./_defined'); 2840var wks = require('./_wks'); 2841var regexpExec = require('./_regexp-exec'); 2842 2843var SPECIES = wks('species'); 2844 2845var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { 2846 // #replace needs built-in support for named groups. 2847 // #match works fine because it just return the exec results, even if it has 2848 // a "grops" property. 2849 var re = /./; 2850 re.exec = function () { 2851 var result = []; 2852 result.groups = { a: '7' }; 2853 return result; 2854 }; 2855 return ''.replace(re, '$<a>') !== '7'; 2856}); 2857 2858var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () { 2859 // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec 2860 var re = /(?:)/; 2861 var originalExec = re.exec; 2862 re.exec = function () { return originalExec.apply(this, arguments); }; 2863 var result = 'ab'.split(re); 2864 return result.length === 2 && result[0] === 'a' && result[1] === 'b'; 2865})(); 2866 2867module.exports = function (KEY, length, exec) { 2868 var SYMBOL = wks(KEY); 2869 2870 var DELEGATES_TO_SYMBOL = !fails(function () { 2871 // String methods call symbol-named RegEp methods 2872 var O = {}; 2873 O[SYMBOL] = function () { return 7; }; 2874 return ''[KEY](O) != 7; 2875 }); 2876 2877 var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () { 2878 // Symbol-named RegExp methods call .exec 2879 var execCalled = false; 2880 var re = /a/; 2881 re.exec = function () { execCalled = true; return null; }; 2882 if (KEY === 'split') { 2883 // RegExp[@@split] doesn't call the regex's exec method, but first creates 2884 // a new one. We need to return the patched regex when creating the new one. 2885 re.constructor = {}; 2886 re.constructor[SPECIES] = function () { return re; }; 2887 } 2888 re[SYMBOL](''); 2889 return !execCalled; 2890 }) : undefined; 2891 2892 if ( 2893 !DELEGATES_TO_SYMBOL || 2894 !DELEGATES_TO_EXEC || 2895 (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || 2896 (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) 2897 ) { 2898 var nativeRegExpMethod = /./[SYMBOL]; 2899 var fns = exec( 2900 defined, 2901 SYMBOL, 2902 ''[KEY], 2903 function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { 2904 if (regexp.exec === regexpExec) { 2905 if (DELEGATES_TO_SYMBOL && !forceStringMethod) { 2906 // The native String method already delegates to @@method (this 2907 // polyfilled function), leasing to infinite recursion. 2908 // We avoid it by directly calling the native @@method method. 2909 return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; 2910 } 2911 return { done: true, value: nativeMethod.call(str, regexp, arg2) }; 2912 } 2913 return { done: false }; 2914 } 2915 ); 2916 var strfn = fns[0]; 2917 var rxfn = fns[1]; 2918 2919 redefine(String.prototype, KEY, strfn); 2920 hide(RegExp.prototype, SYMBOL, length == 2 2921 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) 2922 // 21.2.5.11 RegExp.prototype[@@split](string, limit) 2923 ? function (string, arg) { return rxfn.call(string, this, arg); } 2924 // 21.2.5.6 RegExp.prototype[@@match](string) 2925 // 21.2.5.9 RegExp.prototype[@@search](string) 2926 : function (string) { return rxfn.call(string, this); } 2927 ); 2928 } 2929}; 2930 2931},{"./_defined":42,"./_fails":49,"./_hide":57,"./_redefine":106,"./_regexp-exec":108,"./_wks":143,"./es6.regexp.exec":240}],51:[function(require,module,exports){ 2932'use strict'; 2933// 21.2.5.3 get RegExp.prototype.flags 2934var anObject = require('./_an-object'); 2935module.exports = function () { 2936 var that = anObject(this); 2937 var result = ''; 2938 if (that.global) result += 'g'; 2939 if (that.ignoreCase) result += 'i'; 2940 if (that.multiline) result += 'm'; 2941 if (that.unicode) result += 'u'; 2942 if (that.sticky) result += 'y'; 2943 return result; 2944}; 2945 2946},{"./_an-object":21}],52:[function(require,module,exports){ 2947'use strict'; 2948// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray 2949var isArray = require('./_is-array'); 2950var isObject = require('./_is-object'); 2951var toLength = require('./_to-length'); 2952var ctx = require('./_ctx'); 2953var IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable'); 2954 2955function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { 2956 var targetIndex = start; 2957 var sourceIndex = 0; 2958 var mapFn = mapper ? ctx(mapper, thisArg, 3) : false; 2959 var element, spreadable; 2960 2961 while (sourceIndex < sourceLen) { 2962 if (sourceIndex in source) { 2963 element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; 2964 2965 spreadable = false; 2966 if (isObject(element)) { 2967 spreadable = element[IS_CONCAT_SPREADABLE]; 2968 spreadable = spreadable !== undefined ? !!spreadable : isArray(element); 2969 } 2970 2971 if (spreadable && depth > 0) { 2972 targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; 2973 } else { 2974 if (targetIndex >= 0x1fffffffffffff) throw TypeError(); 2975 target[targetIndex] = element; 2976 } 2977 2978 targetIndex++; 2979 } 2980 sourceIndex++; 2981 } 2982 return targetIndex; 2983} 2984 2985module.exports = flattenIntoArray; 2986 2987},{"./_ctx":39,"./_is-array":64,"./_is-object":66,"./_to-length":132,"./_wks":143}],53:[function(require,module,exports){ 2988var ctx = require('./_ctx'); 2989var call = require('./_iter-call'); 2990var isArrayIter = require('./_is-array-iter'); 2991var anObject = require('./_an-object'); 2992var toLength = require('./_to-length'); 2993var getIterFn = require('./core.get-iterator-method'); 2994var BREAK = {}; 2995var RETURN = {}; 2996var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { 2997 var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); 2998 var f = ctx(fn, that, entries ? 2 : 1); 2999 var index = 0; 3000 var length, step, iterator, result; 3001 if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); 3002 // fast case for arrays with default iterator 3003 if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { 3004 result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); 3005 if (result === BREAK || result === RETURN) return result; 3006 } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { 3007 result = call(iterator, f, step.value, entries); 3008 if (result === BREAK || result === RETURN) return result; 3009 } 3010}; 3011exports.BREAK = BREAK; 3012exports.RETURN = RETURN; 3013 3014},{"./_an-object":21,"./_ctx":39,"./_is-array-iter":63,"./_iter-call":68,"./_to-length":132,"./core.get-iterator-method":144}],54:[function(require,module,exports){ 3015module.exports = require('./_shared')('native-function-to-string', Function.toString); 3016 3017},{"./_shared":117}],55:[function(require,module,exports){ 3018// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 3019var global = module.exports = typeof window != 'undefined' && window.Math == Math 3020 ? window : typeof self != 'undefined' && self.Math == Math ? self 3021 // eslint-disable-next-line no-new-func 3022 : Function('return this')(); 3023if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef 3024 3025},{}],56:[function(require,module,exports){ 3026var hasOwnProperty = {}.hasOwnProperty; 3027module.exports = function (it, key) { 3028 return hasOwnProperty.call(it, key); 3029}; 3030 3031},{}],57:[function(require,module,exports){ 3032var dP = require('./_object-dp'); 3033var createDesc = require('./_property-desc'); 3034module.exports = require('./_descriptors') ? function (object, key, value) { 3035 return dP.f(object, key, createDesc(1, value)); 3036} : function (object, key, value) { 3037 object[key] = value; 3038 return object; 3039}; 3040 3041}
3041,{"./_descriptors":43,"./_object-dp":86,"./_property-desc":104}],58:[function(require,module,exports){ 3042var document = require('./_global').document; 3043module.exports = document && document.documentElement; 3044 3045},{"./_global":55}],59:[function(require,module,exports){ 3046module.exports = !require('./_descriptors') && !require('./_fails')(function () { 3047 return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7; 3048}); 3049 3050},{"./_descriptors":43,"./_dom-create":44,"./_fails":49}],60:[function(require,module,exports){ 3051var isObject = require('./_is-object'); 3052var setPrototypeOf = require('./_set-proto').set; 3053module.exports = function (that, target, C) { 3054 var S = target.constructor; 3055 var P; 3056 if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { 3057 setPrototypeOf(that, P); 3058 } return that; 3059}; 3060 3061},{"./_is-object":66,"./_set-proto":113}],61:[function(require,module,exports){ 3062// fast apply, http://jsperf.lnkit.com/fast-apply/5 3063module.exports = function (fn, args, that) { 3064 var un = that === undefined; 3065 switch (args.length) { 3066 case 0: return un ? fn() 3067 : fn.call(that); 3068 case 1: return un ? fn(args[0]) 3069 : fn.call(that, args[0]); 3070 case 2: return un ? fn(args[0], args[1]) 3071 : fn.call(that, args[0], args[1]); 3072 case 3: return un ? fn(args[0], args[1], args[2]) 3073 : fn.call(that, args[0], args[1], args[2]); 3074 case 4: return un ? fn(args[0], args[1], args[2], args[3]) 3075 : fn.call(that, args[0], args[1], args[2], args[3]); 3076 } return fn.apply(that, args); 3077}; 3078 3079},{}],62:[function(require,module,exports){ 3080// fallback for non-array-like ES3 and non-enumerable old V8 strings 3081var cof = require('./_cof'); 3082// eslint-disable-next-line no-prototype-builtins 3083module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { 3084 return cof(it) == 'String' ? it.split('') : Object(it); 3085}; 3086 3087},{"./_cof":32}],63:[function(require,module,exports){ 3088// check on default Array iterator 3089var Iterators = require('./_iterators'); 3090var ITERATOR = require('./_wks')('iterator'); 3091var ArrayProto = Array.prototype; 3092 3093module.exports = function (it) { 3094 return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); 3095}; 3096 3097},{"./_iterators":73,"./_wks":143}],64:[function(require,module,exports){ 3098// 7.2.2 IsArray(argument) 3099var cof = require('./_cof'); 3100module.exports = Array.isArray || function isArray(arg) { 3101 return cof(arg) == 'Array'; 3102}; 3103 3104},{"./_cof":32}],65:[function(require,module,exports){ 3105// 20.1.2.3 Number.isInteger(number) 3106var isObject = require('./_is-object'); 3107var floor = Math.floor; 3108module.exports = function isInteger(it) { 3109 return !isObject(it) && isFinite(it) && floor(it) === it; 3110}; 3111 3112},{"./_is-object":66}],66:[function(require,module,exports){ 3113module.exports = function (it) { 3114 return typeof it === 'object' ? it !== null : typeof it === 'function'; 3115}; 3116 3117},{}],67:[function(require,module,exports){ 3118// 7.2.8 IsRegExp(argument) 3119var isObject = require('./_is-object'); 3120var cof = require('./_cof'); 3121var MATCH = require('./_wks')('match'); 3122module.exports = function (it) { 3123 var isRegExp; 3124 return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); 3125}; 3126 3127},{"./_cof":32,"./_is-object":66,"./_wks":143}],68:[function(require,module,exports){ 3128// call something on iterator step with safe closing on error 3129var anObject = require('./_an-object'); 3130module.exports = function (iterator, fn, value, entries) { 3131 try { 3132 return entries ? fn(anObject(value)[0], value[1]) : fn(value); 3133 // 7.4.6 IteratorClose(iterator, completion) 3134 } catch (e) { 3135 var ret = iterator['return']; 3136 if (ret !== undefined) anObject(ret.call(iterator)); 3137 throw e; 3138 } 3139}; 3140 3141},{"./_an-object":21}],69:[function(require,module,exports){ 3142'use strict'; 3143var create = require('./_object-create'); 3144var descriptor = require('./_property-desc'); 3145var setToStringTag = require('./_set-to-string-tag'); 3146var IteratorPrototype = {}; 3147 3148// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() 3149require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; }); 3150 3151module.exports = function (Constructor, NAME, next) { 3152 Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); 3153 setToStringTag(Constructor, NAME + ' Iterator'); 3154}; 3155 3156},{"./_hide":57,"./_object-create":85,"./_property-desc":104,"./_set-to-string-tag":115,"./_wks":143}],70:[function(require,module,exports){ 3157'use strict'; 3158var LIBRARY = require('./_library');
vendor: 4,497 bytes, lines 3159-3282
3159var $export = require('./_export'); 3160var redefine = require('./_redefine'); 3161var hide = require('./_hide'); 3162var Iterators = require('./_iterators'); 3163var $iterCreate = require('./_iter-create'); 3164var setToStringTag = require('./_set-to-string-tag'); 3165var getPrototypeOf = require('./_object-gpo'); 3166var ITERATOR = require('./_wks')('iterator'); 3167var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` 3168var FF_ITERATOR = '@@iterator'; 3169var KEYS = 'keys'; 3170var VALUES = 'values'; 3171 3172var returnThis = function () { return this; }; 3173 3174module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { 3175 $iterCreate(Constructor, NAME, next); 3176 var getMethod = function (kind) { 3177 if (!BUGGY && kind in proto) return proto[kind]; 3178 switch (kind) { 3179 case KEYS: return function keys() { return new Constructor(this, kind); }; 3180 case VALUES: return function values() { return new Constructor(this, kind); }; 3181 } return function entries() { return new Constructor(this, kind); }; 3182 }; 3183 var TAG = NAME + ' Iterator'; 3184 var DEF_VALUES = DEFAULT == VALUES; 3185 var VALUES_BUG = false; 3186 var proto = Base.prototype; 3187 var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; 3188 var $default = $native || getMethod(DEFAULT); 3189 var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; 3190 var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; 3191 var methods, key, IteratorPrototype; 3192 // Fix native 3193 if ($anyNative) { 3194 IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); 3195 if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { 3196 // Set @@toStringTag to native iterators 3197 setToStringTag(IteratorPrototype, TAG, true); 3198 // fix for some old engines 3199 if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); 3200 } 3201 } 3202 // fix Array#{values, @@iterator}.name in V8 / FF 3203 if (DEF_VALUES && $native && $native.name !== VALUES) { 3204 VALUES_BUG = true; 3205 $default = function values() { return $native.call(this); }; 3206 } 3207 // Define iterator 3208 if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { 3209 hide(proto, ITERATOR, $default); 3210 } 3211 // Plug for library 3212 Iterators[NAME] = $default; 3213 Iterators[TAG] = returnThis; 3214 if (DEFAULT) { 3215 methods = { 3216 values: DEF_VALUES ? $default : getMethod(VALUES), 3217 keys: IS_SET ? $default : getMethod(KEYS), 3218 entries: $entries 3219 }; 3220 if (FORCED) for (key in methods) { 3221 if (!(key in proto)) redefine(proto, key, methods[key]); 3222 } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); 3223 } 3224 return methods; 3225}; 3226 3227},{"./_export":47,"./_hide":57,"./_iter-create":69,"./_iterators":73,"./_library":74,"./_object-gpo":93,"./_redefine":106,"./_set-to-string-tag":115,"./_wks":143}],71:[function(require,module,exports){ 3228var ITERATOR = require('./_wks')('iterator'); 3229var SAFE_CLOSING = false; 3230 3231try { 3232 var riter = [7][ITERATOR](); 3233 riter['return'] = function () { SAFE_CLOSING = true; }; 3234 // eslint-disable-next-line no-throw-literal 3235 Array.from(riter, function () { throw 2; }); 3236} catch (e) { /* empty */ } 3237 3238module.exports = function (exec, skipClosing) { 3239 if (!skipClosing && !SAFE_CLOSING) return false; 3240 var safe = false; 3241 try { 3242 var arr = [7]; 3243 var iter = arr[ITERATOR](); 3244 iter.next = function () { return { done: safe = true }; }; 3245 arr[ITERATOR] = function () { return iter; }; 3246 exec(arr); 3247 } catch (e) { /* empty */ } 3248 return safe; 3249}; 3250 3251},{"./_wks":143}],72:[function(require,module,exports){ 3252module.exports = function (done, value) { 3253 return { value: value, done: !!done }; 3254}; 3255 3256},{}],73:[function(require,module,exports){ 3257module.exports = {}; 3258 3259},{}],74:[function(require,module,exports){ 3260module.exports = false; 3261 3262},{}],75:[function(require,module,exports){ 3263// 20.2.2.14 Math.expm1(x) 3264var $expm1 = Math.expm1; 3265module.exports = (!$expm1 3266 // Old FF bug 3267 || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 3268 // Tor Browser bug 3269 || $expm1(-2e-17) != -2e-17 3270) ? function expm1(x) { 3271 return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; 3272} : $expm1; 3273 3274},{}],76:[function(require,module,exports){ 3275// 20.2.2.16 Math.fround(x) 3276var sign = require('./_math-sign'); 3277var pow = Math.pow; 3278var EPSILON = pow(2, -52); 3279var EPSILON32 = pow(2, -23); 3280var MAX32 = pow(2, 127) * (2 - EPSILON32); 3281var MIN32 = pow(2, -126); 3282
vendor: 4,706 bytes, lines 3283-3418
3283var roundTiesToEven = function (n) { 3284 return n + 1 / EPSILON - 1 / EPSILON; 3285}; 3286 3287module.exports = Math.fround || function fround(x) { 3288 var $abs = Math.abs(x); 3289 var $sign = sign(x); 3290 var a, result; 3291 if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; 3292 a = (1 + EPSILON32 / EPSILON) * $abs; 3293 result = a - (a - $abs); 3294 // eslint-disable-next-line no-self-compare 3295 if (result > MAX32 || result != result) return $sign * Infinity; 3296 return $sign * result; 3297}; 3298 3299},{"./_math-sign":79}],77:[function(require,module,exports){ 3300// 20.2.2.20 Math.log1p(x) 3301module.exports = Math.log1p || function log1p(x) { 3302 return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); 3303}; 3304 3305},{}],78:[function(require,module,exports){ 3306// https://rwaldron.github.io/proposal-math-extensions/ 3307module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { 3308 if ( 3309 arguments.length === 0 3310 // eslint-disable-next-line no-self-compare 3311 || x != x 3312 // eslint-disable-next-line no-self-compare 3313 || inLow != inLow 3314 // eslint-disable-next-line no-self-compare 3315 || inHigh != inHigh 3316 // eslint-disable-next-line no-self-compare 3317 || outLow != outLow 3318 // eslint-disable-next-line no-self-compare 3319 || outHigh != outHigh 3320 ) return NaN; 3321 if (x === Infinity || x === -Infinity) return x; 3322 return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; 3323}; 3324 3325},{}],79:[function(require,module,exports){ 3326// 20.2.2.28 Math.sign(x) 3327module.exports = Math.sign || function sign(x) { 3328 // eslint-disable-next-line no-self-compare 3329 return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; 3330}; 3331 3332},{}],80:[function(require,module,exports){ 3333var META = require('./_uid')('meta'); 3334var isObject = require('./_is-object'); 3335var has = require('./_has'); 3336var setDesc = require('./_object-dp').f; 3337var id = 0; 3338var isExtensible = Object.isExtensible || function () { 3339 return true; 3340}; 3341var FREEZE = !require('./_fails')(function () { 3342 return isExtensible(Object.preventExtensions({})); 3343}); 3344var setMeta = function (it) { 3345 setDesc(it, META, { value: { 3346 i: 'O' + ++id, // object ID 3347 w: {} // weak collections IDs 3348 } }); 3349}; 3350var fastKey = function (it, create) { 3351 // return primitive with prefix 3352 if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; 3353 if (!has(it, META)) { 3354 // can't set metadata to uncaught frozen object 3355 if (!isExtensible(it)) return 'F'; 3356 // not necessary to add metadata 3357 if (!create) return 'E'; 3358 // add missing metadata 3359 setMeta(it); 3360 // return object ID 3361 } return it[META].i; 3362}; 3363var getWeak = function (it, create) { 3364 if (!has(it, META)) { 3365 // can't set metadata to uncaught frozen object 3366 if (!isExtensible(it)) return true; 3367 // not necessary to add metadata 3368 if (!create) return false; 3369 // add missing metadata 3370 setMeta(it); 3371 // return hash weak collections IDs 3372 } return it[META].w; 3373}; 3374// add metadata on freeze-family methods calling 3375var onFreeze = function (it) { 3376 if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); 3377 return it; 3378}; 3379var meta = module.exports = { 3380 KEY: META, 3381 NEED: false, 3382 fastKey: fastKey, 3383 getWeak: getWeak, 3384 onFreeze: onFreeze 3385}; 3386 3387},{"./_fails":49,"./_has":56,"./_is-object":66,"./_object-dp":86,"./_uid":138}],81:[function(require,module,exports){ 3388var Map = require('./es6.map'); 3389var $export = require('./_export'); 3390var shared = require('./_shared')('metadata'); 3391var store = shared.store || (shared.store = new (require('./es6.weak-map'))()); 3392 3393var getOrCreateMetadataMap = function (target, targetKey, create) { 3394 var targetMetadata = store.get(target); 3395 if (!targetMetadata) { 3396 if (!create) return undefined; 3397 store.set(target, targetMetadata = new Map()); 3398 } 3399 var keyMetadata = targetMetadata.get(targetKey); 3400 if (!keyMetadata) { 3401 if (!create) return undefined; 3402 targetMetadata.set(targetKey, keyMetadata = new Map()); 3403 } return keyMetadata; 3404}; 3405var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { 3406 var metadataMap = getOrCreateMetadataMap(O, P, false); 3407 return metadataMap === undefined ? false : metadataMap.has(MetadataKey); 3408}; 3409var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { 3410 var metadataMap = getOrCreateMetadataMap(O, P, false); 3411 return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); 3412}; 3413var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { 3414 getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); 3415}; 3416var ordinaryOwnMetadataKeys = function (target, targetKey) { 3417 var metadataMap = getOrCreateMetadataMap(target, targetKey, false); 3418 var keys = [];
vendor: 8,633 bytes, lines 3419-3676
3419 if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); 3420 return keys; 3421}; 3422var toMetaKey = function (it) { 3423 return it === undefined || typeof it == 'symbol' ? it : String(it); 3424}; 3425var exp = function (O) { 3426 $export($export.S, 'Reflect', O); 3427}; 3428 3429module.exports = { 3430 store: store, 3431 map: getOrCreateMetadataMap, 3432 has: ordinaryHasOwnMetadata, 3433 get: ordinaryGetOwnMetadata, 3434 set: ordinaryDefineOwnMetadata, 3435 keys: ordinaryOwnMetadataKeys, 3436 key: toMetaKey, 3437 exp: exp 3438}; 3439 3440},{"./_export":47,"./_shared":117,"./es6.map":175,"./es6.weak-map":282}],82:[function(require,module,exports){ 3441var global = require('./_global'); 3442var macrotask = require('./_task').set; 3443var Observer = global.MutationObserver || global.WebKitMutationObserver; 3444var process = global.process; 3445var Promise = global.Promise; 3446var isNode = require('./_cof')(process) == 'process'; 3447 3448module.exports = function () { 3449 var head, last, notify; 3450 3451 var flush = function () { 3452 var parent, fn; 3453 if (isNode && (parent = process.domain)) parent.exit(); 3454 while (head) { 3455 fn = head.fn; 3456 head = head.next; 3457 try { 3458 fn(); 3459 } catch (e) { 3460 if (head) notify(); 3461 else last = undefined; 3462 throw e; 3463 } 3464 } last = undefined; 3465 if (parent) parent.enter(); 3466 }; 3467 3468 // Node.js 3469 if (isNode) { 3470 notify = function () { 3471 process.nextTick(flush); 3472 }; 3473 // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 3474 } else if (Observer && !(global.navigator && global.navigator.standalone)) { 3475 var toggle = true; 3476 var node = document.createTextNode(''); 3477 new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new 3478 notify = function () { 3479 node.data = toggle = !toggle; 3480 }; 3481 // environments with maybe non-completely correct, but existent Promise 3482 } else if (Promise && Promise.resolve) { 3483 // Promise.resolve without an argument throws an error in LG WebOS 2 3484 var promise = Promise.resolve(undefined); 3485 notify = function () { 3486 promise.then(flush); 3487 }; 3488 // for other environments - macrotask based on: 3489 // - setImmediate 3490 // - MessageChannel 3491 // - window.postMessag 3492 // - onreadystatechange 3493 // - setTimeout 3494 } else { 3495 notify = function () { 3496 // strange IE + webpack dev server bug - use .call(global) 3497 macrotask.call(global, flush); 3498 }; 3499 } 3500 3501 return function (fn) { 3502 var task = { fn: fn, next: undefined }; 3503 if (last) last.next = task; 3504 if (!head) { 3505 head = task; 3506 notify(); 3507 } last = task; 3508 }; 3509}; 3510 3511},{"./_cof":32,"./_global":55,"./_task":127}],83:[function(require,module,exports){ 3512'use strict'; 3513// 25.4.1.5 NewPromiseCapability(C) 3514var aFunction = require('./_a-function'); 3515 3516function PromiseCapability(C) { 3517 var resolve, reject; 3518 this.promise = new C(function ($$resolve, $$reject) { 3519 if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); 3520 resolve = $$resolve; 3521 reject = $$reject; 3522 }); 3523 this.resolve = aFunction(resolve); 3524 this.reject = aFunction(reject); 3525} 3526 3527module.exports.f = function (C) { 3528 return new PromiseCapability(C); 3529}; 3530 3531},{"./_a-function":16}],84:[function(require,module,exports){ 3532'use strict'; 3533// 19.1.2.1 Object.assign(target, source, ...) 3534var DESCRIPTORS = require('./_descriptors'); 3535var getKeys = require('./_object-keys'); 3536var gOPS = require('./_object-gops'); 3537var pIE = require('./_object-pie'); 3538var toObject = require('./_to-object'); 3539var IObject = require('./_iobject'); 3540var $assign = Object.assign; 3541 3542// should work with symbols and should have deterministic property order (V8 bug) 3543module.exports = !$assign || require('./_fails')(function () { 3544 var A = {}; 3545 var B = {}; 3546 // eslint-disable-next-line no-undef 3547 var S = Symbol(); 3548 var K = 'abcdefghijklmnopqrst'; 3549 A[S] = 7; 3550 K.split('').forEach(function (k) { B[k] = k; }); 3551 return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; 3552}) ? function assign(target, source) { // eslint-disable-line no-unused-vars 3553 var T = toObject(target); 3554 var aLen = arguments.length; 3555 var index = 1; 3556 var getSymbols = gOPS.f; 3557 var isEnum = pIE.f; 3558 while (aLen > index) { 3559 var S = IObject(arguments[index++]); 3560 var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); 3561 var length = keys.length; 3562 var j = 0; 3563 var key; 3564 while (length > j) { 3565 key = keys[j++]; 3566 if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; 3567 } 3568 } return T; 3569} : $assign; 3570 3571},{"./_descriptors":43,"./_fails":49,"./_iobject":62,"./_object-gops":92,"./_object-keys":95,"./_object-pie":96,"./_to-object":133}],85:[function(require,module,exports){ 3572// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) 3573var anObject = require('./_an-object'); 3574var dPs = require('./_object-dps'); 3575var enumBugKeys = require('./_enum-bug-keys'); 3576var IE_PROTO = require('./_shared-key')('IE_PROTO'); 3577var Empty = function () { /* empty */ }; 3578var PROTOTYPE = 'prototype'; 3579 3580// Create object with fake `null` prototype: use iframe Object with cleared prototype 3581var createDict = function () { 3582 // Thrash, waste and sodomy: IE GC bug 3583 var iframe = require('./_dom-create')('iframe'); 3584 var i = enumBugKeys.length; 3585 var lt = '<'; 3586 var gt = '>'; 3587 var iframeDocument; 3588 iframe.style.display = 'none'; 3589 require('./_html').appendChild(iframe); 3590 iframe.src = 'javascript:'; // eslint-disable-line no-script-url 3591 // createDict = iframe.contentWindow.Object; 3592 // html.removeChild(iframe); 3593 iframeDocument = iframe.contentWindow.document; 3594 iframeDocument.open(); 3595 iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); 3596 iframeDocument.close(); 3597 createDict = iframeDocument.F; 3598 while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; 3599 return createDict(); 3600}; 3601 3602module.exports = Object.create || function create(O, Properties) { 3603 var result; 3604 if (O !== null) { 3605 Empty[PROTOTYPE] = anObject(O); 3606 result = new Empty(); 3607 Empty[PROTOTYPE] = null; 3608 // add "__proto__" for Object.getPrototypeOf polyfill 3609 result[IE_PROTO] = O; 3610 } else result = createDict(); 3611 return Properties === undefined ? result : dPs(result, Properties); 3612}; 3613 3614},{"./_an-object":21,"./_dom-create":44,"./_enum-bug-keys":45,"./_html":58,"./_object-dps":87,"./_shared-key":116}],86:[function(require,module,exports){ 3615var anObject = require('./_an-object'); 3616var IE8_DOM_DEFINE = require('./_ie8-dom-define'); 3617var toPrimitive = require('./_to-primitive'); 3618var dP = Object.defineProperty; 3619 3620exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) { 3621 anObject(O); 3622 P = toPrimitive(P, true); 3623 anObject(Attributes); 3624 if (IE8_DOM_DEFINE) try { 3625 return dP(O, P, Attributes); 3626 } catch (e) { /* empty */ } 3627 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); 3628 if ('value' in Attributes) O[P] = Attributes.value; 3629 return O; 3630}; 3631 3632},{"./_an-object":21,"./_descriptors":43,"./_ie8-dom-define":59,"./_to-primitive":134}],87:[function(require,module,exports){ 3633var dP = require('./_object-dp'); 3634var anObject = require('./_an-object'); 3635var getKeys = require('./_object-keys'); 3636 3637module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) { 3638 anObject(O); 3639 var keys = getKeys(Properties); 3640 var length = keys.length; 3641 var i = 0; 3642 var P; 3643 while (length > i) dP.f(O, P = keys[i++], Properties[P]); 3644 return O; 3645}; 3646 3647},{"./_an-object":21,"./_descriptors":43,"./_object-dp":86,"./_object-keys":95}],88:[function(require,module,exports){ 3648'use strict'; 3649// Forced replacement prototype accessors methods 3650module.exports = require('./_library') || !require('./_fails')(function () { 3651 var K = Math.random(); 3652 // In FF throws only define methods 3653 // eslint-disable-next-line no-undef, no-useless-call 3654 __defineSetter__.call(null, K, function () { /* empty */ }); 3655 delete require('./_global')[K]; 3656}); 3657 3658},{"./_fails":49,"./_global":55,"./_library":74}],89:[function(require,module,exports){ 3659var pIE = require('./_object-pie'); 3660var createDesc = require('./_property-desc'); 3661var toIObject = require('./_to-iobject'); 3662var toPrimitive = require('./_to-primitive'); 3663var has = require('./_has'); 3664var IE8_DOM_DEFINE = require('./_ie8-dom-define'); 3665var gOPD = Object.getOwnPropertyDescriptor; 3666 3667exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) { 3668 O = toIObject(O); 3669 P = toPrimitive(P, true); 3670 if (IE8_DOM_DEFINE) try { 3671 return gOPD(O, P); 3672 } catch (e) { /* empty */ } 3673 if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); 3674}; 3675 3676}
vendor: 10,980 bytes, lines 3676-3998
3676,{"./_descriptors":43,"./_has":56,"./_ie8-dom-define":59,"./_object-pie":96,"./_property-desc":104,"./_to-iobject":131,"./_to-primitive":134}],90:[function(require,module,exports){ 3677// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window 3678var toIObject = require('./_to-iobject'); 3679var gOPN = require('./_object-gopn').f; 3680var toString = {}.toString; 3681 3682var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames 3683 ? Object.getOwnPropertyNames(window) : []; 3684 3685var getWindowNames = function (it) { 3686 try { 3687 return gOPN(it); 3688 } catch (e) { 3689 return windowNames.slice(); 3690 } 3691}; 3692 3693module.exports.f = function getOwnPropertyNames(it) { 3694 return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); 3695}; 3696 3697},{"./_object-gopn":91,"./_to-iobject":131}],91:[function(require,module,exports){ 3698// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) 3699var $keys = require('./_object-keys-internal'); 3700var hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype'); 3701 3702exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 3703 return $keys(O, hiddenKeys); 3704}; 3705 3706},{"./_enum-bug-keys":45,"./_object-keys-internal":94}],92:[function(require,module,exports){ 3707exports.f = Object.getOwnPropertySymbols; 3708 3709},{}],93:[function(require,module,exports){ 3710// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) 3711var has = require('./_has'); 3712var toObject = require('./_to-object'); 3713var IE_PROTO = require('./_shared-key')('IE_PROTO'); 3714var ObjectProto = Object.prototype; 3715 3716module.exports = Object.getPrototypeOf || function (O) { 3717 O = toObject(O); 3718 if (has(O, IE_PROTO)) return O[IE_PROTO]; 3719 if (typeof O.constructor == 'function' && O instanceof O.constructor) { 3720 return O.constructor.prototype; 3721 } return O instanceof Object ? ObjectProto : null; 3722}; 3723 3724},{"./_has":56,"./_shared-key":116,"./_to-object":133}],94:[function(require,module,exports){ 3725var has = require('./_has'); 3726var toIObject = require('./_to-iobject'); 3727var arrayIndexOf = require('./_array-includes')(false); 3728var IE_PROTO = require('./_shared-key')('IE_PROTO'); 3729 3730module.exports = function (object, names) { 3731 var O = toIObject(object); 3732 var i = 0; 3733 var result = []; 3734 var key; 3735 for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); 3736 // Don't enum bug & hidden keys 3737 while (names.length > i) if (has(O, key = names[i++])) { 3738 ~arrayIndexOf(result, key) || result.push(key); 3739 } 3740 return result; 3741}; 3742 3743},{"./_array-includes":25,"./_has":56,"./_shared-key":116,"./_to-iobject":131}],95:[function(require,module,exports){ 3744// 19.1.2.14 / 15.2.3.14 Object.keys(O) 3745var $keys = require('./_object-keys-internal'); 3746var enumBugKeys = require('./_enum-bug-keys'); 3747 3748module.exports = Object.keys || function keys(O) { 3749 return $keys(O, enumBugKeys); 3750}; 3751 3752},{"./_enum-bug-keys":45,"./_object-keys-internal":94}],96:[function(require,module,exports){ 3753exports.f = {}.propertyIsEnumerable; 3754 3755},{}],97:[function(require,module,exports){ 3756// most Object methods by ES6 should accept primitives 3757var $export = require('./_export'); 3758var core = require('./_core'); 3759var fails = require('./_fails'); 3760module.exports = function (KEY, exec) { 3761 var fn = (core.Object || {})[KEY] || Object[KEY]; 3762 var exp = {}; 3763 exp[KEY] = exec(fn); 3764 $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); 3765}; 3766 3767},{"./_core":37,"./_export":47,"./_fails":49}],98:[function(require,module,exports){ 3768var DESCRIPTORS = require('./_descriptors'); 3769var getKeys = require('./_object-keys'); 3770var toIObject = require('./_to-iobject'); 3771var isEnum = require('./_object-pie').f; 3772module.exports = function (isEntries) { 3773 return function (it) { 3774 var O = toIObject(it); 3775 var keys = getKeys(O); 3776 var length = keys.length; 3777 var i = 0; 3778 var result = []; 3779 var key; 3780 while (length > i) { 3781 key = keys[i++]; 3782 if (!DESCRIPTORS || isEnum.call(O, key)) { 3783 result.push(isEntries ? [key, O[key]] : O[key]); 3784 } 3785 } 3786 return result; 3787 }; 3788}; 3789 3790},{"./_descriptors":43,"./_object-keys":95,"./_object-pie":96,"./_to-iobject":131}],99:[function(require,module,exports){ 3791// all object keys, includes non-enumerable and symbols 3792var gOPN = require('./_object-gopn'); 3793var gOPS = require('./_object-gops'); 3794var anObject = require('./_an-object'); 3795var Reflect = require('./_global').Reflect; 3796module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { 3797 var keys = gOPN.f(anObject(it)); 3798 var getSymbols = gOPS.f; 3799 return getSymbols ? keys.concat(getSymbols(it)) : keys; 3800}; 3801 3802},{"./_an-object":21,"./_global":55,"./_object-gopn":91,"./_object-gops":92}],100:[function(require,module,exports){ 3803var $parseFloat = require('./_global').parseFloat; 3804var $trim = require('./_string-trim').trim; 3805 3806module.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) { 3807 var string = $trim(String(str), 3); 3808 var result = $parseFloat(string); 3809 return result === 0 && string.charAt(0) == '-' ? -0 : result; 3810} : $parseFloat; 3811 3812},{"./_global":55,"./_string-trim":125,"./_string-ws":126}],101:[function(require,module,exports){ 3813var $parseInt = require('./_global').parseInt; 3814var $trim = require('./_string-trim').trim; 3815var ws = require('./_string-ws'); 3816var hex = /^[-+]?0[xX]/; 3817 3818module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { 3819 var string = $trim(String(str), 3); 3820 return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); 3821} : $parseInt; 3822 3823},{"./_global":55,"./_string-trim":125,"./_string-ws":126}],102:[function(require,module,exports){ 3824module.exports = function (exec) { 3825 try { 3826 return { e: false, v: exec() }; 3827 } catch (e) { 3828 return { e: true, v: e }; 3829 } 3830}; 3831 3832},{}],103:[function(require,module,exports){ 3833var anObject = require('./_an-object'); 3834var isObject = require('./_is-object'); 3835var newPromiseCapability = require('./_new-promise-capability'); 3836 3837module.exports = function (C, x) { 3838 anObject(C); 3839 if (isObject(x) && x.constructor === C) return x; 3840 var promiseCapability = newPromiseCapability.f(C); 3841 var resolve = promiseCapability.resolve; 3842 resolve(x); 3843 return promiseCapability.promise; 3844}; 3845 3846},{"./_an-object":21,"./_is-object":66,"./_new-promise-capability":83}],104:[function(require,module,exports){ 3847module.exports = function (bitmap, value) { 3848 return { 3849 enumerable: !(bitmap & 1), 3850 configurable: !(bitmap & 2), 3851 writable: !(bitmap & 4), 3852 value: value 3853 }; 3854}; 3855 3856},{}],105:[function(require,module,exports){ 3857var redefine = require('./_redefine'); 3858module.exports = function (target, src, safe) { 3859 for (var key in src) redefine(target, key, src[key], safe); 3860 return target; 3861}; 3862 3863},{"./_redefine":106}],106:[function(require,module,exports){ 3864var global = require('./_global'); 3865var hide = require('./_hide'); 3866var has = require('./_has'); 3867var SRC = require('./_uid')('src'); 3868var $toString = require('./_function-to-string'); 3869var TO_STRING = 'toString'; 3870var TPL = ('' + $toString).split(TO_STRING); 3871 3872require('./_core').inspectSource = function (it) { 3873 return $toString.call(it); 3874}; 3875 3876(module.exports = function (O, key, val, safe) { 3877 var isFunction = typeof val == 'function'; 3878 if (isFunction) has(val, 'name') || hide(val, 'name', key); 3879 if (O[key] === val) return; 3880 if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); 3881 if (O === global) { 3882 O[key] = val; 3883 } else if (!safe) { 3884 delete O[key]; 3885 hide(O, key, val); 3886 } else if (O[key]) { 3887 O[key] = val; 3888 } else { 3889 hide(O, key, val); 3890 } 3891// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 3892})(Function.prototype, TO_STRING, function toString() { 3893 return typeof this == 'function' && this[SRC] || $toString.call(this); 3894}); 3895 3896},{"./_core":37,"./_function-to-string":54,"./_global":55,"./_has":56,"./_hide":57,"./_uid":138}],107:[function(require,module,exports){ 3897'use strict'; 3898 3899var classof = require('./_classof'); 3900var builtinExec = RegExp.prototype.exec; 3901 3902 // `RegExpExec` abstract operation 3903// https://tc39.github.io/ecma262/#sec-regexpexec 3904module.exports = function (R, S) { 3905 var exec = R.exec; 3906 if (typeof exec === 'function') { 3907 var result = exec.call(R, S); 3908 if (typeof result !== 'object') { 3909 throw new TypeError('RegExp exec method returned something other than an Object or null'); 3910 } 3911 return result; 3912 } 3913 if (classof(R) !== 'RegExp') { 3914 throw new TypeError('RegExp#exec called on incompatible receiver'); 3915 } 3916 return builtinExec.call(R, S); 3917}; 3918 3919},{"./_classof":31}],108:[function(require,module,exports){ 3920'use strict'; 3921 3922var regexpFlags = require('./_flags'); 3923 3924var nativeExec = RegExp.prototype.exec; 3925// This always refers to the native implementation, because the 3926// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, 3927// which loads this file before patching the method. 3928var nativeReplace = String.prototype.replace; 3929 3930var patchedExec = nativeExec; 3931 3932var LAST_INDEX = 'lastIndex'; 3933 3934var UPDATES_LAST_INDEX_WRONG = (function () { 3935 var re1 = /a/, 3936 re2 = /b*/g; 3937 nativeExec.call(re1, 'a'); 3938 nativeExec.call(re2, 'a'); 3939 return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; 3940})(); 3941 3942// nonparticipating capturing group, copied from es5-shim's String#split patch. 3943var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; 3944 3945var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; 3946 3947if (PATCH) { 3948 patchedExec = function exec(str) { 3949 var re = this; 3950 var lastIndex, reCopy, match, i; 3951 3952 if (NPCG_INCLUDED) { 3953 reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); 3954 } 3955 if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; 3956 3957 match = nativeExec.call(re, str); 3958 3959 if (UPDATES_LAST_INDEX_WRONG && match) { 3960 re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; 3961 } 3962 if (NPCG_INCLUDED && match && match.length > 1) { 3963 // Fix browsers whose `exec` methods don't consistently return `undefined` 3964 // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ 3965 // eslint-disable-next-line no-loop-func 3966 nativeReplace.call(match[0], reCopy, function () { 3967 for (i = 1; i < arguments.length - 2; i++) { 3968 if (arguments[i] === undefined) match[i] = undefined; 3969 } 3970 }); 3971 } 3972 3973 return match; 3974 }; 3975} 3976 3977module.exports = patchedExec; 3978 3979},{"./_flags":51}],109:[function(require,module,exports){ 3980module.exports = function (regExp, replace) { 3981 var replacer = replace === Object(replace) ? function (part) { 3982 return replace[part]; 3983 } : replace; 3984 return function (it) { 3985 return String(it).replace(regExp, replacer); 3986 }; 3987}; 3988 3989},{}],110:[function(require,module,exports){ 3990// 7.2.9 SameValue(x, y) 3991module.exports = Object.is || function is(x, y) { 3992 // eslint-disable-next-line no-self-compare 3993 return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; 3994}; 3995 3996},{}],111:[function(require,module,exports){ 3997'use strict'; 3998// https://tc39.github.io/proposal-setmap-offrom/
3999var $export = require('./_export'); 4000var aFunction = require('./_a-function'); 4001var ctx = require('./_ctx'); 4002var forOf = require('./_for-of'); 4003 4004module.exports = function (COLLECTION) { 4005 $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { 4006 var mapFn = arguments[1]; 4007 var mapping, A, n, cb; 4008 aFunction(this); 4009 mapping = mapFn !== undefined; 4010 if (mapping) aFunction(mapFn); 4011 if (source == undefined) return new this(); 4012 A = []; 4013 if (mapping) { 4014 n = 0; 4015 cb = ctx(mapFn, arguments[2], 2); 4016 forOf(source, false, function (nextItem) { 4017 A.push(cb(nextItem, n++)); 4018 }); 4019 } else { 4020 forOf(source, false, A.push, A); 4021 } 4022 return new this(A); 4023 } }); 4024}; 4025 4026},{"./_a-function":16,"./_ctx":39,"./_export":47,"./_for-of":53}],112:[function(require,module,exports){ 4027'use strict'; 4028// https://tc39.github.io/proposal-setmap-offrom/ 4029var $export = require('./_export'); 4030 4031module.exports = function (COLLECTION) { 4032 $export($export.S, COLLECTION, { of: function of() { 4033 var length = arguments.length; 4034 var A = new Array(length); 4035 while (length--) A[length] = arguments[length]; 4036 return new this(A); 4037 } }); 4038}; 4039 4040},{"./_export":47}],113:[function(require,module,exports){ 4041// Works with __proto__ only. Old v8 can't work with null proto objects. 4042/* eslint-disable no-proto */ 4043var isObject = require('./_is-object'); 4044var anObject = require('./_an-object'); 4045var check = function (O, proto) { 4046 anObject(O); 4047 if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); 4048}; 4049module.exports = { 4050 set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line 4051 function (test, buggy, set) { 4052 try { 4053 set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2); 4054 set(test, []); 4055 buggy = !(test instanceof Array); 4056 } catch (e) { buggy = true; } 4057 return function setPrototypeOf(O, proto) { 4058 check(O, proto); 4059 if (buggy) O.__proto__ = proto; 4060 else set(O, proto); 4061 return O; 4062 }; 4063 }({}, false) : undefined), 4064 check: check 4065}; 4066 4067},{"./_an-object":21,"./_ctx":39,"./_is-object":66,"./_object-gopd":89}],114:[function(require,module,exports){ 4068'use strict'; 4069var global = require('./_global'); 4070var dP = require('./_object-dp'); 4071var DESCRIPTORS = require('./_descriptors'); 4072var SPECIES = require('./_wks')('species'); 4073 4074module.exports = function (KEY) { 4075 var C = global[KEY]; 4076 if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { 4077 configurable: true, 4078 get: function () { return this; } 4079 }); 4080}; 4081 4082},{"./_descriptors":43,"./_global":55,"./_object-dp":86,"./_wks":143}],115:[function(require,module,exports){ 4083var def = require('./_object-dp').f; 4084var has = require('./_has'); 4085var TAG = require('./_wks')('toStringTag'); 4086 4087module.exports = function (it, tag, stat) { 4088 if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); 4089}; 4090 4091},{"./_has":56,"./_object-dp":86,"./_wks":143}],116:[function(require,module,exports){ 4092var shared = require('./_shared')('keys'); 4093var uid = require('./_uid'); 4094module.exports = function (key) {
vendor: 8,818 bytes, lines 4095-4349
4095 return shared[key] || (shared[key] = uid(key)); 4096}; 4097 4098},{"./_shared":117,"./_uid":138}],117:[function(require,module,exports){ 4099var core = require('./_core'); 4100var global = require('./_global'); 4101var SHARED = '__core-js_shared__'; 4102var store = global[SHARED] || (global[SHARED] = {}); 4103 4104(module.exports = function (key, value) { 4105 return store[key] || (store[key] = value !== undefined ? value : {}); 4106})('versions', []).push({ 4107 version: core.version, 4108 mode: require('./_library') ? 'pure' : 'global', 4109 copyright: '© 2020 Denis Pushkarev (zloirock.ru)' 4110}); 4111 4112},{"./_core":37,"./_global":55,"./_library":74}],118:[function(require,module,exports){ 4113// 7.3.20 SpeciesConstructor(O, defaultConstructor) 4114var anObject = require('./_an-object'); 4115var aFunction = require('./_a-function'); 4116var SPECIES = require('./_wks')('species'); 4117module.exports = function (O, D) { 4118 var C = anObject(O).constructor; 4119 var S; 4120 return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); 4121}; 4122 4123},{"./_a-function":16,"./_an-object":21,"./_wks":143}],119:[function(require,module,exports){ 4124'use strict'; 4125var fails = require('./_fails'); 4126 4127module.exports = function (method, arg) { 4128 return !!method && fails(function () { 4129 // eslint-disable-next-line no-useless-call 4130 arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); 4131 }); 4132}; 4133 4134},{"./_fails":49}],120:[function(require,module,exports){ 4135var toInteger = require('./_to-integer'); 4136var defined = require('./_defined'); 4137// true -> String#at 4138// false -> String#codePointAt 4139module.exports = function (TO_STRING) { 4140 return function (that, pos) { 4141 var s = String(defined(that)); 4142 var i = toInteger(pos); 4143 var l = s.length; 4144 var a, b; 4145 if (i < 0 || i >= l) return TO_STRING ? '' : undefined; 4146 a = s.charCodeAt(i); 4147 return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff 4148 ? TO_STRING ? s.charAt(i) : a 4149 : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; 4150 }; 4151}; 4152 4153},{"./_defined":42,"./_to-integer":130}],121:[function(require,module,exports){ 4154// helper for String#{startsWith, endsWith, includes} 4155var isRegExp = require('./_is-regexp'); 4156var defined = require('./_defined'); 4157 4158module.exports = function (that, searchString, NAME) { 4159 if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); 4160 return String(defined(that)); 4161}; 4162 4163},{"./_defined":42,"./_is-regexp":67}],122:[function(require,module,exports){ 4164var $export = require('./_export'); 4165var fails = require('./_fails'); 4166var defined = require('./_defined'); 4167var quot = /"/g; 4168// B.2.3.2.1 CreateHTML(string, tag, attribute, value) 4169var createHTML = function (string, tag, attribute, value) { 4170 var S = String(defined(string)); 4171 var p1 = '<' + tag; 4172 if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; 4173 return p1 + '>' + S + '</' + tag + '>'; 4174}; 4175module.exports = function (NAME, exec) { 4176 var O = {}; 4177 O[NAME] = exec(createHTML); 4178 $export($export.P + $export.F * fails(function () { 4179 var test = ''[NAME]('"'); 4180 return test !== test.toLowerCase() || test.split('"').length > 3; 4181 }), 'String', O); 4182}; 4183 4184},{"./_defined":42,"./_export":47,"./_fails":49}],123:[function(require,module,exports){ 4185// https://github.com/tc39/proposal-string-pad-start-end 4186var toLength = require('./_to-length'); 4187var repeat = require('./_string-repeat'); 4188var defined = require('./_defined'); 4189 4190module.exports = function (that, maxLength, fillString, left) { 4191 var S = String(defined(that)); 4192 var stringLength = S.length; 4193 var fillStr = fillString === undefined ? ' ' : String(fillString); 4194 var intMaxLength = toLength(maxLength); 4195 if (intMaxLength <= stringLength || fillStr == '') return S; 4196 var fillLen = intMaxLength - stringLength; 4197 var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); 4198 if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); 4199 return left ? stringFiller + S : S + stringFiller; 4200}; 4201 4202},{"./_defined":42,"./_string-repeat":124,"./_to-length":132}],124:[function(require,module,exports){ 4203'use strict'; 4204var toInteger = require('./_to-integer'); 4205var defined = require('./_defined'); 4206 4207module.exports = function repeat(count) { 4208 var str = String(defined(this)); 4209 var res = ''; 4210 var n = toInteger(count); 4211 if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); 4212 for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; 4213 return res; 4214}; 4215 4216},{"./_defined":42,"./_to-integer":130}],125:[function(require,module,exports){ 4217var $export = require('./_export'); 4218var defined = require('./_defined'); 4219var fails = require('./_fails'); 4220var spaces = require('./_string-ws'); 4221var space = '[' + spaces + ']'; 4222var non = '\u200b\u0085'; 4223var ltrim = RegExp('^' + space + space + '*'); 4224var rtrim = RegExp(space + space + '*$'); 4225 4226var exporter = function (KEY, exec, ALIAS) { 4227 var exp = {}; 4228 var FORCE = fails(function () { 4229 return !!spaces[KEY]() || non[KEY]() != non; 4230 }); 4231 var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; 4232 if (ALIAS) exp[ALIAS] = fn; 4233 $export($export.P + $export.F * FORCE, 'String', exp); 4234}; 4235 4236// 1 -> String#trimLeft 4237// 2 -> String#trimRight 4238// 3 -> String#trim 4239var trim = exporter.trim = function (string, TYPE) { 4240 string = String(defined(string)); 4241 if (TYPE & 1) string = string.replace(ltrim, ''); 4242 if (TYPE & 2) string = string.replace(rtrim, ''); 4243 return string; 4244}; 4245 4246module.exports = exporter; 4247 4248},{"./_defined":42,"./_export":47,"./_fails":49,"./_string-ws":126}],126:[function(require,module,exports){ 4249module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + 4250 '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 4251 4252},{}],127:[function(require,module,exports){ 4253var ctx = require('./_ctx'); 4254var invoke = require('./_invoke'); 4255var html = require('./_html'); 4256var cel = require('./_dom-create'); 4257var global = require('./_global'); 4258var process = global.process; 4259var setTask = global.setImmediate; 4260var clearTask = global.clearImmediate; 4261var MessageChannel = global.MessageChannel; 4262var Dispatch = global.Dispatch; 4263var counter = 0; 4264var queue = {}; 4265var ONREADYSTATECHANGE = 'onreadystatechange'; 4266var defer, channel, port; 4267var run = function () { 4268 var id = +this; 4269 // eslint-disable-next-line no-prototype-builtins 4270 if (queue.hasOwnProperty(id)) { 4271 var fn = queue[id]; 4272 delete queue[id]; 4273 fn(); 4274 } 4275}; 4276var listener = function (event) { 4277 run.call(event.data); 4278}; 4279// Node.js 0.9+ & IE10+ has setImmediate, otherwise: 4280if (!setTask || !clearTask) { 4281 setTask = function setImmediate(fn) { 4282 var args = []; 4283 var i = 1; 4284 while (arguments.length > i) args.push(arguments[i++]); 4285 queue[++counter] = function () { 4286 // eslint-disable-next-line no-new-func 4287 invoke(typeof fn == 'function' ? fn : Function(fn), args); 4288 }; 4289 defer(counter); 4290 return counter; 4291 }; 4292 clearTask = function clearImmediate(id) { 4293 delete queue[id]; 4294 }; 4295 // Node.js 0.8- 4296 if (require('./_cof')(process) == 'process') { 4297 defer = function (id) { 4298 process.nextTick(ctx(run, id, 1)); 4299 }; 4300 // Sphere (JS game engine) Dispatch API 4301 } else if (Dispatch && Dispatch.now) { 4302 defer = function (id) { 4303 Dispatch.now(ctx(run, id, 1)); 4304 }; 4305 // Browsers with MessageChannel, includes WebWorkers 4306 } else if (MessageChannel) { 4307 channel = new MessageChannel(); 4308 port = channel.port2; 4309 channel.port1.onmessage = listener; 4310 defer = ctx(port.postMessage, port, 1); 4311 // Browsers with postMessage, skip WebWorkers 4312 // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' 4313 } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { 4314 defer = function (id) { 4315 global.postMessage(id + '', '*'); 4316 }; 4317 global.addEventListener('message', listener, false); 4318 // IE8- 4319 } else if (ONREADYSTATECHANGE in cel('script')) { 4320 defer = function (id) { 4321 html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { 4322 html.removeChild(this); 4323 run.call(id); 4324 }; 4325 }; 4326 // Rest old browsers 4327 } else { 4328 defer = function (id) { 4329 setTimeout(ctx(run, id, 1), 0); 4330 }; 4331 } 4332} 4333module.exports = { 4334 set: setTask, 4335 clear: clearTask 4336}; 4337 4338},{"./_cof":32,"./_ctx":39,"./_dom-create":44,"./_global":55,"./_html":58,"./_invoke":61}],128:[function(require,module,exports){ 4339var toInteger = require('./_to-integer'); 4340var max = Math.max; 4341var min = Math.min; 4342module.exports = function (index, length) { 4343 index = toInteger(index); 4344 return index < 0 ? max(index + length, 0) : min(index, length); 4345}; 4346 4347},{"./_to-integer":130}],129:[function(require,module,exports){ 4348// https://tc39.github.io/ecma262/#sec-toindex 4349var toInteger = require('./_to-integer');
4350var toLength = require('./_to-length'); 4351module.exports = function (it) { 4352 if (it === undefined) return 0; 4353 var number = toInteger(it); 4354 var length = toLength(number); 4355 if (number !== length) throw RangeError('Wrong length!'); 4356 return length; 4357}; 4358 4359},{"./_to-integer":130,"./_to-length":132}],130:[function(require,module,exports){ 4360// 7.1.4 ToInteger 4361var ceil = Math.ceil; 4362var floor = Math.floor; 4363module.exports = function (it) { 4364 return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); 4365}; 4366 4367},{}],131:[function(require,module,exports){ 4368// to indexed object, toObject with fallback for non-array-like ES3 strings 4369var IObject = require('./_iobject'); 4370var defined = require('./_defined'); 4371module.exports = function (it) { 4372 return IObject(defined(it)); 4373}; 4374 4375},{"./_defined":42,"./_iobject":62}],132:[function(require,module,exports){ 4376// 7.1.15 ToLength 4377var toInteger = require('./_to-integer'); 4378var min = Math.min; 4379module.exports = function (it) { 4380 return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 4381}; 4382 4383},{"./_to-integer":130}],133:[function(require,module,exports){ 4384// 7.1.13 ToObject(argument) 4385var defined = require('./_defined'); 4386module.exports = function (it) { 4387 return Object(defined(it)); 4388}; 4389 4390},{"./_defined":42}],134:[function(require,module,exports){ 4391// 7.1.1 ToPrimitive(input [, PreferredType]) 4392var isObject = require('./_is-object'); 4393// instead of the ES6 spec version, we didn't implement @@toPrimitive case 4394// and the second argument - flag - preferred type is a string 4395module.exports = function (it, S) { 4396 if (!isObject(it)) return it; 4397 var fn, val; 4398 if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 4399 if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; 4400 if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 4401 throw TypeError("Can't convert object to primitive value"); 4402}; 4403 4404},{"./_is-object":66}],135:[function(require,module,exports){ 4405'use strict'; 4406if (require('./_descriptors')) { 4407 var LIBRARY = require('./_library'); 4408 var global = require('./_global'); 4409 var fails = require('./_fails'); 4410 var $export = require('./_export'); 4411 var $typed = require('./_typed'); 4412 var $buffer = require('./_typed-buffer'); 4413 var ctx = require('./_ctx'); 4414 var anInstance = require('./_an-instance'); 4415 var propertyDesc = require('./_property-desc'); 4416 var hide = require('./_hide'); 4417 var redefineAll = require('./_redefine-all'); 4418 var toInteger = require('./_to-integer'); 4419 var toLength = require('./_to-length'); 4420 var toIndex = require('./_to-index'); 4421 var toAbsoluteIndex = require('./_to-absolute-index'); 4422 var toPrimitive = require('./_to-primitive'); 4423 var has = require('./_has'); 4424 var classof = require('./_classof'); 4425 var isObject = require('./_is-object'); 4426 var toObject = require('./_to-object'); 4427 var isArrayIter = require('./_is-array-iter'); 4428 var create = require('./_object-create'); 4429 var getPrototypeOf = require('./_object-gpo'); 4430 var gOPN = require('./_object-gopn').f; 4431 var getIterFn = require('./core.get-iterator-method'); 4432 var uid = require('./_uid'); 4433 var wks = require('./_wks'); 4434 var createArrayMethod = require('./_array-methods'); 4435 var createArrayIncludes = require('./_array-includes'); 4436 var speciesConstructor = require('./_species-constructor'); 4437 var ArrayIterators = require('./es6.array.iterator'); 4438 var Iterators = require('./_iterators'); 4439 var $iterDetect = require('./_iter-detect'); 4440 var setSpecies = require('./_set-species'); 4441 var arrayFill = require('./_array-fill'); 4442 var arrayCopyWithin = require('./_array-copy-within'); 4443 var $DP = require('./_object-dp'); 4444 var $GOPD = require('./_object-gopd'
vendor: 8,586 bytes, lines 4444-4672
4444); 4445 var dP = $DP.f; 4446 var gOPD = $GOPD.f; 4447 var RangeError = global.RangeError; 4448 var TypeError = global.TypeError; 4449 var Uint8Array = global.Uint8Array; 4450 var ARRAY_BUFFER = 'ArrayBuffer'; 4451 var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; 4452 var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; 4453 var PROTOTYPE = 'prototype'; 4454 var ArrayProto = Array[PROTOTYPE]; 4455 var $ArrayBuffer = $buffer.ArrayBuffer; 4456 var $DataView = $buffer.DataView; 4457 var arrayForEach = createArrayMethod(0); 4458 var arrayFilter = createArrayMethod(2); 4459 var arraySome = createArrayMethod(3); 4460 var arrayEvery = createArrayMethod(4); 4461 var arrayFind = createArrayMethod(5); 4462 var arrayFindIndex = createArrayMethod(6); 4463 var arrayIncludes = createArrayIncludes(true); 4464 var arrayIndexOf = createArrayIncludes(false); 4465 var arrayValues = ArrayIterators.values; 4466 var arrayKeys = ArrayIterators.keys; 4467 var arrayEntries = ArrayIterators.entries; 4468 var arrayLastIndexOf = ArrayProto.lastIndexOf; 4469 var arrayReduce = ArrayProto.reduce; 4470 var arrayReduceRight = ArrayProto.reduceRight; 4471 var arrayJoin = ArrayProto.join; 4472 var arraySort = ArrayProto.sort; 4473 var arraySlice = ArrayProto.slice; 4474 var arrayToString = ArrayProto.toString; 4475 var arrayToLocaleString = ArrayProto.toLocaleString; 4476 var ITERATOR = wks('iterator'); 4477 var TAG = wks('toStringTag'); 4478 var TYPED_CONSTRUCTOR = uid('typed_constructor'); 4479 var DEF_CONSTRUCTOR = uid('def_constructor'); 4480 var ALL_CONSTRUCTORS = $typed.CONSTR; 4481 var TYPED_ARRAY = $typed.TYPED; 4482 var VIEW = $typed.VIEW; 4483 var WRONG_LENGTH = 'Wrong length!'; 4484 4485 var $map = createArrayMethod(1, function (O, length) { 4486 return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); 4487 }); 4488 4489 var LITTLE_ENDIAN = fails(function () { 4490 // eslint-disable-next-line no-undef 4491 return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; 4492 }); 4493 4494 var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { 4495 new Uint8Array(1).set({}); 4496 }); 4497 4498 var toOffset = function (it, BYTES) { 4499 var offset = toInteger(it); 4500 if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); 4501 return offset; 4502 }; 4503 4504 var validate = function (it) { 4505 if (isObject(it) && TYPED_ARRAY in it) return it; 4506 throw TypeError(it + ' is not a typed array!'); 4507 }; 4508 4509 var allocate = function (C, length) { 4510 if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { 4511 throw TypeError('It is not a typed array constructor!'); 4512 } return new C(length); 4513 }; 4514 4515 var speciesFromList = function (O, list) { 4516 return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); 4517 }; 4518 4519 var fromList = function (C, list) { 4520 var index = 0; 4521 var length = list.length; 4522 var result = allocate(C, length); 4523 while (length > index) result[index] = list[index++]; 4524 return result; 4525 }; 4526 4527 var addGetter = function (it, key, internal) { 4528 dP(it, key, { get: function () { return this._d[internal]; } }); 4529 }; 4530 4531 var $from = function from(source /* , mapfn, thisArg */) { 4532 var O = toObject(source); 4533 var aLen = arguments.length; 4534 var mapfn = aLen > 1 ? arguments[1] : undefined; 4535 var mapping = mapfn !== undefined; 4536 var iterFn = getIterFn(O); 4537 var i, length, values, result, step, iterator; 4538 if (iterFn != undefined && !isArrayIter(iterFn)) { 4539 for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { 4540 values.push(step.value); 4541 } O = values; 4542 } 4543 if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); 4544 for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { 4545 result[i] = mapping ? mapfn(O[i], i) : O[i]; 4546 } 4547 return result; 4548 }; 4549 4550 var $of = function of(/* ...items */) { 4551 var index = 0; 4552 var length = arguments.length; 4553 var result = allocate(this, length); 4554 while (length > index) result[index] = arguments[index++]; 4555 return result; 4556 }; 4557 4558 // iOS Safari 6.x fails here 4559 var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); 4560 4561 var $toLocaleString = function toLocaleString() { 4562 return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); 4563 }; 4564 4565 var proto = { 4566 copyWithin: function copyWithin(target, start /* , end */) { 4567 return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); 4568 }, 4569 every: function every(callbackfn /* , thisArg */) { 4570 return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4571 }, 4572 fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars 4573 return arrayFill.apply(validate(this), arguments); 4574 }, 4575 filter: function filter(callbackfn /* , thisArg */) { 4576 return speciesFromList(this, arrayFilter(validate(this), callbackfn, 4577 arguments.length > 1 ? arguments[1] : undefined)); 4578 }, 4579 find: function find(predicate /* , thisArg */) { 4580 return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 4581 }, 4582 findIndex: function findIndex(predicate /* , thisArg */) { 4583 return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 4584 }, 4585 forEach: function forEach(callbackfn /* , thisArg */) { 4586 arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4587 }, 4588 indexOf: function indexOf(searchElement /* , fromIndex */) { 4589 return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 4590 }, 4591 includes: function includes(searchElement /* , fromIndex */) { 4592 return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 4593 }, 4594 join: function join(separator) { // eslint-disable-line no-unused-vars 4595 return arrayJoin.apply(validate(this), arguments); 4596 }, 4597 lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars 4598 return arrayLastIndexOf.apply(validate(this), arguments); 4599 }, 4600 map: function map(mapfn /* , thisArg */) { 4601 return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); 4602 }, 4603 reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars 4604 return arrayReduce.apply(validate(this), arguments); 4605 }, 4606 reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars 4607 return arrayReduceRight.apply(validate(this), arguments); 4608 }, 4609 reverse: function reverse() { 4610 var that = this; 4611 var length = validate(that).length; 4612 var middle = Math.floor(length / 2); 4613 var index = 0; 4614 var value; 4615 while (index < middle) { 4616 value = that[index]; 4617 that[index++] = that[--length]; 4618 that[length] = value; 4619 } return that; 4620 }, 4621 some: function some(callbackfn /* , thisArg */) { 4622 return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4623 }, 4624 sort: function sort(comparefn) { 4625 return arraySort.call(validate(this), comparefn); 4626 }, 4627 subarray: function subarray(begin, end) { 4628 var O = validate(this); 4629 var length = O.length; 4630 var $begin = toAbsoluteIndex(begin, length); 4631 return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( 4632 O.buffer, 4633 O.byteOffset + $begin * O.BYTES_PER_ELEMENT, 4634 toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) 4635 ); 4636 } 4637 }; 4638 4639 var $slice = function slice(start, end) { 4640 return speciesFromList(this, arraySlice.call(validate(this), start, end)); 4641 }; 4642 4643 var $set = function set(arrayLike /* , offset */) { 4644 validate(this); 4645 var offset = toOffset(arguments[1], 1); 4646 var length = this.length; 4647 var src = toObject(arrayLike); 4648 var len = toLength(src.length); 4649 var index = 0; 4650 if (len + offset > length) throw RangeError(WRONG_LENGTH); 4651 while (index < len) this[offset + index] = src[index++]; 4652 }; 4653 4654 var $iterators = { 4655 entries: function entries() { 4656 return arrayEntries.call(validate(this)); 4657 }, 4658 keys: function keys() { 4659 return arrayKeys.call(validate(this)); 4660 }, 4661 values: function values() { 4662 return arrayValues.call(validate(this)); 4663 } 4664 }; 4665 4666 var isTAIndex = function (target, key) { 4667 return isObject(target) 4668 && target[TYPED_ARRAY] 4669 && typeof key != 'symbol' 4670 && key in target 4671 && String(+key) == String(key); 4672 };
vendor: 7,985 bytes, lines 4673-4884
4673 var $getDesc = function getOwnPropertyDescriptor(target, key) { 4674 return isTAIndex(target, key = toPrimitive(key, true)) 4675 ? propertyDesc(2, target[key]) 4676 : gOPD(target, key); 4677 }; 4678 var $setDesc = function defineProperty(target, key, desc) { 4679 if (isTAIndex(target, key = toPrimitive(key, true)) 4680 && isObject(desc) 4681 && has(desc, 'value') 4682 && !has(desc, 'get') 4683 && !has(desc, 'set') 4684 // TODO: add validation descriptor w/o calling accessors 4685 && !desc.configurable 4686 && (!has(desc, 'writable') || desc.writable) 4687 && (!has(desc, 'enumerable') || desc.enumerable) 4688 ) { 4689 target[key] = desc.value; 4690 return target; 4691 } return dP(target, key, desc); 4692 }; 4693 4694 if (!ALL_CONSTRUCTORS) { 4695 $GOPD.f = $getDesc; 4696 $DP.f = $setDesc; 4697 } 4698 4699 $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { 4700 getOwnPropertyDescriptor: $getDesc, 4701 defineProperty: $setDesc 4702 }); 4703 4704 if (fails(function () { arrayToString.call({}); })) { 4705 arrayToString = arrayToLocaleString = function toString() { 4706 return arrayJoin.call(this); 4707 }; 4708 } 4709 4710 var $TypedArrayPrototype$ = redefineAll({}, proto); 4711 redefineAll($TypedArrayPrototype$, $iterators); 4712 hide($TypedArrayPrototype$, ITERATOR, $iterators.values); 4713 redefineAll($TypedArrayPrototype$, { 4714 slice: $slice, 4715 set: $set, 4716 constructor: function () { /* noop */ }, 4717 toString: arrayToString, 4718 toLocaleString: $toLocaleString 4719 }); 4720 addGetter($TypedArrayPrototype$, 'buffer', 'b'); 4721 addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); 4722 addGetter($TypedArrayPrototype$, 'byteLength', 'l'); 4723 addGetter($TypedArrayPrototype$, 'length', 'e'); 4724 dP($TypedArrayPrototype$, TAG, { 4725 get: function () { return this[TYPED_ARRAY]; } 4726 }); 4727 4728 // eslint-disable-next-line max-statements 4729 module.exports = function (KEY, BYTES, wrapper, CLAMPED) { 4730 CLAMPED = !!CLAMPED; 4731 var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; 4732 var GETTER = 'get' + KEY; 4733 var SETTER = 'set' + KEY; 4734 var TypedArray = global[NAME]; 4735 var Base = TypedArray || {}; 4736 var TAC = TypedArray && getPrototypeOf(TypedArray); 4737 var FORCED = !TypedArray || !$typed.ABV; 4738 var O = {}; 4739 var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; 4740 var getter = function (that, index) { 4741 var data = that._d; 4742 return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); 4743 }; 4744 var setter = function (that, index, value) { 4745 var data = that._d; 4746 if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; 4747 data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); 4748 }; 4749 var addElement = function (that, index) { 4750 dP(that, index, { 4751 get: function () { 4752 return getter(this, index); 4753 }, 4754 set: function (value) { 4755 return setter(this, index, value); 4756 }, 4757 enumerable: true 4758 }); 4759 }; 4760 if (FORCED) { 4761 TypedArray = wrapper(function (that, data, $offset, $length) { 4762 anInstance(that, TypedArray, NAME, '_d'); 4763 var index = 0; 4764 var offset = 0; 4765 var buffer, byteLength, length, klass; 4766 if (!isObject(data)) { 4767 length = toIndex(data); 4768 byteLength = length * BYTES; 4769 buffer = new $ArrayBuffer(byteLength); 4770 } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { 4771 buffer = data; 4772 offset = toOffset($offset, BYTES); 4773 var $len = data.byteLength; 4774 if ($length === undefined) { 4775 if ($len % BYTES) throw RangeError(WRONG_LENGTH); 4776 byteLength = $len - offset; 4777 if (byteLength < 0) throw RangeError(WRONG_LENGTH); 4778 } else { 4779 byteLength = toLength($length) * BYTES; 4780 if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); 4781 } 4782 length = byteLength / BYTES; 4783 } else if (TYPED_ARRAY in data) { 4784 return fromList(TypedArray, data); 4785 } else { 4786 return $from.call(TypedArray, data); 4787 } 4788 hide(that, '_d', { 4789 b: buffer, 4790 o: offset, 4791 l: byteLength, 4792 e: length, 4793 v: new $DataView(buffer) 4794 }); 4795 while (index < length) addElement(that, index++); 4796 }); 4797 TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); 4798 hide(TypedArrayPrototype, 'constructor', TypedArray); 4799 } else if (!fails(function () { 4800 TypedArray(1); 4801 }) || !fails(function () { 4802 new TypedArray(-1); // eslint-disable-line no-new 4803 }) || !$iterDetect(function (iter) { 4804 new TypedArray(); // eslint-disable-line no-new 4805 new TypedArray(null); // eslint-disable-line no-new 4806 new TypedArray(1.5); // eslint-disable-line no-new 4807 new TypedArray(iter); // eslint-disable-line no-new 4808 }, true)) { 4809 TypedArray = wrapper(function (that, data, $offset, $length) { 4810 anInstance(that, TypedArray, NAME); 4811 var klass; 4812 // `ws` module bug, temporarily remove validation length for Uint8Array 4813 // https://github.com/websockets/ws/pull/645 4814 if (!isObject(data)) return new Base(toIndex(data)); 4815 if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { 4816 return $length !== undefined 4817 ? new Base(data, toOffset($offset, BYTES), $length) 4818 : $offset !== undefined 4819 ? new Base(data, toOffset($offset, BYTES)) 4820 : new Base(data); 4821 } 4822 if (TYPED_ARRAY in data) return fromList(TypedArray, data); 4823 return $from.call(TypedArray, data); 4824 }); 4825 arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { 4826 if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); 4827 }); 4828 TypedArray[PROTOTYPE] = TypedArrayPrototype; 4829 if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; 4830 } 4831 var $nativeIterator = TypedArrayPrototype[ITERATOR]; 4832 var CORRECT_ITER_NAME = !!$nativeIterator 4833 && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); 4834 var $iterator = $iterators.values; 4835 hide(TypedArray, TYPED_CONSTRUCTOR, true); 4836 hide(TypedArrayPrototype, TYPED_ARRAY, NAME); 4837 hide(TypedArrayPrototype, VIEW, true); 4838 hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); 4839 4840 if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { 4841 dP(TypedArrayPrototype, TAG, { 4842 get: function () { return NAME; } 4843 }); 4844 } 4845 4846 O[NAME] = TypedArray; 4847 4848 $export($export.G + $export.W + $export.F * (TypedArray != Base), O); 4849 4850 $export($export.S, NAME, { 4851 BYTES_PER_ELEMENT: BYTES 4852 }); 4853 4854 $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { 4855 from: $from, 4856 of: $of 4857 }); 4858 4859 if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); 4860 4861 $export($export.P, NAME, proto); 4862 4863 setSpecies(NAME); 4864 4865 $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); 4866 4867 $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); 4868 4869 if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; 4870 4871 $export($export.P + $export.F * fails(function () { 4872 new TypedArray(1).slice(); 4873 }), NAME, { slice: $slice }); 4874 4875 $export($export.P + $export.F * (fails(function () { 4876 return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); 4877 }) || !fails(function () { 4878 TypedArrayPrototype.toLocaleString.call([1, 2]); 4879 })), NAME, { toLocaleString: $toLocaleString }); 4880 4881 Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; 4882 if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); 4883 }; 4884} else module.exports = function () { /* empty */ };
vendor: 3,394 bytes, lines 4885-4972
4885 4886},{"./_an-instance":20,"./_array-copy-within":22,"./_array-fill":23,"./_array-includes":25,"./_array-methods":26,"./_classof":31,"./_ctx":39,"./_descriptors":43,"./_export":47,"./_fails":49,"./_global":55,"./_has":56,"./_hide":57,"./_is-array-iter":63,"./_is-object":66,"./_iter-detect":71,"./_iterators":73,"./_library":74,"./_object-create":85,"./_object-dp":86,"./_object-gopd":89,"./_object-gopn":91,"./_object-gpo":93,"./_property-desc":104,"./_redefine-all":105,"./_set-species":114,"./_species-constructor":118,"./_to-absolute-index":128,"./_to-index":129,"./_to-integer":130,"./_to-length":132,"./_to-object":133,"./_to-primitive":134,"./_typed":137,"./_typed-buffer":136,"./_uid":138,"./_wks":143,"./core.get-iterator-method":144,"./es6.array.iterator":156}],136:[function(require,module,exports){ 4887'use strict'; 4888var global = require('./_global'); 4889var DESCRIPTORS = require('./_descriptors'); 4890var LIBRARY = require('./_library'); 4891var $typed = require('./_typed'); 4892var hide = require('./_hide'); 4893var redefineAll = require('./_redefine-all'); 4894var fails = require('./_fails'); 4895var anInstance = require('./_an-instance'); 4896var toInteger = require('./_to-integer'); 4897var toLength = require('./_to-length'); 4898var toIndex = require('./_to-index'); 4899var gOPN = require('./_object-gopn').f; 4900var dP = require('./_object-dp').f; 4901var arrayFill = require('./_array-fill'); 4902var setToStringTag = require('./_set-to-string-tag'); 4903var ARRAY_BUFFER = 'ArrayBuffer'; 4904var DATA_VIEW = 'DataView'; 4905var PROTOTYPE = 'prototype'; 4906var WRONG_LENGTH = 'Wrong length!'; 4907var WRONG_INDEX = 'Wrong index!'; 4908var $ArrayBuffer = global[ARRAY_BUFFER]; 4909var $DataView = global[DATA_VIEW]; 4910var Math = global.Math; 4911var RangeError = global.RangeError; 4912// eslint-disable-next-line no-shadow-restricted-names 4913var Infinity = global.Infinity; 4914var BaseBuffer = $ArrayBuffer; 4915var abs = Math.abs; 4916var pow = Math.pow; 4917var floor = Math.floor; 4918var log = Math.log; 4919var LN2 = Math.LN2; 4920var BUFFER = 'buffer'; 4921var BYTE_LENGTH = 'byteLength'; 4922var BYTE_OFFSET = 'byteOffset'; 4923var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; 4924var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; 4925var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; 4926 4927// IEEE754 conversions based on https://github.com/feross/ieee754 4928function packIEEE754(value, mLen, nBytes) { 4929 var buffer = new Array(nBytes); 4930 var eLen = nBytes * 8 - mLen - 1; 4931 var eMax = (1 << eLen) - 1; 4932 var eBias = eMax >> 1; 4933 var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; 4934 var i = 0; 4935 var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; 4936 var e, m, c; 4937 value = abs(value); 4938 // eslint-disable-next-line no-self-compare 4939 if (value != value || value === Infinity) { 4940 // eslint-disable-next-line no-self-compare 4941 m = value != value ? 1 : 0; 4942 e = eMax; 4943 } else { 4944 e = floor(log(value) / LN2); 4945 if (value * (c = pow(2, -e)) < 1) { 4946 e--; 4947 c *= 2; 4948 } 4949 if (e + eBias >= 1) { 4950 value += rt / c; 4951 } else { 4952 value += rt * pow(2, 1 - eBias); 4953 } 4954 if (value * c >= 2) { 4955 e++; 4956 c /= 2; 4957 } 4958 if (e + eBias >= eMax) { 4959 m = 0; 4960 e = eMax; 4961 } else if (e + eBias >= 1) { 4962 m = (value * c - 1) * pow(2, mLen); 4963 e = e + eBias; 4964 } else { 4965 m = value * pow(2, eBias - 1) * pow(2, mLen); 4966 e = 0; 4967 } 4968 } 4969 for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); 4970 e = e << mLen | m; 4971 eLen += mLen; 4972 for (; eLen > 0;
vendor: 6,964 bytes, lines 4972-5164
4972 buffer[i++] = e & 255, e /= 256, eLen -= 8); 4973 buffer[--i] |= s * 128; 4974 return buffer; 4975} 4976function unpackIEEE754(buffer, mLen, nBytes) { 4977 var eLen = nBytes * 8 - mLen - 1; 4978 var eMax = (1 << eLen) - 1; 4979 var eBias = eMax >> 1; 4980 var nBits = eLen - 7; 4981 var i = nBytes - 1; 4982 var s = buffer[i--]; 4983 var e = s & 127; 4984 var m; 4985 s >>= 7; 4986 for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); 4987 m = e & (1 << -nBits) - 1; 4988 e >>= -nBits; 4989 nBits += mLen; 4990 for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); 4991 if (e === 0) { 4992 e = 1 - eBias; 4993 } else if (e === eMax) { 4994 return m ? NaN : s ? -Infinity : Infinity; 4995 } else { 4996 m = m + pow(2, mLen); 4997 e = e - eBias; 4998 } return (s ? -1 : 1) * m * pow(2, e - mLen); 4999} 5000 5001function unpackI32(bytes) { 5002 return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; 5003} 5004function packI8(it) { 5005 return [it & 0xff]; 5006} 5007function packI16(it) { 5008 return [it & 0xff, it >> 8 & 0xff]; 5009} 5010function packI32(it) { 5011 return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; 5012} 5013function packF64(it) { 5014 return packIEEE754(it, 52, 8); 5015} 5016function packF32(it) { 5017 return packIEEE754(it, 23, 4); 5018} 5019 5020function addGetter(C, key, internal) { 5021 dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); 5022} 5023 5024function get(view, bytes, index, isLittleEndian) { 5025 var numIndex = +index; 5026 var intIndex = toIndex(numIndex); 5027 if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); 5028 var store = view[$BUFFER]._b; 5029 var start = intIndex + view[$OFFSET]; 5030 var pack = store.slice(start, start + bytes); 5031 return isLittleEndian ? pack : pack.reverse(); 5032} 5033function set(view, bytes, index, conversion, value, isLittleEndian) { 5034 var numIndex = +index; 5035 var intIndex = toIndex(numIndex); 5036 if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); 5037 var store = view[$BUFFER]._b; 5038 var start = intIndex + view[$OFFSET]; 5039 var pack = conversion(+value); 5040 for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; 5041} 5042 5043if (!$typed.ABV) { 5044 $ArrayBuffer = function ArrayBuffer(length) { 5045 anInstance(this, $ArrayBuffer, ARRAY_BUFFER); 5046 var byteLength = toIndex(length); 5047 this._b = arrayFill.call(new Array(byteLength), 0); 5048 this[$LENGTH] = byteLength; 5049 }; 5050 5051 $DataView = function DataView(buffer, byteOffset, byteLength) { 5052 anInstance(this, $DataView, DATA_VIEW); 5053 anInstance(buffer, $ArrayBuffer, DATA_VIEW); 5054 var bufferLength = buffer[$LENGTH]; 5055 var offset = toInteger(byteOffset); 5056 if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); 5057 byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); 5058 if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); 5059 this[$BUFFER] = buffer; 5060 this[$OFFSET] = offset; 5061 this[$LENGTH] = byteLength; 5062 }; 5063 5064 if (DESCRIPTORS) { 5065 addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); 5066 addGetter($DataView, BUFFER, '_b'); 5067 addGetter($DataView, BYTE_LENGTH, '_l'); 5068 addGetter($DataView, BYTE_OFFSET, '_o'); 5069 } 5070 5071 redefineAll($DataView[PROTOTYPE], { 5072 getInt8: function getInt8(byteOffset) { 5073 return get(this, 1, byteOffset)[0] << 24 >> 24; 5074 }, 5075 getUint8: function getUint8(byteOffset) { 5076 return get(this, 1, byteOffset)[0]; 5077 }, 5078 getInt16: function getInt16(byteOffset /* , littleEndian */) { 5079 var bytes = get(this, 2, byteOffset, arguments[1]); 5080 return (bytes[1] << 8 | bytes[0]) << 16 >> 16; 5081 }, 5082 getUint16: function getUint16(byteOffset /* , littleEndian */) { 5083 var bytes = get(this, 2, byteOffset, arguments[1]); 5084 return bytes[1] << 8 | bytes[0]; 5085 }, 5086 getInt32: function getInt32(byteOffset /* , littleEndian */) { 5087 return unpackI32(get(this, 4, byteOffset, arguments[1])); 5088 }, 5089 getUint32: function getUint32(byteOffset /* , littleEndian */) { 5090 return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; 5091 }, 5092 getFloat32: function getFloat32(byteOffset /* , littleEndian */) { 5093 return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); 5094 }, 5095 getFloat64: function getFloat64(byteOffset /* , littleEndian */) { 5096 return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); 5097 }, 5098 setInt8: function setInt8(byteOffset, value) { 5099 set(this, 1, byteOffset, packI8, value); 5100 }, 5101 setUint8: function setUint8(byteOffset, value) { 5102 set(this, 1, byteOffset, packI8, value); 5103 }, 5104 setInt16: function setInt16(byteOffset, value /* , littleEndian */) { 5105 set(this, 2, byteOffset, packI16, value, arguments[2]); 5106 }, 5107 setUint16: function setUint16(byteOffset, value /* , littleEndian */) { 5108 set(this, 2, byteOffset, packI16, value, arguments[2]); 5109 }, 5110 setInt32: function setInt32(byteOffset, value /* , littleEndian */) { 5111 set(this, 4, byteOffset, packI32, value, arguments[2]); 5112 }, 5113 setUint32: function setUint32(byteOffset, value /* , littleEndian */) { 5114 set(this, 4, byteOffset, packI32, value, arguments[2]); 5115 }, 5116 setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { 5117 set(this, 4, byteOffset, packF32, value, arguments[2]); 5118 }, 5119 setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { 5120 set(this, 8, byteOffset, packF64, value, arguments[2]); 5121 } 5122 }); 5123} else { 5124 if (!fails(function () { 5125 $ArrayBuffer(1); 5126 }) || !fails(function () { 5127 new $ArrayBuffer(-1); // eslint-disable-line no-new 5128 }) || fails(function () { 5129 new $ArrayBuffer(); // eslint-disable-line no-new 5130 new $ArrayBuffer(1.5); // eslint-disable-line no-new 5131 new $ArrayBuffer(NaN); // eslint-disable-line no-new 5132 return $ArrayBuffer.name != ARRAY_BUFFER; 5133 })) { 5134 $ArrayBuffer = function ArrayBuffer(length) { 5135 anInstance(this, $ArrayBuffer); 5136 return new BaseBuffer(toIndex(length)); 5137 }; 5138 var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; 5139 for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { 5140 if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); 5141 } 5142 if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; 5143 } 5144 // iOS Safari 7.x bug 5145 var view = new $DataView(new $ArrayBuffer(2)); 5146 var $setInt8 = $DataView[PROTOTYPE].setInt8; 5147 view.setInt8(0, 2147483648); 5148 view.setInt8(1, 2147483649); 5149 if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { 5150 setInt8: function setInt8(byteOffset, value) { 5151 $setInt8.call(this, byteOffset, value << 24 >> 24); 5152 }, 5153 setUint8: function setUint8(byteOffset, value) { 5154 $setInt8.call(this, byteOffset, value << 24 >> 24); 5155 } 5156 }, true); 5157} 5158setToStringTag($ArrayBuffer, ARRAY_BUFFER); 5159setToStringTag($DataView, DATA_VIEW); 5160hide($DataView[PROTOTYPE], $typed.VIEW, true); 5161exports[ARRAY_BUFFER] = $ArrayBuffer; 5162exports[DATA_VIEW] = $DataView; 5163 5164},{"./_an-instance":20,"./_array-fill":23,"./_descriptors":43,"./_fail
5164s":49,"./_global":55,"./_hide":57,"./_library":74,"./_object-dp":86,"./_object-gopn":91,"./_redefine-all":105,"./_set-to-string-tag":115,"./_to-index":129,"./_to-integer":130,"./_to-length":132,"./_typed":137}],137:[function(require,module,exports){ 5165var global = require('./_global'); 5166var hide = require('./_hide'); 5167var uid = require('./_uid'); 5168var TYPED = uid('typed_array'); 5169var VIEW = uid('view'); 5170var ABV = !!(global.ArrayBuffer && global.DataView); 5171var CONSTR = ABV; 5172var i = 0; 5173var l = 9; 5174var Typed; 5175 5176var TypedArrayConstructors = ( 5177 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' 5178).split(','); 5179 5180while (i < l) { 5181 if (Typed = global[TypedArrayConstructors[i++]]) { 5182 hide(Typed.prototype, TYPED, true); 5183 hide(Typed.prototype, VIEW, true); 5184 } else CONSTR = false; 5185} 5186 5187module.exports = { 5188 ABV: ABV, 5189 CONSTR: CONSTR, 5190 TYPED: TYPED, 5191 VIEW: VIEW 5192}; 5193 5194},{"./_global":55,"./_hide":57,"./_uid":138}],138:[function(require,module,exports){ 5195var id = 0; 5196var px = Math.random(); 5197module.exports = function (key) { 5198 return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); 5199}; 5200 5201},{}],139:[function(require,module,exports){ 5202var global = require('./_global'); 5203var navigator = global.navigator; 5204 5205module.exports = navigator && navigator.userAgent || ''; 5206 5207},{"./_global":55}],140:[function(require,module,exports){ 5208var isObject = require('./_is-object'); 5209module.exports = function (it, TYPE) { 5210 if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); 5211 return it; 5212}; 5213 5214},{"./_is-object":66}],141:[function(require,module,exports){ 5215var global = require('./_global'); 5216var core = require('./_core'); 5217var LIBRARY = require('./_library'); 5218var wksExt = require('./_wks-ext'); 5219var defineProperty = require('./_object-dp').f; 5220module.exports = function (name) { 5221 var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); 5222 if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); 5223}; 5224 5225},{"./_core":37,"./_global":55,"./_library":74,"./_object-dp":86,"./_wks-ext":142}],142:[function(require,module,exports){ 5226exports.f = require('./_wks'); 5227 5228},{"./_wks":143}],143:[function(require,module,exports){ 5229var store = require('./_shared')('wks'); 5230var uid = require('./_uid'); 5231var Symbol = require('./_global').Symbol; 5232var USE_SYMBOL = typeof Symbol == 'function'; 5233 5234var $exports = module.exports = function (name) { 5235 return store[name] || (store[name] = 5236 USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); 5237}; 5238 5239$exports.store = store; 5240 5241},{"./_global":55,"./_shared":117,"./_uid":138}],144:[function(require,module,exports){ 5242var classof = require('./_classof'); 5243var ITERATOR = require('./_wks')('iterator'); 5244var Iterators = require('./_iterators'); 5245module.exports = require('./_core').getIteratorMethod = function (it) { 5246 if (it != undefined) return it[ITERATOR] 5247 || it['@@iterator'] 5248 || Iterators[classof(it)]; 5249}; 5250 5251},{"./_classof":31,"./_core":37,"./_iterators":73,"./_wks":143}],145:[function(require,module,exports){ 5252// https://github.com/benjamingr/RexExp.escape 5253var $export = require('./_export'); 5254var $re = require('./_replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&'); 5255 5256$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } }); 5257 5258},{"./_export":47,"./_replacer":109}],146:[function(require,module,exports){ 5259// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) 5260var $export = require('./_export'); 5261 5262$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') }); 5263 5264require('./_add-to-unscopables')('copyWithin'); 5265 5266},{"./_add-to-unscopables":18,"./_array-copy-within":22,"./_export":47}],147:[function(require,module,exports){ 5267'use strict'; 5268var $export = require('./_export'); 5269var $every = require('./_array-methods')(4); 5270 5271$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', { 5272 // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) 5273 every: function every(callbackfn /* , thisArg */) { 5274 return $every(this, callbackfn, arguments[1]); 5275 } 5276}); 5277 5278},{"./_array-methods":26,"./_export":47,"./_strict-method":119}],148:[function(require,module,exports){ 5279// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
5280var $export = require('./_export'); 5281 5282$export($export.P, 'Array', { fill: require('./_array-fill') }); 5283 5284require('./_add-to-unscopables')('fill'); 5285 5286},{"./_add-to-unscopables":18,"./_array-fill":23,"./_export":47}],149:[function(require,module,exports){ 5287'use strict'; 5288var $export = require('./_export'); 5289var $filter = require('./_array-methods')(2); 5290 5291$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', { 5292 // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) 5293 filter: function filter(callbackfn /* , thisArg */) { 5294 return $filter(this, callbackfn, arguments[1]); 5295 } 5296}); 5297 5298},{"./_array-methods":26,"./_export":47,"./_strict-method":119}],150:[function(require,module,exports){ 5299'use strict'; 5300// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) 5301var $export = require('./_export'); 5302var $find = require('./_array-methods')(6); 5303var KEY = 'findIndex'; 5304var forced = true; 5305// Shouldn't skip holes 5306if (KEY in []) Array(1)[KEY](function () { forced = false; }); 5307$export($export.P + $export.F * forced, 'Array', { 5308 findIndex: function findIndex(callbackfn /* , that = undefined */) { 5309 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 5310 } 5311}); 5312require('./_add-to-unscopables')(KEY); 5313 5314},{"./_add-to-unscopables":18,"./_array-methods":26,"./_export":47}],151:[function(require,module,exports){ 5315'use strict'; 5316// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
vendor: 5,173 bytes, lines 5317-5443
5317var $export = require('./_export'); 5318var $find = require('./_array-methods')(5); 5319var KEY = 'find'; 5320var forced = true; 5321// Shouldn't skip holes 5322if (KEY in []) Array(1)[KEY](function () { forced = false; }); 5323$export($export.P + $export.F * forced, 'Array', { 5324 find: function find(callbackfn /* , that = undefined */) { 5325 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 5326 } 5327}); 5328require('./_add-to-unscopables')(KEY); 5329 5330},{"./_add-to-unscopables":18,"./_array-methods":26,"./_export":47}],152:[function(require,module,exports){ 5331'use strict'; 5332var $export = require('./_export'); 5333var $forEach = require('./_array-methods')(0); 5334var STRICT = require('./_strict-method')([].forEach, true); 5335 5336$export($export.P + $export.F * !STRICT, 'Array', { 5337 // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) 5338 forEach: function forEach(callbackfn /* , thisArg */) { 5339 return $forEach(this, callbackfn, arguments[1]); 5340 } 5341}); 5342 5343},{"./_array-methods":26,"./_export":47,"./_strict-method":119}],153:[function(require,module,exports){ 5344'use strict'; 5345var ctx = require('./_ctx'); 5346var $export = require('./_export'); 5347var toObject = require('./_to-object'); 5348var call = require('./_iter-call'); 5349var isArrayIter = require('./_is-array-iter'); 5350var toLength = require('./_to-length'); 5351var createProperty = require('./_create-property'); 5352var getIterFn = require('./core.get-iterator-method'); 5353 5354$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', { 5355 // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) 5356 from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { 5357 var O = toObject(arrayLike); 5358 var C = typeof this == 'function' ? this : Array; 5359 var aLen = arguments.length; 5360 var mapfn = aLen > 1 ? arguments[1] : undefined; 5361 var mapping = mapfn !== undefined; 5362 var index = 0; 5363 var iterFn = getIterFn(O); 5364 var length, result, step, iterator; 5365 if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); 5366 // if object isn't iterable or it's array with default iterator - use simple case 5367 if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { 5368 for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { 5369 createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); 5370 } 5371 } else { 5372 length = toLength(O.length); 5373 for (result = new C(length); length > index; index++) { 5374 createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); 5375 } 5376 } 5377 result.length = index; 5378 return result; 5379 } 5380}); 5381 5382},{"./_create-property":38,"./_ctx":39,"./_export":47,"./_is-array-iter":63,"./_iter-call":68,"./_iter-detect":71,"./_to-length":132,"./_to-object":133,"./core.get-iterator-method":144}],154:[function(require,module,exports){ 5383'use strict'; 5384var $export = require('./_export'); 5385var $indexOf = require('./_array-includes')(false); 5386var $native = [].indexOf; 5387var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; 5388 5389$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', { 5390 // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) 5391 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { 5392 return NEGATIVE_ZERO 5393 // convert -0 to +0 5394 ? $native.apply(this, arguments) || 0 5395 : $indexOf(this, searchElement, arguments[1]); 5396 } 5397}); 5398 5399},{"./_array-includes":25,"./_export":47,"./_strict-method":119}],155:[function(require,module,exports){ 5400// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) 5401var $export = require('./_export'); 5402 5403$export($export.S, 'Array', { isArray: require('./_is-array') }); 5404 5405},{"./_export":47,"./_is-array":64}],156:[function(require,module,exports){ 5406'use strict'; 5407var addToUnscopables = require('./_add-to-unscopables'); 5408var step = require('./_iter-step'); 5409var Iterators = require('./_iterators'); 5410var toIObject = require('./_to-iobject'); 5411 5412// 22.1.3.4 Array.prototype.entries() 5413// 22.1.3.13 Array.prototype.keys() 5414// 22.1.3.29 Array.prototype.values() 5415// 22.1.3.30 Array.prototype[@@iterator]() 5416module.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) { 5417 this._t = toIObject(iterated); // target 5418 this._i = 0; // next index 5419 this._k = kind; // kind 5420// 22.1.5.2.1 %ArrayIteratorPrototype%.next() 5421}, function () { 5422 var O = this._t; 5423 var kind = this._k; 5424 var index = this._i++; 5425 if (!O || index >= O.length) { 5426 this._t = undefined; 5427 return step(1); 5428 } 5429 if (kind == 'keys') return step(0, index); 5430 if (kind == 'values') return step(0, O[index]); 5431 return step(0, [index, O[index]]); 5432}, 'values'); 5433 5434// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) 5435Iterators.Arguments = Iterators.Array; 5436 5437addToUnscopables('keys'); 5438addToUnscopables('values'); 5439addToUnscopables('entries'); 5440 5441},{"./_add-to-unscopables":18,"./_iter-define":70,"./_iter-step":72,"./_iterators":73,"./_to-iobject":131}],157:[function(require,module,exports){ 5442'use strict'; 5443// 22.1.3.13 Array.prototype.join(separator)
5444var $export = require('./_export'); 5445var toIObject = require('./_to-iobject'); 5446var arrayJoin = [].join; 5447 5448// fallback for not array-like strings 5449$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', { 5450 join: function join(separator) { 5451 return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); 5452 } 5453}); 5454 5455},{"./_export":47,"./_iobject":62,"./_strict-method":119,"./_to-iobject":131}],158:[function(require,module,exports){ 5456'use strict'; 5457var $export = require('./_export'); 5458var toIObject = require('./_to-iobject'); 5459var toInteger = require('./_to-integer'); 5460var toLength = require('./_to-length'); 5461var $native = [].lastIndexOf; 5462var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; 5463 5464$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', { 5465 // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) 5466 lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { 5467 // convert -0 to +0 5468 if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; 5469 var O = toIObject(this); 5470 var length = toLength(O.length); 5471 var index = length - 1; 5472 if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); 5473 if (index < 0) index = length + index; 5474 for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; 5475 return -1; 5476 } 5477}); 5478 5479},{"./_export":47,"./_strict-method":119,"./_to-integer":130,"./_to-iobject":131,"./_to-length":132}],159:[function(require,module,exports){ 5480'use strict'; 5481var $export = require('./_export'); 5482var $map = require('./_array-methods')(1); 5483 5484$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', { 5485 // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) 5486 map: function map(callbackfn /* , thisArg */) { 5487 return $map(this, callbackfn, arguments[1]); 5488 } 5489}); 5490 5491},{"./_array-methods":26,"./_export":47,"./_strict-method":119}],160:[function(require,module,exports){ 5492'use strict'; 5493var $export = require('./_export'); 5494var createProperty = require('./_create-property'); 5495 5496// WebKit Array.of isn't generic 5497$export($export.S + $export.F * require('./_fails')(function () { 5498 function F() { /* empty */ } 5499 return !(Array.of.call(F) instanceof F); 5500}), 'Array', { 5501 // 22.1.2.3 Array.of( ...items) 5502 of: function of(/* ...args */) { 5503 var index = 0; 5504 var aLen = arguments.length; 5505 var result = new (typeof this == 'function' ? this : Array)(aLen); 5506 while (aLen > index) createProperty(result, index, arguments[index++]); 5507 result.length = aLen; 5508 return result; 5509 } 5510}); 5511 5512},{"./_create-property":38,"./_export":47,"./_fails":49}],161:[function(require,module,exports){ 5513'use strict'; 5514var $export = require('./_export'); 5515var $reduce = require('./_array-reduce'); 5516 5517$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', { 5518 // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) 5519 reduceRight: function reduceRight(callbackfn /* , initialValue */) { 5520 return $reduce(this, callbackfn, arguments.length, arguments[1], true); 5521 } 5522}); 5523 5524},{"./_array-reduce":27,"./_export":47,"./_strict-method":119}],162:[function(require,module,exports){ 5525'use strict'; 5526var $export = require('./_export'); 5527var $reduce = require('./_array-reduce'); 5528 5529$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', { 5530 // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) 5531 reduce: function reduce(callbackfn /* , initialValue */) { 5532 return $reduce(this, callbackfn, arguments.length, arguments[1], false); 5533 } 5534}); 5535 5536},{"./_array-reduce":27,"./_export":47,"./_strict-method":119}],163:[function(require,module,exports){ 5537'use strict'; 5538var $export = require('./_export'); 5539var html = require('./_html'); 5540var cof = require('./_cof'); 5541var toAbsoluteIndex = require('./_to-absolute-index'); 5542var toLength = require('./_to-length'); 5543var arraySlice = [].slice; 5544 5545// fallback for not array-like ES3 strings and DOM objects 5546$export($export.P + $export.F * require('./_fails')(function () { 5547 if (html) arraySlice.call(html); 5548}), 'Array', { 5549 slice: function slice(begin, end) { 5550 var len = toLength(this.length); 5551 var klass = cof(this); 5552 end = end === undefined ? len : end; 5553 if (klass == 'Array') return arraySlice.call(this, begin, end); 5554 var start = toAbsoluteIndex(begin, len); 5555 var upTo = toAbsoluteIndex(end, len); 5556 var size = toLength(upTo - start); 5557 var cloned = new Array(size); 5558 var i = 0; 5559 for (; i < size; i++) cloned[i] = klass == 'String' 5560 ? this.charAt(start + i) 5561 : this[start + i]; 5562 return cloned; 5563 } 5564}); 5565 5566}
5566,{"./_cof":32,"./_export":47,"./_fails":49,"./_html":58,"./_to-absolute-index":128,"./_to-length":132}],164:[function(require,module,exports){ 5567'use strict'; 5568var $export = require('./_export'); 5569var $some = require('./_array-methods')(3); 5570 5571$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', { 5572 // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) 5573 some: function some(callbackfn /* , thisArg */) { 5574 return $some(this, callbackfn, arguments[1]); 5575 } 5576}); 5577 5578},{"./_array-methods":26,"./_export":47,"./_strict-method":119}],165:[function(require,module,exports){ 5579'use strict'; 5580var $export = require('./_export'); 5581var aFunction = require('./_a-function'); 5582var toObject = require('./_to-object'); 5583var fails = require('./_fails'); 5584var $sort = [].sort; 5585var test = [1, 2, 3]; 5586 5587$export($export.P + $export.F * (fails(function () { 5588 // IE8- 5589 test.sort(undefined); 5590}) || !fails(function () { 5591 // V8 bug 5592 test.sort(null); 5593 // Old WebKit 5594}) || !require('./_strict-method')($sort)), 'Array', { 5595 // 22.1.3.25 Array.prototype.sort(comparefn) 5596 sort: function sort(comparefn) { 5597 return comparefn === undefined 5598 ? $sort.call(toObject(this)) 5599 : $sort.call(toObject(this), aFunction(comparefn)); 5600 } 5601}); 5602 5603},{"./_a-function":16,"./_export":47,"./_fails":49,"./_strict-method":119,"./_to-object":133}],166:[function(require,module,exports){ 5604require('./_set-species')('Array'); 5605 5606},{"./_set-species":114}],167:[function(require,module,exports){ 5607// 20.3.3.1 / 15.9.4.4 Date.now() 5608var $export = require('./_export'); 5609 5610$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); 5611 5612},{"./_export":47}],168:[function(require,module,exports){ 5613// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() 5614var $export = require('./_export'); 5615var toISOString = require('./_date-to-iso-string'); 5616 5617// PhantomJS / old WebKit has a broken implementations 5618$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { 5619 toISOString: toISOString 5620}); 5621 5622},{"./_date-to-iso-string":40,"./_export":47}],169:[function(require,module,exports){ 5623'use strict'; 5624var $export = require('./_export'); 5625var toObject = require('./_to-object'); 5626var toPrimitive = require('./_to-primitive'); 5627 5628$export($export.P + $export.F * require('./_fails')(function () { 5629 return new Date(NaN).toJSON() !== null 5630 || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; 5631}), 'Date', { 5632 // eslint-disable-next-line no-unused-vars 5633 toJSON: function toJSON(key) { 5634 var O = toObject(this); 5635 var pv = toPrimitive(O); 5636 return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); 5637 } 5638}); 5639 5640},{"./_export":47,"./_fails":49,"./_to-object":133,"./_to-primitive":134}],170:[function(require,module,exports){ 5641var TO_PRIMITIVE = require('./_wks')('toPrimitive'); 5642var proto = Date.prototype; 5643 5644if (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive')); 5645 5646},{"./_date-to-primitive":41,"./_hide":57,"./_wks":143}],171:[function(require,module,exports){ 5647var DateProto = Date.prototype; 5648var INVALID_DATE = 'Invalid Date'; 5649var TO_STRING = 'toString'; 5650var $toString = DateProto[TO_STRING]; 5651var getTime = DateProto.getTime; 5652if (new Date(NaN) + '' != INVALID_DATE) { 5653 require('./_redefine')(DateProto, TO_STRING, function toString() { 5654 var value = getTime.call(this); 5655 // eslint-disable-next-line no-self-compare 5656 return value === value ? $toString.call(this) : INVALID_DATE; 5657 }); 5658} 5659 5660},{"./_redefine":106}],172:[function(require,module,exports){ 5661// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) 5662var $export = require('./_export'); 5663 5664$export($export.P, 'Function', { bind: require('./_bind') }); 5665 5666},{"./_bind":30,"./_export":47}],173:[function(require,module,exports){ 5667'use strict'; 5668var isObject = require('./_is-object'); 5669var getPrototypeOf = require('./_object-gpo'); 5670var HAS_INSTANCE = require('./_wks')('hasInstance'); 5671var FunctionProto = Function.prototype; 5672// 19.2.3.6 Function.prototype[@@hasInstance](V) 5673if (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) { 5674 if (typeof this != 'function' || !isObject(O)) return false;
5675 if (!isObject(this.prototype)) return O instanceof this; 5676 // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: 5677 while (O = getPrototypeOf(O)) if (this.prototype === O) return true; 5678 return false; 5679} }); 5680 5681},{"./_is-object":66,"./_object-dp":86,"./_object-gpo":93,"./_wks":143}],174:[function(require,module,exports){ 5682var dP = require('./_object-dp').f; 5683var FProto = Function.prototype; 5684var nameRE = /^\s*function ([^ (]*)/; 5685var NAME = 'name'; 5686 5687// 19.2.4.2 name 5688NAME in FProto || require('./_descriptors') && dP(FProto, NAME, { 5689 configurable: true, 5690 get: function () { 5691 try { 5692 return ('' + this).match(nameRE)[1]; 5693 } catch (e) { 5694 return ''; 5695 } 5696 } 5697}); 5698 5699},{"./_descriptors":43,"./_object-dp":86}],175:[function(require,module,exports){ 5700'use strict'; 5701var strong = require('./_collection-strong'); 5702var validate = require('./_validate-collection'); 5703var MAP = 'Map'; 5704 5705// 23.1 Map Objects 5706module.exports = require('./_collection')(MAP, function (get) { 5707 return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; 5708}, { 5709 // 23.1.3.6 Map.prototype.get(key) 5710 get: function get(key) { 5711 var entry = strong.getEntry(validate(this, MAP), key); 5712 return entry && entry.v; 5713 }, 5714 // 23.1.3.9 Map.prototype.set(key, value) 5715 set: function set(key, value) { 5716 return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); 5717 } 5718}, strong, true); 5719 5720},{"./_collection":36,"./_collection-strong":33,"./_validate-collection":140}],176:[function(require,module,exports){ 5721// 20.2.2.3 Math.acosh(x) 5722var $export = require('./_export'); 5723var log1p = require('./_math-log1p'); 5724var sqrt = Math.sqrt; 5725var $acosh = Math.acosh; 5726 5727$export($export.S + $export.F * !($acosh 5728 // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 5729 && Math.floor($acosh(Number.MAX_VALUE)) == 710 5730 // Tor Browser bug: Math.acosh(Infinity) -> NaN 5731 && $acosh(Infinity) == Infinity 5732), 'Math', { 5733 acosh: function acosh(x) { 5734 return (x = +x) < 1 ? NaN : x > 94906265.62425156 5735 ? Math.log(x) + Math.LN2 5736 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); 5737 } 5738}); 5739 5740},{"./_export":47,"./_math-log1p":77}],177:[function(require,module,exports){ 5741// 20.2.2.5 Math.asinh(x) 5742var $export = require('./_export'); 5743var $asinh = Math.asinh; 5744 5745function asinh(x) { 5746 return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); 5747} 5748 5749// Tor Browser bug: Math.asinh(0) -> -0 5750$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); 5751 5752},{"./_export":47}],178:[function(require,module,exports){ 5753// 20.2.2.7 Math.atanh(x) 5754var $export = require('./_export'); 5755var $atanh = Math.atanh; 5756 5757// Tor Browser bug: Math.atanh(-0) -> 0 5758$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { 5759 atanh: function atanh(x) { 5760 return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; 5761 } 5762}); 5763 5764},{"./_export":47}],179:[function(require,module,exports){ 5765// 20.2.2.9 Math.cbrt(x) 5766var $export = require('./_export'); 5767var sign = require('./_math-sign'); 5768 5769$export($export.S, 'Math', { 5770 cbrt: function cbrt(x) { 5771 return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); 5772 } 5773}); 5774 5775},{"./_export":47,"./_math-sign":79}],180:[function(require,module,exports){ 5776// 20.2.2.11 Math.clz32(x) 5777var $export = require('./_export'); 5778 5779$export($export.S, 'Math', { 5780 clz32: function clz32(x) { 5781 return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; 5782 } 5783}); 5784 5785},{"./_export":47}],181:[function(require,module,exports){ 5786// 20.2.2.12 Math.cosh(x) 5787var $export = require('./_export'); 5788var exp = Math.exp; 5789 5790$export($export.S, 'Math', { 5791 cosh: function cosh(x) { 5792 return (exp(x = +x) + exp(-x)) / 2; 5793 } 5794}); 5795 5796},{"./_export":47}],182:[function(require,module,exports){ 5797// 20.2.2.14 Math.expm1(x) 5798var $export = require('./_export'); 5799var $expm1 = require('./_math-expm1'); 5800 5801$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); 5802 5803},{"./_export":47,"./_math-expm1":75}],183:[function(require,module,exports){ 5804// 20.2.2.16 Math.fround(x) 5805var $export = require('./_export'); 5806 5807$export($export.S, 'Math', { fround: require('./_math-fround') }); 5808 5809},{"./_export":47,"./_math-fround":76}],184:[function(require,module,exports){ 5810// 20.2.2.17 Math.hypot([value1[, value2[, ⦠]]])
vendor: 4,775 bytes, lines 5811-5964
5811var $export = require('./_export'); 5812var abs = Math.abs; 5813 5814$export($export.S, 'Math', { 5815 hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars 5816 var sum = 0; 5817 var i = 0; 5818 var aLen = arguments.length; 5819 var larg = 0; 5820 var arg, div; 5821 while (i < aLen) { 5822 arg = abs(arguments[i++]); 5823 if (larg < arg) { 5824 div = larg / arg; 5825 sum = sum * div * div + 1; 5826 larg = arg; 5827 } else if (arg > 0) { 5828 div = arg / larg; 5829 sum += div * div; 5830 } else sum += arg; 5831 } 5832 return larg === Infinity ? Infinity : larg * Math.sqrt(sum); 5833 } 5834}); 5835 5836},{"./_export":47}],185:[function(require,module,exports){ 5837// 20.2.2.18 Math.imul(x, y) 5838var $export = require('./_export'); 5839var $imul = Math.imul; 5840 5841// some WebKit versions fails with big numbers, some has wrong arity 5842$export($export.S + $export.F * require('./_fails')(function () { 5843 return $imul(0xffffffff, 5) != -5 || $imul.length != 2; 5844}), 'Math', { 5845 imul: function imul(x, y) { 5846 var UINT16 = 0xffff; 5847 var xn = +x; 5848 var yn = +y; 5849 var xl = UINT16 & xn; 5850 var yl = UINT16 & yn; 5851 return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); 5852 } 5853}); 5854 5855},{"./_export":47,"./_fails":49}],186:[function(require,module,exports){ 5856// 20.2.2.21 Math.log10(x) 5857var $export = require('./_export'); 5858 5859$export($export.S, 'Math', { 5860 log10: function log10(x) { 5861 return Math.log(x) * Math.LOG10E; 5862 } 5863}); 5864 5865},{"./_export":47}],187:[function(require,module,exports){ 5866// 20.2.2.20 Math.log1p(x) 5867var $export = require('./_export'); 5868 5869$export($export.S, 'Math', { log1p: require('./_math-log1p') }); 5870 5871},{"./_export":47,"./_math-log1p":77}],188:[function(require,module,exports){ 5872// 20.2.2.22 Math.log2(x) 5873var $export = require('./_export'); 5874 5875$export($export.S, 'Math', { 5876 log2: function log2(x) { 5877 return Math.log(x) / Math.LN2; 5878 } 5879}); 5880 5881},{"./_export":47}],189:[function(require,module,exports){ 5882// 20.2.2.28 Math.sign(x) 5883var $export = require('./_export'); 5884 5885$export($export.S, 'Math', { sign: require('./_math-sign') }); 5886 5887},{"./_export":47,"./_math-sign":79}],190:[function(require,module,exports){ 5888// 20.2.2.30 Math.sinh(x) 5889var $export = require('./_export'); 5890var expm1 = require('./_math-expm1'); 5891var exp = Math.exp; 5892 5893// V8 near Chromium 38 has a problem with very small numbers 5894$export($export.S + $export.F * require('./_fails')(function () { 5895 return !Math.sinh(-2e-17) != -2e-17; 5896}), 'Math', { 5897 sinh: function sinh(x) { 5898 return Math.abs(x = +x) < 1 5899 ? (expm1(x) - expm1(-x)) / 2 5900 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); 5901 } 5902}); 5903 5904},{"./_export":47,"./_fails":49,"./_math-expm1":75}],191:[function(require,module,exports){ 5905// 20.2.2.33 Math.tanh(x) 5906var $export = require('./_export'); 5907var expm1 = require('./_math-expm1'); 5908var exp = Math.exp; 5909 5910$export($export.S, 'Math', { 5911 tanh: function tanh(x) { 5912 var a = expm1(x = +x); 5913 var b = expm1(-x); 5914 return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); 5915 } 5916}); 5917 5918},{"./_export":47,"./_math-expm1":75}],192:[function(require,module,exports){ 5919// 20.2.2.34 Math.trunc(x) 5920var $export = require('./_export'); 5921 5922$export($export.S, 'Math', { 5923 trunc: function trunc(it) { 5924 return (it > 0 ? Math.floor : Math.ceil)(it); 5925 } 5926}); 5927 5928},{"./_export":47}],193:[function(require,module,exports){ 5929'use strict'; 5930var global = require('./_global'); 5931var has = require('./_has'); 5932var cof = require('./_cof'); 5933var inheritIfRequired = require('./_inherit-if-required'); 5934var toPrimitive = require('./_to-primitive'); 5935var fails = require('./_fails'); 5936var gOPN = require('./_object-gopn').f; 5937var gOPD = require('./_object-gopd').f; 5938var dP = require('./_object-dp').f; 5939var $trim = require('./_string-trim').trim; 5940var NUMBER = 'Number'; 5941var $Number = global[NUMBER]; 5942var Base = $Number; 5943var proto = $Number.prototype; 5944// Opera ~12 has broken Object#toString 5945var BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER; 5946var TRIM = 'trim' in String.prototype; 5947 5948// 7.1.3 ToNumber(argument) 5949var toNumber = function (argument) { 5950 var it = toPrimitive(argument, false); 5951 if (typeof it == 'string' && it.length > 2) { 5952 it = TRIM ? it.trim() : $trim(it, 3); 5953 var first = it.charCodeAt(0); 5954 var third, radix, maxCode; 5955 if (first === 43 || first === 45) { 5956 third = it.charCodeAt(2); 5957 if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix 5958 } else if (first === 48) { 5959 switch (it.charCodeAt(1)) { 5960 case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i 5961 case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i 5962 default: return +it; 5963 } 5964 for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
vendor: 1,663 bytes, lines 5965-6000
5965 code = digits.charCodeAt(i); 5966 // parseInt parses a string to a first unavailable symbol 5967 // but ToNumber should return NaN if a string contains unavailable symbols 5968 if (code < 48 || code > maxCode) return NaN; 5969 } return parseInt(digits, radix); 5970 } 5971 } return +it; 5972}; 5973 5974if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { 5975 $Number = function Number(value) { 5976 var it = arguments.length < 1 ? 0 : value; 5977 var that = this; 5978 return that instanceof $Number 5979 // check on 1..constructor(foo) case 5980 && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) 5981 ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); 5982 }; 5983 for (var keys = require('./_descriptors') ? gOPN(Base) : ( 5984 // ES3: 5985 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + 5986 // ES6 (in case, if modules with ES6 Number statics required before): 5987 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 5988 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' 5989 ).split(','), j = 0, key; keys.length > j; j++) { 5990 if (has(Base, key = keys[j]) && !has($Number, key)) { 5991 dP($Number, key, gOPD(Base, key)); 5992 } 5993 } 5994 $Number.prototype = proto; 5995 proto.constructor = $Number; 5996 require('./_redefine')(global, NUMBER, $Number); 5997} 5998 5999},{"./_cof":32,"./_descriptors":43,"./_fails":49,"./_global":55,"./_has":56,"./_inherit-if-required":60,"./_object-create":85,"./_object-dp":86,"./_object-gopd":89,"./_object-gopn":91,"./_redefine":106,"./_string-trim":125,"./_to-primitive":134}],194:[function(require,module,exports){ 6000// 20.1.2.1 Number.EPSILON
vendor: 4,583 bytes, lines 6001-6159
6001var $export = require('./_export'); 6002 6003$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); 6004 6005},{"./_export":47}],195:[function(require,module,exports){ 6006// 20.1.2.2 Number.isFinite(number) 6007var $export = require('./_export'); 6008var _isFinite = require('./_global').isFinite; 6009 6010$export($export.S, 'Number', { 6011 isFinite: function isFinite(it) { 6012 return typeof it == 'number' && _isFinite(it); 6013 } 6014}); 6015 6016},{"./_export":47,"./_global":55}],196:[function(require,module,exports){ 6017// 20.1.2.3 Number.isInteger(number) 6018var $export = require('./_export'); 6019 6020$export($export.S, 'Number', { isInteger: require('./_is-integer') }); 6021 6022},{"./_export":47,"./_is-integer":65}],197:[function(require,module,exports){ 6023// 20.1.2.4 Number.isNaN(number) 6024var $export = require('./_export'); 6025 6026$export($export.S, 'Number', { 6027 isNaN: function isNaN(number) { 6028 // eslint-disable-next-line no-self-compare 6029 return number != number; 6030 } 6031}); 6032 6033},{"./_export":47}],198:[function(require,module,exports){ 6034// 20.1.2.5 Number.isSafeInteger(number) 6035var $export = require('./_export'); 6036var isInteger = require('./_is-integer'); 6037var abs = Math.abs; 6038 6039$export($export.S, 'Number', { 6040 isSafeInteger: function isSafeInteger(number) { 6041 return isInteger(number) && abs(number) <= 0x1fffffffffffff; 6042 } 6043}); 6044 6045},{"./_export":47,"./_is-integer":65}],199:[function(require,module,exports){ 6046// 20.1.2.6 Number.MAX_SAFE_INTEGER 6047var $export = require('./_export'); 6048 6049$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); 6050 6051},{"./_export":47}],200:[function(require,module,exports){ 6052// 20.1.2.10 Number.MIN_SAFE_INTEGER 6053var $export = require('./_export'); 6054 6055$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); 6056 6057},{"./_export":47}],201:[function(require,module,exports){ 6058var $export = require('./_export'); 6059var $parseFloat = require('./_parse-float'); 6060// 20.1.2.12 Number.parseFloat(string) 6061$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); 6062 6063},{"./_export":47,"./_parse-float":100}],202:[function(require,module,exports){ 6064var $export = require('./_export'); 6065var $parseInt = require('./_parse-int'); 6066// 20.1.2.13 Number.parseInt(string, radix) 6067$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); 6068 6069},{"./_export":47,"./_parse-int":101}],203:[function(require,module,exports){ 6070'use strict'; 6071var $export = require('./_export'); 6072var toInteger = require('./_to-integer'); 6073var aNumberValue = require('./_a-number-value'); 6074var repeat = require('./_string-repeat'); 6075var $toFixed = 1.0.toFixed; 6076var floor = Math.floor; 6077var data = [0, 0, 0, 0, 0, 0]; 6078var ERROR = 'Number.toFixed: incorrect invocation!'; 6079var ZERO = '0'; 6080 6081var multiply = function (n, c) { 6082 var i = -1; 6083 var c2 = c; 6084 while (++i < 6) { 6085 c2 += n * data[i]; 6086 data[i] = c2 % 1e7; 6087 c2 = floor(c2 / 1e7); 6088 } 6089}; 6090var divide = function (n) { 6091 var i = 6; 6092 var c = 0; 6093 while (--i >= 0) { 6094 c += data[i]; 6095 data[i] = floor(c / n); 6096 c = (c % n) * 1e7; 6097 } 6098}; 6099var numToString = function () { 6100 var i = 6; 6101 var s = ''; 6102 while (--i >= 0) { 6103 if (s !== '' || i === 0 || data[i] !== 0) { 6104 var t = String(data[i]); 6105 s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; 6106 } 6107 } return s; 6108}; 6109var pow = function (x, n, acc) { 6110 return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); 6111}; 6112var log = function (x) { 6113 var n = 0; 6114 var x2 = x; 6115 while (x2 >= 4096) { 6116 n += 12; 6117 x2 /= 4096; 6118 } 6119 while (x2 >= 2) { 6120 n += 1; 6121 x2 /= 2; 6122 } return n; 6123}; 6124 6125$export($export.P + $export.F * (!!$toFixed && ( 6126 0.00008.toFixed(3) !== '0.000' || 6127 0.9.toFixed(0) !== '1' || 6128 1.255.toFixed(2) !== '1.25' || 6129 1000000000000000128.0.toFixed(0) !== '1000000000000000128' 6130) || !require('./_fails')(function () { 6131 // V8 ~ Android 4.3- 6132 $toFixed.call({}); 6133})), 'Number', { 6134 toFixed: function toFixed(fractionDigits) { 6135 var x = aNumberValue(this, ERROR); 6136 var f = toInteger(fractionDigits); 6137 var s = ''; 6138 var m = ZERO; 6139 var e, z, j, k; 6140 if (f < 0 || f > 20) throw RangeError(ERROR); 6141 // eslint-disable-next-line no-self-compare 6142 if (x != x) return 'NaN'; 6143 if (x <= -1e21 || x >= 1e21) return String(x); 6144 if (x < 0) { 6145 s = '-'; 6146 x = -x; 6147 } 6148 if (x > 1e-21) { 6149 e = log(x * pow(2, 69, 1)) - 69; 6150 z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); 6151 z *= 0x10000000000000; 6152 e = 52 - e; 6153 if (e > 0) { 6154 multiply(0, z); 6155 j = f; 6156 while (j >= 7) { 6157 multiply(1e7, 0); 6158 j -= 7; 6159 }
6160 multiply(pow(10, j, 1), 0); 6161 j = e - 1; 6162 while (j >= 23) { 6163 divide(1 << 23); 6164 j -= 23; 6165 } 6166 divide(1 << j); 6167 multiply(1, 1); 6168 divide(2); 6169 m = numToString(); 6170 } else { 6171 multiply(0, z); 6172 multiply(1 << -e, 0); 6173 m = numToString() + repeat.call(ZERO, f); 6174 } 6175 } 6176 if (f > 0) { 6177 k = m.length; 6178 m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); 6179 } else { 6180 m = s + m; 6181 } return m; 6182 } 6183}); 6184 6185},{"./_a-number-value":17,"./_export":47,"./_fails":49,"./_string-repeat":124,"./_to-integer":130}],204:[function(require,module,exports){ 6186'use strict'; 6187var $export = require('./_export'); 6188var $fails = require('./_fails'); 6189var aNumberValue = require('./_a-number-value'); 6190var $toPrecision = 1.0.toPrecision; 6191 6192$export($export.P + $export.F * ($fails(function () { 6193 // IE7- 6194 return $toPrecision.call(1, undefined) !== '1'; 6195}) || !$fails(function () { 6196 // V8 ~ Android 4.3- 6197 $toPrecision.call({}); 6198})), 'Number', { 6199 toPrecision: function toPrecision(precision) { 6200 var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); 6201 return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); 6202 } 6203}); 6204 6205},{"./_a-number-value":17,"./_export":47,"./_fails":49}],205:[function(require,module,exports){ 6206// 19.1.3.1 Object.assign(target, source) 6207var $export = require('./_export'); 6208 6209$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') }); 6210 6211},{"./_export":47,"./_object-assign":84}],206:[function(require,module,exports){ 6212var $export = require('./_export'); 6213// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) 6214$export($export.S, 'Object', { create: require('./_object-create') }); 6215 6216},{"./_export":47,"./_object-create":85}],207:[function(require,module,exports){ 6217var $export = require('./_export'); 6218// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) 6219$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') }); 6220 6221},{"./_descriptors":43,"./_export":47,"./_object-dps":87}],208:[function(require,module,exports){ 6222var $export = require('./_export'); 6223// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) 6224$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f }); 6225 6226},{"./_descriptors":43,"./_export":47,"./_object-dp":86}],209:[function(require,module,exports){ 6227// 19.1.2.5 Object.freeze(O) 6228var isObject = require('./_is-object'); 6229var meta = require('./_meta').onFreeze; 6230 6231require('./_object-sap')('freeze', function ($freeze) { 6232 return function freeze(it) { 6233 return $freeze && isObject(it) ? $freeze(meta(it)) : it; 6234 }; 6235}); 6236 6237},{"./_is-object":66,"./_meta":80,"./_object-sap":97}],210:[function(require,module,exports){ 6238// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) 6239var toIObject = require('./_to-iobject'); 6240var $getOwnPropertyDescriptor = require('./_object-gopd').f; 6241 6242require('./_object-sap')('getOwnPropertyDescriptor', function () { 6243 return function getOwnPropertyDescriptor(it, key) { 6244 return $getOwnPropertyDescriptor(toIObject(it), key); 6245 }; 6246}); 6247 6248},{"./_object-gopd":89,"./_object-sap":97,"./_to-iobject":131}],211:[function(require,module,exports){ 6249// 19.1.2.7 Object.getOwnPropertyNames(O) 6250require('./_object-sap')('getOwnPropertyNames', function () { 6251 return require('./_object-gopn-ext').f; 6252}); 6253 6254},{"./_object-gopn-ext":90,"./_object-sap":97}],212:[function(require,module,exports){ 6255// 19.1.2.9 Object.getPrototypeOf(O) 6256var toObject = require('./_to-object'); 6257var $getPrototypeOf = require('./_object-gpo'); 6258 6259require('./_object-sap')('getPrototypeOf', function () { 6260 return function getPrototypeOf(it) { 6261 return $getPrototypeOf(toObject(it)); 6262 }; 6263}); 6264 6265},{"./_object-gpo":93,"./_object-sap":97,"./_to-object":133}],213:[function(require,module,exports){ 6266// 19.1.2.11 Object.isExtensible(O) 6267var isObject = require('./_is-object'); 6268 6269require('./_object-sap')('isExtensible', function ($isExtensible) { 6270 return function isExtensible(it) { 6271 return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
6272 }; 6273}); 6274 6275},{"./_is-object":66,"./_object-sap":97}],214:[function(require,module,exports){ 6276// 19.1.2.12 Object.isFrozen(O) 6277var isObject = require('./_is-object'); 6278 6279require('./_object-sap')('isFrozen', function ($isFrozen) { 6280 return function isFrozen(it) { 6281 return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; 6282 }; 6283}); 6284 6285},{"./_is-object":66,"./_object-sap":97}],215:[function(require,module,exports){ 6286// 19.1.2.13 Object.isSealed(O) 6287var isObject = require('./_is-object'); 6288 6289require('./_object-sap')('isSealed', function ($isSealed) { 6290 return function isSealed(it) { 6291 return isObject(it) ? $isSealed ? $isSealed(it) : false : true; 6292 }; 6293}); 6294 6295},{"./_is-object":66,"./_object-sap":97}],216:[function(require,module,exports){ 6296// 19.1.3.10 Object.is(value1, value2) 6297var $export = require('./_export'); 6298$export($export.S, 'Object', { is: require('./_same-value') }); 6299 6300},{"./_export":47,"./_same-value":110}],217:[function(require,module,exports){ 6301// 19.1.2.14 Object.keys(O) 6302var toObject = require('./_to-object'); 6303var $keys = require('./_object-keys'); 6304 6305require('./_object-sap')('keys', function () { 6306 return function keys(it) { 6307 return $keys(toObject(it)); 6308 }; 6309}); 6310 6311},{"./_object-keys":95,"./_object-sap":97,"./_to-object":133}],218:[function(require,module,exports){ 6312// 19.1.2.15 Object.preventExtensions(O) 6313var isObject = require('./_is-object'); 6314var meta = require('./_meta').onFreeze; 6315 6316require('./_object-sap')('preventExtensions', function ($preventExtensions) { 6317 return function preventExtensions(it) { 6318 return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; 6319 }; 6320}); 6321 6322},{"./_is-object":66,"./_meta":80,"./_object-sap":97}],219:[function(require,module,exports){ 6323// 19.1.2.17 Object.seal(O) 6324var isObject = require('./_is-object'); 6325var meta = require('./_meta').onFreeze; 6326 6327require('./_object-sap')('seal', function ($seal) { 6328 return function seal(it) { 6329 return $seal && isObject(it) ? $seal(meta(it)) : it; 6330 }; 6331}); 6332 6333},{"./_is-object":66,"./_meta":80,"./_object-sap":97}],220:[function(require,module,exports){ 6334// 19.1.3.19 Object.setPrototypeOf(O, proto) 6335var $export = require('./_export'); 6336$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set }); 6337 6338},{"./_export":47,"./_set-proto":113}],221:[function(require,module,exports){ 6339'use strict'; 6340// 19.1.3.6 Object.prototype.toString() 6341var classof = require('./_classof'); 6342var test = {}; 6343test[require('./_wks')('toStringTag')] = 'z'; 6344if (test + '' != '[object z]') { 6345 require('./_redefine')(Object.prototype, 'toString', function toString() { 6346 return '[object ' + classof(this) + ']'; 6347 }, true); 6348} 6349 6350},{"./_classof":31,"./_redefine":106,"./_wks":143}],222:[function(require,module,exports){ 6351var $export = require('./_export'); 6352var $parseFloat = require('./_parse-float'); 6353// 18.2.4 parseFloat(string) 6354$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); 6355 6356},{"./_export":47,"./_parse-float":100}],223:[function(require,module,exports){ 6357var $export = require('./_export'); 6358var $parseInt = require('./_parse-int'); 6359// 18.2.5 parseInt(string, radix) 6360$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); 6361 6362},{"./_export":47,"./_parse-int":101}],224:[function(require,module,exports){ 6363'use strict'; 6364var LIBRARY = require('./_library'); 6365var global = require('./_global'); 6366var ctx = require('./_ctx'); 6367var classof = require('./_classof'); 6368var $export = require('./_export'); 6369var isObject = require('./_is-object'); 6370var aFunction = require('./_a-function'); 6371var anInstance = require('./_an-instance'); 6372var forOf = require('./_for-of'); 6373var speciesConstructor = require('./_species-constructor'); 6374var task = require('./_task').set; 6375var microtask = require('./_microtask')(); 6376var newPromiseCapabilityModule = require('./_new-promise-capability'); 6377var perform = require('./_perform'); 6378var userAgent = require('./_user-agent'); 6379var promiseResolve = require('./_promise-resolve'); 6380var PROMISE = 'Promise'; 6381var TypeError = global.TypeError; 6382var process = global.process; 6383var versions = process && process.versions; 6384var v8 = versions && versions.v8 || ''; 6385var $Promise = global[PROMISE]; 6386var isNode = classof(process) == 'process'; 6387var empty = function () { /* empty */ }; 6388var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; 6389var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; 6390 6391var USE_NATIVE = !!function () { 6392 try { 6393 // correct subclassing with @@species support 6394 var promise = $Promise.resolve(1); 6395 var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) { 6396 exec(empty, empty); 6397 }; 6398 // unhandled rejections tracking support, NodeJS Promise without it fails @@species test 6399 return (isNode || typeof PromiseRejectionEvent == 'function') 6400 && promise.then(empty) instanceof FakePromise 6401 // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables 6402 // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 6403 // we can't detect it synchronously, so just check versions 6404 && v8.indexOf('6.6') !== 0 6405 && userAgent.indexOf('Chrome/66') === -1; 6406 } catch (e) { /* empty */ } 6407}(); 6408 6409// helpers 6410var isThenable = function (it) { 6411 var then; 6412 return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
vendor: 11,040 bytes, lines 6413-6717
6413}; 6414var notify = function (promise, isReject) { 6415 if (promise._n) return; 6416 promise._n = true; 6417 var chain = promise._c; 6418 microtask(function () { 6419 var value = promise._v; 6420 var ok = promise._s == 1; 6421 var i = 0; 6422 var run = function (reaction) { 6423 var handler = ok ? reaction.ok : reaction.fail; 6424 var resolve = reaction.resolve; 6425 var reject = reaction.reject; 6426 var domain = reaction.domain; 6427 var result, then, exited; 6428 try { 6429 if (handler) { 6430 if (!ok) { 6431 if (promise._h == 2) onHandleUnhandled(promise); 6432 promise._h = 1; 6433 } 6434 if (handler === true) result = value; 6435 else { 6436 if (domain) domain.enter(); 6437 result = handler(value); // may throw 6438 if (domain) { 6439 domain.exit(); 6440 exited = true; 6441 } 6442 } 6443 if (result === reaction.promise) { 6444 reject(TypeError('Promise-chain cycle')); 6445 } else if (then = isThenable(result)) { 6446 then.call(result, resolve, reject); 6447 } else resolve(result); 6448 } else reject(value); 6449 } catch (e) { 6450 if (domain && !exited) domain.exit(); 6451 reject(e); 6452 } 6453 }; 6454 while (chain.length > i) run(chain[i++]); // variable length - can't use forEach 6455 promise._c = []; 6456 promise._n = false; 6457 if (isReject && !promise._h) onUnhandled(promise); 6458 }); 6459}; 6460var onUnhandled = function (promise) { 6461 task.call(global, function () { 6462 var value = promise._v; 6463 var unhandled = isUnhandled(promise); 6464 var result, handler, console; 6465 if (unhandled) { 6466 result = perform(function () { 6467 if (isNode) { 6468 process.emit('unhandledRejection', value, promise); 6469 } else if (handler = global.onunhandledrejection) { 6470 handler({ promise: promise, reason: value }); 6471 } else if ((console = global.console) && console.error) { 6472 console.error('Unhandled promise rejection', value); 6473 } 6474 }); 6475 // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should 6476 promise._h = isNode || isUnhandled(promise) ? 2 : 1; 6477 } promise._a = undefined; 6478 if (unhandled && result.e) throw result.v; 6479 }); 6480}; 6481var isUnhandled = function (promise) { 6482 return promise._h !== 1 && (promise._a || promise._c).length === 0; 6483}; 6484var onHandleUnhandled = function (promise) { 6485 task.call(global, function () { 6486 var handler; 6487 if (isNode) { 6488 process.emit('rejectionHandled', promise); 6489 } else if (handler = global.onrejectionhandled) { 6490 handler({ promise: promise, reason: promise._v }); 6491 } 6492 }); 6493}; 6494var $reject = function (value) { 6495 var promise = this; 6496 if (promise._d) return; 6497 promise._d = true; 6498 promise = promise._w || promise; // unwrap 6499 promise._v = value; 6500 promise._s = 2; 6501 if (!promise._a) promise._a = promise._c.slice(); 6502 notify(promise, true); 6503}; 6504var $resolve = function (value) { 6505 var promise = this; 6506 var then; 6507 if (promise._d) return; 6508 promise._d = true; 6509 promise = promise._w || promise; // unwrap 6510 try { 6511 if (promise === value) throw TypeError("Promise can't be resolved itself"); 6512 if (then = isThenable(value)) { 6513 microtask(function () { 6514 var wrapper = { _w: promise, _d: false }; // wrap 6515 try { 6516 then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); 6517 } catch (e) { 6518 $reject.call(wrapper, e); 6519 } 6520 }); 6521 } else { 6522 promise._v = value; 6523 promise._s = 1; 6524 notify(promise, false); 6525 } 6526 } catch (e) { 6527 $reject.call({ _w: promise, _d: false }, e); // wrap 6528 } 6529}; 6530 6531// constructor polyfill 6532if (!USE_NATIVE) { 6533 // 25.4.3.1 Promise(executor) 6534 $Promise = function Promise(executor) { 6535 anInstance(this, $Promise, PROMISE, '_h'); 6536 aFunction(executor); 6537 Internal.call(this); 6538 try { 6539 executor(ctx($resolve, this, 1), ctx($reject, this, 1)); 6540 } catch (err) { 6541 $reject.call(this, err); 6542 } 6543 }; 6544 // eslint-disable-next-line no-unused-vars 6545 Internal = function Promise(executor) { 6546 this._c = []; // <- awaiting reactions 6547 this._a = undefined; // <- checked in isUnhandled reactions 6548 this._s = 0; // <- state 6549 this._d = false; // <- done 6550 this._v = undefined; // <- value 6551 this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled 6552 this._n = false; // <- notify 6553 }; 6554 Internal.prototype = require('./_redefine-all')($Promise.prototype, { 6555 // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) 6556 then: function then(onFulfilled, onRejected) { 6557 var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); 6558 reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; 6559 reaction.fail = typeof onRejected == 'function' && onRejected; 6560 reaction.domain = isNode ? process.domain : undefined; 6561 this._c.push(reaction); 6562 if (this._a) this._a.push(reaction); 6563 if (this._s) notify(this, false); 6564 return reaction.promise; 6565 }, 6566 // 25.4.5.1 Promise.prototype.catch(onRejected) 6567 'catch': function (onRejected) { 6568 return this.then(undefined, onRejected); 6569 } 6570 }); 6571 OwnPromiseCapability = function () { 6572 var promise = new Internal(); 6573 this.promise = promise; 6574 this.resolve = ctx($resolve, promise, 1); 6575 this.reject = ctx($reject, promise, 1); 6576 }; 6577 newPromiseCapabilityModule.f = newPromiseCapability = function (C) { 6578 return C === $Promise || C === Wrapper 6579 ? new OwnPromiseCapability(C) 6580 : newGenericPromiseCapability(C); 6581 }; 6582} 6583 6584$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); 6585require('./_set-to-string-tag')($Promise, PROMISE); 6586require('./_set-species')(PROMISE); 6587Wrapper = require('./_core')[PROMISE]; 6588 6589// statics 6590$export($export.S + $export.F * !USE_NATIVE, PROMISE, { 6591 // 25.4.4.5 Promise.reject(r) 6592 reject: function reject(r) { 6593 var capability = newPromiseCapability(this); 6594 var $$reject = capability.reject; 6595 $$reject(r); 6596 return capability.promise; 6597 } 6598}); 6599$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { 6600 // 25.4.4.6 Promise.resolve(x) 6601 resolve: function resolve(x) { 6602 return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); 6603 } 6604}); 6605$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) { 6606 $Promise.all(iter)['catch'](empty); 6607})), PROMISE, { 6608 // 25.4.4.1 Promise.all(iterable) 6609 all: function all(iterable) { 6610 var C = this; 6611 var capability = newPromiseCapability(C); 6612 var resolve = capability.resolve; 6613 var reject = capability.reject; 6614 var result = perform(function () { 6615 var values = []; 6616 var index = 0; 6617 var remaining = 1; 6618 forOf(iterable, false, function (promise) { 6619 var $index = index++; 6620 var alreadyCalled = false; 6621 values.push(undefined); 6622 remaining++; 6623 C.resolve(promise).then(function (value) { 6624 if (alreadyCalled) return; 6625 alreadyCalled = true; 6626 values[$index] = value; 6627 --remaining || resolve(values); 6628 }, reject); 6629 }); 6630 --remaining || resolve(values); 6631 }); 6632 if (result.e) reject(result.v); 6633 return capability.promise; 6634 }, 6635 // 25.4.4.4 Promise.race(iterable) 6636 race: function race(iterable) { 6637 var C = this; 6638 var capability = newPromiseCapability(C); 6639 var reject = capability.reject; 6640 var result = perform(function () { 6641 forOf(iterable, false, function (promise) { 6642 C.resolve(promise).then(capability.resolve, reject); 6643 }); 6644 }); 6645 if (result.e) reject(result.v); 6646 return capability.promise; 6647 } 6648}); 6649 6650},{"./_a-function":16,"./_an-instance":20,"./_classof":31,"./_core":37,"./_ctx":39,"./_export":47,"./_for-of":53,"./_global":55,"./_is-object":66,"./_iter-detect":71,"./_library":74,"./_microtask":82,"./_new-promise-capability":83,"./_perform":102,"./_promise-resolve":103,"./_redefine-all":105,"./_set-species":114,"./_set-to-string-tag":115,"./_species-constructor":118,"./_task":127,"./_user-agent":139,"./_wks":143}],225:[function(require,module,exports){ 6651// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) 6652var $export = require('./_export'); 6653var aFunction = require('./_a-function'); 6654var anObject = require('./_an-object'); 6655var rApply = (require('./_global').Reflect || {}).apply; 6656var fApply = Function.apply; 6657// MS Edge argumentsList argument is optional 6658$export($export.S + $export.F * !require('./_fails')(function () { 6659 rApply(function () { /* empty */ }); 6660}), 'Reflect', { 6661 apply: function apply(target, thisArgument, argumentsList) { 6662 var T = aFunction(target); 6663 var L = anObject(argumentsList); 6664 return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); 6665 } 6666}); 6667 6668},{"./_a-function":16,"./_an-object":21,"./_export":47,"./_fails":49,"./_global":55}],226:[function(require,module,exports){ 6669// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) 6670var $export = require('./_export'); 6671var create = require('./_object-create'); 6672var aFunction = require('./_a-function'); 6673var anObject = require('./_an-object'); 6674var isObject = require('./_is-object'); 6675var fails = require('./_fails'); 6676var bind = require('./_bind'); 6677var rConstruct = (require('./_global').Reflect || {}).construct; 6678 6679// MS Edge supports only 2 arguments and argumentsList argument is optional 6680// FF Nightly sets third argument as `new.target`, but does not create `this` from it 6681var NEW_TARGET_BUG = fails(function () { 6682 function F() { /* empty */ } 6683 return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); 6684}); 6685var ARGS_BUG = !fails(function () { 6686 rConstruct(function () { /* empty */ }); 6687}); 6688 6689$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { 6690 construct: function construct(Target, args /* , newTarget */) { 6691 aFunction(Target); 6692 anObject(args); 6693 var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); 6694 if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); 6695 if (Target == newTarget) { 6696 // w/o altered newTarget, optimization for 0-4 arguments 6697 switch (args.length) { 6698 case 0: return new Target(); 6699 case 1: return new Target(args[0]); 6700 case 2: return new Target(args[0], args[1]); 6701 case 3: return new Target(args[0], args[1], args[2]); 6702 case 4: return new Target(args[0], args[1], args[2], args[3]); 6703 } 6704 // w/o altered newTarget, lot of arguments case 6705 var $args = [null]; 6706 $args.push.apply($args, args); 6707 return new (bind.apply(Target, $args))(); 6708 } 6709 // with altered newTarget, not support built-in constructors 6710 var proto = newTarget.prototype; 6711 var instance = create(isObject(proto) ? proto : Object.prototype); 6712 var result = Function.apply.call(Target, instance, args); 6713 return isObject(result) ? result : instance; 6714 } 6715}); 6716 6717},{"./_a-function":16,"./_an-object":21,"./_bind":30,"./_export":47,"./_fail
6717s":49,"./_global":55,"./_is-object":66,"./_object-create":85}],227:[function(require,module,exports){ 6718// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) 6719var dP = require('./_object-dp'); 6720var $export = require('./_export'); 6721var anObject = require('./_an-object'); 6722var toPrimitive = require('./_to-primitive'); 6723 6724// MS Edge has broken Reflect.defineProperty - throwing instead of returning false 6725$export($export.S + $export.F * require('./_fails')(function () { 6726 // eslint-disable-next-line no-undef 6727 Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); 6728}), 'Reflect', { 6729 defineProperty: function defineProperty(target, propertyKey, attributes) { 6730 anObject(target); 6731 propertyKey = toPrimitive(propertyKey, true); 6732 anObject(attributes); 6733 try { 6734 dP.f(target, propertyKey, attributes); 6735 return true; 6736 } catch (e) { 6737 return false; 6738 } 6739 } 6740}); 6741 6742},{"./_an-object":21,"./_export":47,"./_fails":49,"./_object-dp":86,"./_to-primitive":134}],228:[function(require,module,exports){ 6743// 26.1.4 Reflect.deleteProperty(target, propertyKey) 6744var $export = require('./_export'); 6745var gOPD = require('./_object-gopd').f; 6746var anObject = require('./_an-object'); 6747 6748$export($export.S, 'Reflect', { 6749 deleteProperty: function deleteProperty(target, propertyKey) { 6750 var desc = gOPD(anObject(target), propertyKey); 6751 return desc && !desc.configurable ? false : delete target[propertyKey]; 6752 } 6753}); 6754 6755},{"./_an-object":21,"./_export":47,"./_object-gopd":89}],229:[function(require,module,exports){ 6756'use strict'; 6757// 26.1.5 Reflect.enumerate(target) 6758var $export = require('./_export'); 6759var anObject = require('./_an-object'); 6760var Enumerate = function (iterated) { 6761 this._t = anObject(iterated); // target 6762 this._i = 0; // next index 6763 var keys = this._k = []; // keys 6764 var key; 6765 for (key in iterated) keys.push(key); 6766}; 6767require('./_iter-create')(Enumerate, 'Object', function () { 6768 var that = this; 6769 var keys = that._k; 6770 var key; 6771 do { 6772 if (that._i >= keys.length) return { value: undefined, done: true }; 6773 } while (!((key = keys[that._i++]) in that._t)); 6774 return { value: key, done: false }; 6775}); 6776 6777$export($export.S, 'Reflect', { 6778 enumerate: function enumerate(target) { 6779 return new Enumerate(target); 6780 } 6781}); 6782 6783},{"./_an-object":21,"./_export":47,"./_iter-create":69}],230:[function(require,module,exports){ 6784// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) 6785var gOPD = require('./_object-gopd'); 6786var $export = require('./_export'); 6787var anObject = require('./_an-object'); 6788 6789$export($export.S, 'Reflect', { 6790 getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { 6791 return gOPD.f(anObject(target), propertyKey); 6792 } 6793}); 6794 6795},{"./_an-object":21,"./_export":47,"./_object-gopd":89}],231:[function(require,module,exports){ 6796// 26.1.8 Reflect.getPrototypeOf(target) 6797var $export = require('./_export'); 6798var getProto = require('./_object-gpo'); 6799var anObject = require('./_an-object'); 6800 6801$export($export.S, 'Reflect', { 6802 getPrototypeOf: function getPrototypeOf(target) { 6803 return getProto(anObject(target)); 6804 } 6805}); 6806 6807},{"./_an-object":21,"./_export":47,"./_object-gpo":93}],232:[function(require,module,exports){ 6808// 26.1.6 Reflect.get(target, propertyKey [, receiver]) 6809var gOPD = require('./_object-gopd'); 6810var getPrototypeOf = require('./_object-gpo'); 6811var has = require('./_has'); 6812var $export = require('./_export'); 6813var isObject = require('./_is-object'); 6814var anObject = require('./_an-object'); 6815 6816function get(target, propertyKey /* , receiver */) { 6817 var receiver = arguments.length < 3 ? target : arguments[2]; 6818 var desc, proto; 6819 if (anObject(target) === receiver) return target[propertyKey]; 6820 if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') 6821 ? desc.value 6822 : desc.get !== undefined 6823 ? desc.get.call(receiver) 6824 : undefined; 6825 if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); 6826} 6827 6828$export($export.S, 'Reflect', { get: get }); 6829 6830},{"./_an-object":21,"./_export":47,"./_has":56,"./_is-object":66,"./_object-gopd":89,"./_object-gpo":93}],233:[function(require,module,exports){ 6831// 26.1.9 Reflect.has(target, propertyKey)
vendor: 2,912 bytes, lines 6832-6921
6832var $export = require('./_export'); 6833 6834$export($export.S, 'Reflect', { 6835 has: function has(target, propertyKey) { 6836 return propertyKey in target; 6837 } 6838}); 6839 6840},{"./_export":47}],234:[function(require,module,exports){ 6841// 26.1.10 Reflect.isExtensible(target) 6842var $export = require('./_export'); 6843var anObject = require('./_an-object'); 6844var $isExtensible = Object.isExtensible; 6845 6846$export($export.S, 'Reflect', { 6847 isExtensible: function isExtensible(target) { 6848 anObject(target); 6849 return $isExtensible ? $isExtensible(target) : true; 6850 } 6851}); 6852 6853},{"./_an-object":21,"./_export":47}],235:[function(require,module,exports){ 6854// 26.1.11 Reflect.ownKeys(target) 6855var $export = require('./_export'); 6856 6857$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') }); 6858 6859},{"./_export":47,"./_own-keys":99}],236:[function(require,module,exports){ 6860// 26.1.12 Reflect.preventExtensions(target) 6861var $export = require('./_export'); 6862var anObject = require('./_an-object'); 6863var $preventExtensions = Object.preventExtensions; 6864 6865$export($export.S, 'Reflect', { 6866 preventExtensions: function preventExtensions(target) { 6867 anObject(target); 6868 try { 6869 if ($preventExtensions) $preventExtensions(target); 6870 return true; 6871 } catch (e) { 6872 return false; 6873 } 6874 } 6875}); 6876 6877},{"./_an-object":21,"./_export":47}],237:[function(require,module,exports){ 6878// 26.1.14 Reflect.setPrototypeOf(target, proto) 6879var $export = require('./_export'); 6880var setProto = require('./_set-proto'); 6881 6882if (setProto) $export($export.S, 'Reflect', { 6883 setPrototypeOf: function setPrototypeOf(target, proto) { 6884 setProto.check(target, proto); 6885 try { 6886 setProto.set(target, proto); 6887 return true; 6888 } catch (e) { 6889 return false; 6890 } 6891 } 6892}); 6893 6894},{"./_export":47,"./_set-proto":113}],238:[function(require,module,exports){ 6895// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) 6896var dP = require('./_object-dp'); 6897var gOPD = require('./_object-gopd'); 6898var getPrototypeOf = require('./_object-gpo'); 6899var has = require('./_has'); 6900var $export = require('./_export'); 6901var createDesc = require('./_property-desc'); 6902var anObject = require('./_an-object'); 6903var isObject = require('./_is-object'); 6904 6905function set(target, propertyKey, V /* , receiver */) { 6906 var receiver = arguments.length < 4 ? target : arguments[3]; 6907 var ownDesc = gOPD.f(anObject(target), propertyKey); 6908 var existingDescriptor, proto; 6909 if (!ownDesc) { 6910 if (isObject(proto = getPrototypeOf(target))) { 6911 return set(proto, propertyKey, V, receiver); 6912 } 6913 ownDesc = createDesc(0); 6914 } 6915 if (has(ownDesc, 'value')) { 6916 if (ownDesc.writable === false || !isObject(receiver)) return false; 6917 if (existingDescriptor = gOPD.f(receiver, propertyKey)) { 6918 if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; 6919 existingDescriptor.value = V; 6920 dP.f(receiver, propertyKey, existingDescriptor); 6921 }
vendor: 4,096 bytes, lines 6921-7026
6921 else dP.f(receiver, propertyKey, createDesc(0, V)); 6922 return true; 6923 } 6924 return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); 6925} 6926 6927$export($export.S, 'Reflect', { set: set }); 6928 6929},{"./_an-object":21,"./_export":47,"./_has":56,"./_is-object":66,"./_object-dp":86,"./_object-gopd":89,"./_object-gpo":93,"./_property-desc":104}],239:[function(require,module,exports){ 6930var global = require('./_global'); 6931var inheritIfRequired = require('./_inherit-if-required'); 6932var dP = require('./_object-dp').f; 6933var gOPN = require('./_object-gopn').f; 6934var isRegExp = require('./_is-regexp'); 6935var $flags = require('./_flags'); 6936var $RegExp = global.RegExp; 6937var Base = $RegExp; 6938var proto = $RegExp.prototype; 6939var re1 = /a/g; 6940var re2 = /a/g; 6941// "new" creates a new object, old webkit buggy here 6942var CORRECT_NEW = new $RegExp(re1) !== re1; 6943 6944if (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () { 6945 re2[require('./_wks')('match')] = false; 6946 // RegExp constructor can alter flags and IsRegExp works correct with @@match 6947 return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; 6948}))) { 6949 $RegExp = function RegExp(p, f) { 6950 var tiRE = this instanceof $RegExp; 6951 var piRE = isRegExp(p); 6952 var fiU = f === undefined; 6953 return !tiRE && piRE && p.constructor === $RegExp && fiU ? p 6954 : inheritIfRequired(CORRECT_NEW 6955 ? new Base(piRE && !fiU ? p.source : p, f) 6956 : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) 6957 , tiRE ? this : proto, $RegExp); 6958 }; 6959 var proxy = function (key) { 6960 key in $RegExp || dP($RegExp, key, { 6961 configurable: true, 6962 get: function () { return Base[key]; }, 6963 set: function (it) { Base[key] = it; } 6964 }); 6965 }; 6966 for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); 6967 proto.constructor = $RegExp; 6968 $RegExp.prototype = proto; 6969 require('./_redefine')(global, 'RegExp', $RegExp); 6970} 6971 6972require('./_set-species')('RegExp'); 6973 6974},{"./_descriptors":43,"./_fails":49,"./_flags":51,"./_global":55,"./_inherit-if-required":60,"./_is-regexp":67,"./_object-dp":86,"./_object-gopn":91,"./_redefine":106,"./_set-species":114,"./_wks":143}],240:[function(require,module,exports){ 6975'use strict'; 6976var regexpExec = require('./_regexp-exec'); 6977require('./_export')({ 6978 target: 'RegExp', 6979 proto: true, 6980 forced: regexpExec !== /./.exec 6981}, { 6982 exec: regexpExec 6983}); 6984 6985},{"./_export":47,"./_regexp-exec":108}],241:[function(require,module,exports){ 6986// 21.2.5.3 get RegExp.prototype.flags() 6987if (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', { 6988 configurable: true, 6989 get: require('./_flags') 6990}); 6991 6992},{"./_descriptors":43,"./_flags":51,"./_object-dp":86}],242:[function(require,module,exports){ 6993'use strict'; 6994 6995var anObject = require('./_an-object'); 6996var toLength = require('./_to-length'); 6997var advanceStringIndex = require('./_advance-string-index'); 6998var regExpExec = require('./_regexp-exec-abstract'); 6999 7000// @@match logic 7001require('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) { 7002 return [ 7003 // `String.prototype.match` method 7004 // https://tc39.github.io/ecma262/#sec-string.prototype.match 7005 function match(regexp) { 7006 var O = defined(this); 7007 var fn = regexp == undefined ? undefined : regexp[MATCH]; 7008 return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); 7009 }, 7010 // `RegExp.prototype[@@match]` method 7011 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match 7012 function (regexp) { 7013 var res = maybeCallNative($match, regexp, this); 7014 if (res.done) return res.value; 7015 var rx = anObject(regexp); 7016 var S = String(this); 7017 if (!rx.global) return regExpExec(rx, S); 7018 var fullUnicode = rx.unicode; 7019 rx.lastIndex = 0; 7020 var A = []; 7021 var n = 0; 7022 var result; 7023 while ((result = regExpExec(rx, S)) !== null) { 7024 var matchStr = String(result[0]); 7025 A[n] = matchStr; 7026 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLe
vendor: 4,345 bytes, lines 7026-7133
7026ngth(rx.lastIndex), fullUnicode); 7027 n++; 7028 } 7029 return n === 0 ? null : A; 7030 } 7031 ]; 7032}); 7033 7034},{"./_advance-string-index":19,"./_an-object":21,"./_fix-re-wks":50,"./_regexp-exec-abstract":107,"./_to-length":132}],243:[function(require,module,exports){ 7035'use strict'; 7036 7037var anObject = require('./_an-object'); 7038var toObject = require('./_to-object'); 7039var toLength = require('./_to-length'); 7040var toInteger = require('./_to-integer'); 7041var advanceStringIndex = require('./_advance-string-index'); 7042var regExpExec = require('./_regexp-exec-abstract'); 7043var max = Math.max; 7044var min = Math.min; 7045var floor = Math.floor; 7046var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; 7047var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; 7048 7049var maybeToString = function (it) { 7050 return it === undefined ? it : String(it); 7051}; 7052 7053// @@replace logic 7054require('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) { 7055 return [ 7056 // `String.prototype.replace` method 7057 // https://tc39.github.io/ecma262/#sec-string.prototype.replace 7058 function replace(searchValue, replaceValue) { 7059 var O = defined(this); 7060 var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; 7061 return fn !== undefined 7062 ? fn.call(searchValue, O, replaceValue) 7063 : $replace.call(String(O), searchValue, replaceValue); 7064 }, 7065 // `RegExp.prototype[@@replace]` method 7066 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace 7067 function (regexp, replaceValue) { 7068 var res = maybeCallNative($replace, regexp, this, replaceValue); 7069 if (res.done) return res.value; 7070 7071 var rx = anObject(regexp); 7072 var S = String(this); 7073 var functionalReplace = typeof replaceValue === 'function'; 7074 if (!functionalReplace) replaceValue = String(replaceValue); 7075 var global = rx.global; 7076 if (global) { 7077 var fullUnicode = rx.unicode; 7078 rx.lastIndex = 0; 7079 } 7080 var results = []; 7081 while (true) { 7082 var result = regExpExec(rx, S); 7083 if (result === null) break; 7084 results.push(result); 7085 if (!global) break; 7086 var matchStr = String(result[0]); 7087 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 7088 } 7089 var accumulatedResult = ''; 7090 var nextSourcePosition = 0; 7091 for (var i = 0; i < results.length; i++) { 7092 result = results[i]; 7093 var matched = String(result[0]); 7094 var position = max(min(toInteger(result.index), S.length), 0); 7095 var captures = []; 7096 // NOTE: This is equivalent to 7097 // captures = result.slice(1).map(maybeToString) 7098 // but for some reason `nativeSlice.call(result, 1, result.length)` (called in 7099 // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and 7100 // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. 7101 for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); 7102 var namedCaptures = result.groups; 7103 if (functionalReplace) { 7104 var replacerArgs = [matched].concat(captures, position, S); 7105 if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); 7106 var replacement = String(replaceValue.apply(undefined, replacerArgs)); 7107 } else { 7108 replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); 7109 } 7110 if (position >= nextSourcePosition) { 7111 accumulatedResult += S.slice(nextSourcePosition, position) + replacement; 7112 nextSourcePosition = position + matched.length; 7113 } 7114 } 7115 return accumulatedResult + S.slice(nextSourcePosition); 7116 } 7117 ]; 7118 7119 // https://tc39.github.io/ecma262/#sec-getsubstitution 7120 function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { 7121 var tailPos = position + matched.length; 7122 var m = captures.length; 7123 var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; 7124 if (namedCaptures !== undefined) { 7125 namedCaptures = toObject(namedCaptures); 7126 symbols = SUBSTITUTION_SYMBOLS; 7127 } 7128 return $replace.call(replacement, symbols, function (match, ch) { 7129 var capture; 7130 switch (ch.charAt(0)) { 7131 case '$': return '$'; 7132 case '&': return matched; 7133 case '`': return str.slice(0, position);
vendor: 5,519 bytes, lines 7134-7269
7134 case "'": return str.slice(tailPos); 7135 case '<': 7136 capture = namedCaptures[ch.slice(1, -1)]; 7137 break; 7138 default: // \d\d? 7139 var n = +ch; 7140 if (n === 0) return match; 7141 if (n > m) { 7142 var f = floor(n / 10); 7143 if (f === 0) return match; 7144 if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); 7145 return match; 7146 } 7147 capture = captures[n - 1]; 7148 } 7149 return capture === undefined ? '' : capture; 7150 }); 7151 } 7152}); 7153 7154},{"./_advance-string-index":19,"./_an-object":21,"./_fix-re-wks":50,"./_regexp-exec-abstract":107,"./_to-integer":130,"./_to-length":132,"./_to-object":133}],244:[function(require,module,exports){ 7155'use strict'; 7156 7157var anObject = require('./_an-object'); 7158var sameValue = require('./_same-value'); 7159var regExpExec = require('./_regexp-exec-abstract'); 7160 7161// @@search logic 7162require('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) { 7163 return [ 7164 // `String.prototype.search` method 7165 // https://tc39.github.io/ecma262/#sec-string.prototype.search 7166 function search(regexp) { 7167 var O = defined(this); 7168 var fn = regexp == undefined ? undefined : regexp[SEARCH]; 7169 return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); 7170 }, 7171 // `RegExp.prototype[@@search]` method 7172 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search 7173 function (regexp) { 7174 var res = maybeCallNative($search, regexp, this); 7175 if (res.done) return res.value; 7176 var rx = anObject(regexp); 7177 var S = String(this); 7178 var previousLastIndex = rx.lastIndex; 7179 if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; 7180 var result = regExpExec(rx, S); 7181 if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; 7182 return result === null ? -1 : result.index; 7183 } 7184 ]; 7185}); 7186 7187},{"./_an-object":21,"./_fix-re-wks":50,"./_regexp-exec-abstract":107,"./_same-value":110}],245:[function(require,module,exports){ 7188'use strict'; 7189 7190var isRegExp = require('./_is-regexp'); 7191var anObject = require('./_an-object'); 7192var speciesConstructor = require('./_species-constructor'); 7193var advanceStringIndex = require('./_advance-string-index'); 7194var toLength = require('./_to-length'); 7195var callRegExpExec = require('./_regexp-exec-abstract'); 7196var regexpExec = require('./_regexp-exec'); 7197var fails = require('./_fails'); 7198var $min = Math.min; 7199var $push = [].push; 7200var $SPLIT = 'split'; 7201var LENGTH = 'length'; 7202var LAST_INDEX = 'lastIndex'; 7203var MAX_UINT32 = 0xffffffff; 7204 7205// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError 7206var SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); }); 7207 7208// @@split logic 7209require('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) { 7210 var internalSplit; 7211 if ( 7212 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || 7213 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || 7214 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || 7215 '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || 7216 '.'[$SPLIT](/()()/)[LENGTH] > 1 || 7217 ''[$SPLIT](/.?/)[LENGTH] 7218 ) { 7219 // based on es5-shim implementation, need to rework it 7220 internalSplit = function (separator, limit) { 7221 var string = String(this); 7222 if (separator === undefined && limit === 0) return []; 7223 // If `separator` is not a regex, use native split 7224 if (!isRegExp(separator)) return $split.call(string, separator, limit); 7225 var output = []; 7226 var flags = (separator.ignoreCase ? 'i' : '') + 7227 (separator.multiline ? 'm' : '') + 7228 (separator.unicode ? 'u' : '') + 7229 (separator.sticky ? 'y' : ''); 7230 var lastLastIndex = 0; 7231 var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0; 7232 // Make `global` and avoid `lastIndex` issues by working with a copy 7233 var separatorCopy = new RegExp(separator.source, flags + 'g'); 7234 var match, lastIndex, lastLength; 7235 while (match = regexpExec.call(separatorCopy, string)) { 7236 lastIndex = separatorCopy[LAST_INDEX]; 7237 if (lastIndex > lastLastIndex) { 7238 output.push(string.slice(lastLastIndex, match.index)); 7239 if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); 7240 lastLength = match[0][LENGTH]; 7241 lastLastIndex = lastIndex; 7242 if (output[LENGTH] >= splitLimit) break; 7243 } 7244 if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop 7245 } 7246 if (lastLastIndex === string[LENGTH]) { 7247 if (lastLength || !separatorCopy.test('')) output.push(''); 7248 } else output.push(string.slice(lastLastIndex)); 7249 return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; 7250 }; 7251 // Chakra, V8 7252 } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { 7253 internalSplit = function (separator, limit) { 7254 return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit); 7255 }; 7256 } else { 7257 internalSplit = $split; 7258 } 7259 7260 return [ 7261 // `String.prototype.split` method 7262 // https://tc39.github.io/ecma262/#sec-string.prototype.split 7263 function split(separator, limit) { 7264 var O = defined(this); 7265 var splitter = separator == undefined ? undefined : separator[SPLIT]; 7266 return splitter !== undefined 7267 ? splitter.call(separator, O, limit) 7268 : internalSplit.call(String(O), separator, limit); 7269 },
vendor: 4,163 bytes, lines 7270-7385
7270 // `RegExp.prototype[@@split]` method 7271 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split 7272 // 7273 // NOTE: This cannot be properly polyfilled in engines that don't support 7274 // the 'y' flag. 7275 function (regexp, limit) { 7276 var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split); 7277 if (res.done) return res.value; 7278 7279 var rx = anObject(regexp); 7280 var S = String(this); 7281 var C = speciesConstructor(rx, RegExp); 7282 7283 var unicodeMatching = rx.unicode; 7284 var flags = (rx.ignoreCase ? 'i' : '') + 7285 (rx.multiline ? 'm' : '') + 7286 (rx.unicode ? 'u' : '') + 7287 (SUPPORTS_Y ? 'y' : 'g'); 7288 7289 // ^(? + rx + ) is needed, in combination with some S slicing, to 7290 // simulate the 'y' flag. 7291 var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); 7292 var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; 7293 if (lim === 0) return []; 7294 if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; 7295 var p = 0; 7296 var q = 0; 7297 var A = []; 7298 while (q < S.length) { 7299 splitter.lastIndex = SUPPORTS_Y ? q : 0; 7300 var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); 7301 var e; 7302 if ( 7303 z === null || 7304 (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p 7305 ) { 7306 q = advanceStringIndex(S, q, unicodeMatching); 7307 } else { 7308 A.push(S.slice(p, q)); 7309 if (A.length === lim) return A; 7310 for (var i = 1; i <= z.length - 1; i++) { 7311 A.push(z[i]); 7312 if (A.length === lim) return A; 7313 } 7314 q = p = e; 7315 } 7316 } 7317 A.push(S.slice(p)); 7318 return A; 7319 } 7320 ]; 7321}); 7322 7323},{"./_advance-string-index":19,"./_an-object":21,"./_fails":49,"./_fix-re-wks":50,"./_is-regexp":67,"./_regexp-exec":108,"./_regexp-exec-abstract":107,"./_species-constructor":118,"./_to-length":132}],246:[function(require,module,exports){ 7324'use strict'; 7325require('./es6.regexp.flags'); 7326var anObject = require('./_an-object'); 7327var $flags = require('./_flags'); 7328var DESCRIPTORS = require('./_descriptors'); 7329var TO_STRING = 'toString'; 7330var $toString = /./[TO_STRING]; 7331 7332var define = function (fn) { 7333 require('./_redefine')(RegExp.prototype, TO_STRING, fn, true); 7334}; 7335 7336// 21.2.5.14 RegExp.prototype.toString() 7337if (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { 7338 define(function toString() { 7339 var R = anObject(this); 7340 return '/'.concat(R.source, '/', 7341 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); 7342 }); 7343// FF44- RegExp#toString has a wrong name 7344} else if ($toString.name != TO_STRING) { 7345 define(function toString() { 7346 return $toString.call(this); 7347 }); 7348} 7349 7350},{"./_an-object":21,"./_descriptors":43,"./_fails":49,"./_flags":51,"./_redefine":106,"./es6.regexp.flags":241}],247:[function(require,module,exports){ 7351'use strict'; 7352var strong = require('./_collection-strong'); 7353var validate = require('./_validate-collection'); 7354var SET = 'Set'; 7355 7356// 23.2 Set Objects 7357module.exports = require('./_collection')(SET, function (get) { 7358 return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; 7359}, { 7360 // 23.2.3.1 Set.prototype.add(value) 7361 add: function add(value) { 7362 return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); 7363 } 7364}, strong); 7365 7366},{"./_collection":36,"./_collection-strong":33,"./_validate-collection":140}],248:[function(require,module,exports){ 7367'use strict'; 7368// B.2.3.2 String.prototype.anchor(name) 7369require('./_string-html')('anchor', function (createHTML) { 7370 return function anchor(name) { 7371 return createHTML(this, 'a', 'name', name); 7372 }; 7373}); 7374 7375},{"./_string-html":122}],249:[function(require,module,exports){ 7376'use strict'; 7377// B.2.3.3 String.prototype.big() 7378require('./_string-html')('big', function (createHTML) { 7379 return function big() { 7380 return createHTML(this, 'big', '', ''); 7381 }; 7382}); 7383 7384},{"./_string-html":122}],250:[function(require,module,exports){ 7385'use strict';
vendor: 5,289 bytes, lines 7386-7538
7386// B.2.3.4 String.prototype.blink() 7387require('./_string-html')('blink', function (createHTML) { 7388 return function blink() { 7389 return createHTML(this, 'blink', '', ''); 7390 }; 7391}); 7392 7393},{"./_string-html":122}],251:[function(require,module,exports){ 7394'use strict'; 7395// B.2.3.5 String.prototype.bold() 7396require('./_string-html')('bold', function (createHTML) { 7397 return function bold() { 7398 return createHTML(this, 'b', '', ''); 7399 }; 7400}); 7401 7402},{"./_string-html":122}],252:[function(require,module,exports){ 7403'use strict'; 7404var $export = require('./_export'); 7405var $at = require('./_string-at')(false); 7406$export($export.P, 'String', { 7407 // 21.1.3.3 String.prototype.codePointAt(pos) 7408 codePointAt: function codePointAt(pos) { 7409 return $at(this, pos); 7410 } 7411}); 7412 7413},{"./_export":47,"./_string-at":120}],253:[function(require,module,exports){ 7414// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) 7415'use strict'; 7416var $export = require('./_export'); 7417var toLength = require('./_to-length'); 7418var context = require('./_string-context'); 7419var ENDS_WITH = 'endsWith'; 7420var $endsWith = ''[ENDS_WITH]; 7421 7422$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', { 7423 endsWith: function endsWith(searchString /* , endPosition = @length */) { 7424 var that = context(this, searchString, ENDS_WITH); 7425 var endPosition = arguments.length > 1 ? arguments[1] : undefined; 7426 var len = toLength(that.length); 7427 var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); 7428 var search = String(searchString); 7429 return $endsWith 7430 ? $endsWith.call(that, search, end) 7431 : that.slice(end - search.length, end) === search; 7432 } 7433}); 7434 7435},{"./_export":47,"./_fails-is-regexp":48,"./_string-context":121,"./_to-length":132}],254:[function(require,module,exports){ 7436'use strict'; 7437// B.2.3.6 String.prototype.fixed() 7438require('./_string-html')('fixed', function (createHTML) { 7439 return function fixed() { 7440 return createHTML(this, 'tt', '', ''); 7441 }; 7442}); 7443 7444},{"./_string-html":122}],255:[function(require,module,exports){ 7445'use strict'; 7446// B.2.3.7 String.prototype.fontcolor(color) 7447require('./_string-html')('fontcolor', function (createHTML) { 7448 return function fontcolor(color) { 7449 return createHTML(this, 'font', 'color', color); 7450 }; 7451}); 7452 7453},{"./_string-html":122}],256:[function(require,module,exports){ 7454'use strict'; 7455// B.2.3.8 String.prototype.fontsize(size) 7456require('./_string-html')('fontsize', function (createHTML) { 7457 return function fontsize(size) { 7458 return createHTML(this, 'font', 'size', size); 7459 }; 7460}); 7461 7462},{"./_string-html":122}],257:[function(require,module,exports){ 7463var $export = require('./_export'); 7464var toAbsoluteIndex = require('./_to-absolute-index'); 7465var fromCharCode = String.fromCharCode; 7466var $fromCodePoint = String.fromCodePoint; 7467 7468// length should be 1, old FF problem 7469$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { 7470 // 21.1.2.2 String.fromCodePoint(...codePoints) 7471 fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars 7472 var res = []; 7473 var aLen = arguments.length; 7474 var i = 0; 7475 var code; 7476 while (aLen > i) { 7477 code = +arguments[i++]; 7478 if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); 7479 res.push(code < 0x10000 7480 ? fromCharCode(code) 7481 : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) 7482 ); 7483 } return res.join(''); 7484 } 7485}); 7486 7487},{"./_export":47,"./_to-absolute-index":128}],258:[function(require,module,exports){ 7488// 21.1.3.7 String.prototype.includes(searchString, position = 0) 7489'use strict'; 7490var $export = require('./_export'); 7491var context = require('./_string-context'); 7492var INCLUDES = 'includes'; 7493 7494$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', { 7495 includes: function includes(searchString /* , position = 0 */) { 7496 return !!~context(this, searchString, INCLUDES) 7497 .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); 7498 } 7499}); 7500 7501},{"./_export":47,"./_fails-is-regexp":48,"./_string-context":121}],259:[function(require,module,exports){ 7502'use strict'; 7503// B.2.3.9 String.prototype.italics() 7504require('./_string-html')('italics', function (createHTML) { 7505 return function italics() { 7506 return createHTML(this, 'i', '', ''); 7507 }; 7508}); 7509 7510},{"./_string-html":122}],260:[function(require,module,exports){ 7511'use strict'; 7512var $at = require('./_string-at')(true); 7513 7514// 21.1.3.27 String.prototype[@@iterator]() 7515require('./_iter-define')(String, 'String', function (iterated) { 7516 this._t = String(iterated); // target 7517 this._i = 0; // next index 7518// 21.1.5.2.1 %StringIteratorPrototype%.next() 7519}, function () { 7520 var O = this._t; 7521 var index = this._i; 7522 var point; 7523 if (index >= O.length) return { value: undefined, done: true }; 7524 point = $at(O, index); 7525 this._i += point.length; 7526 return { value: point, done: false }; 7527}); 7528 7529},{"./_iter-define":70,"./_string-at":120}],261:[function(require,module,exports){ 7530'use strict'; 7531// B.2.3.10 String.prototype.link(url) 7532require('./_string-html')('link', function (createHTML) { 7533 return function link(url) { 7534 return createHTML(this, 'a', 'href', url); 7535 }; 7536}); 7537 7538},{"./_string-html":122}],262:[function(require,module,exports){
vendor: 8,730 bytes, lines 7539-7787
7539var $export = require('./_export'); 7540var toIObject = require('./_to-iobject'); 7541var toLength = require('./_to-length'); 7542 7543$export($export.S, 'String', { 7544 // 21.1.2.4 String.raw(callSite, ...substitutions) 7545 raw: function raw(callSite) { 7546 var tpl = toIObject(callSite.raw); 7547 var len = toLength(tpl.length); 7548 var aLen = arguments.length; 7549 var res = []; 7550 var i = 0; 7551 while (len > i) { 7552 res.push(String(tpl[i++])); 7553 if (i < aLen) res.push(String(arguments[i])); 7554 } return res.join(''); 7555 } 7556}); 7557 7558},{"./_export":47,"./_to-iobject":131,"./_to-length":132}],263:[function(require,module,exports){ 7559var $export = require('./_export'); 7560 7561$export($export.P, 'String', { 7562 // 21.1.3.13 String.prototype.repeat(count) 7563 repeat: require('./_string-repeat') 7564}); 7565 7566},{"./_export":47,"./_string-repeat":124}],264:[function(require,module,exports){ 7567'use strict'; 7568// B.2.3.11 String.prototype.small() 7569require('./_string-html')('small', function (createHTML) { 7570 return function small() { 7571 return createHTML(this, 'small', '', ''); 7572 }; 7573}); 7574 7575},{"./_string-html":122}],265:[function(require,module,exports){ 7576// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) 7577'use strict'; 7578var $export = require('./_export'); 7579var toLength = require('./_to-length'); 7580var context = require('./_string-context'); 7581var STARTS_WITH = 'startsWith'; 7582var $startsWith = ''[STARTS_WITH]; 7583 7584$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', { 7585 startsWith: function startsWith(searchString /* , position = 0 */) { 7586 var that = context(this, searchString, STARTS_WITH); 7587 var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); 7588 var search = String(searchString); 7589 return $startsWith 7590 ? $startsWith.call(that, search, index) 7591 : that.slice(index, index + search.length) === search; 7592 } 7593}); 7594 7595},{"./_export":47,"./_fails-is-regexp":48,"./_string-context":121,"./_to-length":132}],266:[function(require,module,exports){ 7596'use strict'; 7597// B.2.3.12 String.prototype.strike() 7598require('./_string-html')('strike', function (createHTML) { 7599 return function strike() { 7600 return createHTML(this, 'strike', '', ''); 7601 }; 7602}); 7603 7604},{"./_string-html":122}],267:[function(require,module,exports){ 7605'use strict'; 7606// B.2.3.13 String.prototype.sub() 7607require('./_string-html')('sub', function (createHTML) { 7608 return function sub() { 7609 return createHTML(this, 'sub', '', ''); 7610 }; 7611}); 7612 7613},{"./_string-html":122}],268:[function(require,module,exports){ 7614'use strict'; 7615// B.2.3.14 String.prototype.sup() 7616require('./_string-html')('sup', function (createHTML) { 7617 return function sup() { 7618 return createHTML(this, 'sup', '', ''); 7619 }; 7620}); 7621 7622},{"./_string-html":122}],269:[function(require,module,exports){ 7623'use strict'; 7624// 21.1.3.25 String.prototype.trim() 7625require('./_string-trim')('trim', function ($trim) { 7626 return function trim() { 7627 return $trim(this, 3); 7628 }; 7629}); 7630 7631},{"./_string-trim":125}],270:[function(require,module,exports){ 7632'use strict'; 7633// ECMAScript 6 symbols shim 7634var global = require('./_global'); 7635var has = require('./_has'); 7636var DESCRIPTORS = require('./_descriptors'); 7637var $export = require('./_export'); 7638var redefine = require('./_redefine'); 7639var META = require('./_meta').KEY; 7640var $fails = require('./_fails'); 7641var shared = require('./_shared'); 7642var setToStringTag = require('./_set-to-string-tag'); 7643var uid = require('./_uid'); 7644var wks = require('./_wks'); 7645var wksExt = require('./_wks-ext'); 7646var wksDefine = require('./_wks-define'); 7647var enumKeys = require('./_enum-keys'); 7648var isArray = require('./_is-array'); 7649var anObject = require('./_an-object'); 7650var isObject = require('./_is-object'); 7651var toObject = require('./_to-object'); 7652var toIObject = require('./_to-iobject'); 7653var toPrimitive = require('./_to-primitive'); 7654var createDesc = require('./_property-desc'); 7655var _create = require('./_object-create'); 7656var gOPNExt = require('./_object-gopn-ext'); 7657var $GOPD = require('./_object-gopd'); 7658var $GOPS = require('./_object-gops'); 7659var $DP = require('./_object-dp'); 7660var $keys = require('./_object-keys'); 7661var gOPD = $GOPD.f; 7662var dP = $DP.f; 7663var gOPN = gOPNExt.f; 7664var $Symbol = global.Symbol; 7665var $JSON = global.JSON; 7666var _stringify = $JSON && $JSON.stringify; 7667var PROTOTYPE = 'prototype'; 7668var HIDDEN = wks('_hidden'); 7669var TO_PRIMITIVE = wks('toPrimitive'); 7670var isEnum = {}.propertyIsEnumerable; 7671var SymbolRegistry = shared('symbol-registry'); 7672var AllSymbols = shared('symbols'); 7673var OPSymbols = shared('op-symbols'); 7674var ObjectProto = Object[PROTOTYPE]; 7675var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f; 7676var QObject = global.QObject; 7677// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 7678var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; 7679 7680// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 7681var setSymbolDesc = DESCRIPTORS && $fails(function () { 7682 return _create(dP({}, 'a', { 7683 get: function () { return dP(this, 'a', { value: 7 }).a; } 7684 })).a != 7; 7685}) ? function (it, key, D) { 7686 var protoDesc = gOPD(ObjectProto, key); 7687 if (protoDesc) delete ObjectProto[key]; 7688 dP(it, key, D); 7689 if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); 7690} : dP; 7691 7692var wrap = function (tag) { 7693 var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); 7694 sym._k = tag; 7695 return sym; 7696}; 7697 7698var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { 7699 return typeof it == 'symbol'; 7700} : function (it) { 7701 return it instanceof $Symbol; 7702}; 7703 7704var $defineProperty = function defineProperty(it, key, D) { 7705 if (it === ObjectProto) $defineProperty(OPSymbols, key, D); 7706 anObject(it); 7707 key = toPrimitive(key, true); 7708 anObject(D); 7709 if (has(AllSymbols, key)) { 7710 if (!D.enumerable) { 7711 if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); 7712 it[HIDDEN][key] = true; 7713 } else { 7714 if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; 7715 D = _create(D, { enumerable: createDesc(0, false) }); 7716 } return setSymbolDesc(it, key, D); 7717 } return dP(it, key, D); 7718}; 7719var $defineProperties = function defineProperties(it, P) { 7720 anObject(it); 7721 var keys = enumKeys(P = toIObject(P)); 7722 var i = 0; 7723 var l = keys.length; 7724 var key; 7725 while (l > i) $defineProperty(it, key = keys[i++], P[key]); 7726 return it; 7727}; 7728var $create = function create(it, P) { 7729 return P === undefined ? _create(it) : $defineProperties(_create(it), P); 7730}; 7731var $propertyIsEnumerable = function propertyIsEnumerable(key) { 7732 var E = isEnum.call(this, key = toPrimitive(key, true)); 7733 if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; 7734 return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; 7735}; 7736var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { 7737 it = toIObject(it); 7738 key = toPrimitive(key, true); 7739 if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; 7740 var D = gOPD(it, key); 7741 if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; 7742 return D; 7743}; 7744var $getOwnPropertyNames = function getOwnPropertyNames(it) { 7745 var names = gOPN(toIObject(it)); 7746 var result = []; 7747 var i = 0; 7748 var key; 7749 while (names.length > i) { 7750 if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); 7751 } return result; 7752}; 7753var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { 7754 var IS_OP = it === ObjectProto; 7755 var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); 7756 var result = []; 7757 var i = 0; 7758 var key; 7759 while (names.length > i) { 7760 if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); 7761 } return result; 7762}; 7763 7764// 19.4.1.1 Symbol([description]) 7765if (!USE_NATIVE) { 7766 $Symbol = function Symbol() { 7767 if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); 7768 var tag = uid(arguments.length > 0 ? arguments[0] : undefined); 7769 var $set = function (value) { 7770 if (this === ObjectProto) $set.call(OPSymbols, value); 7771 if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; 7772 setSymbolDesc(this, tag, createDesc(1, value)); 7773 }; 7774 if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); 7775 return wrap(tag); 7776 }; 7777 redefine($Symbol[PROTOTYPE], 'toString', function toString() { 7778 return this._k; 7779 }); 7780 7781 $GOPD.f = $getOwnPropertyDescriptor; 7782 $DP.f = $defineProperty; 7783 require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames; 7784 require('./_object-pie').f = $propertyIsEnumerable; 7785 $GOPS.f = $getOwnPropertySymbols; 7786 7787 if (DESCRIPTORS && !require('./_library'
vendor: 3,255 bytes, lines 7787-7871
7787)) { 7788 redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); 7789 } 7790 7791 wksExt.f = function (name) { 7792 return wrap(wks(name)); 7793 }; 7794} 7795 7796$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); 7797 7798for (var es6Symbols = ( 7799 // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 7800 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' 7801).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); 7802 7803for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); 7804 7805$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { 7806 // 19.4.2.1 Symbol.for(key) 7807 'for': function (key) { 7808 return has(SymbolRegistry, key += '') 7809 ? SymbolRegistry[key] 7810 : SymbolRegistry[key] = $Symbol(key); 7811 }, 7812 // 19.4.2.5 Symbol.keyFor(sym) 7813 keyFor: function keyFor(sym) { 7814 if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); 7815 for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; 7816 }, 7817 useSetter: function () { setter = true; }, 7818 useSimple: function () { setter = false; } 7819}); 7820 7821$export($export.S + $export.F * !USE_NATIVE, 'Object', { 7822 // 19.1.2.2 Object.create(O [, Properties]) 7823 create: $create, 7824 // 19.1.2.4 Object.defineProperty(O, P, Attributes) 7825 defineProperty: $defineProperty, 7826 // 19.1.2.3 Object.defineProperties(O, Properties) 7827 defineProperties: $defineProperties, 7828 // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) 7829 getOwnPropertyDescriptor: $getOwnPropertyDescriptor, 7830 // 19.1.2.7 Object.getOwnPropertyNames(O) 7831 getOwnPropertyNames: $getOwnPropertyNames, 7832 // 19.1.2.8 Object.getOwnPropertySymbols(O) 7833 getOwnPropertySymbols: $getOwnPropertySymbols 7834}); 7835 7836// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives 7837// https://bugs.chromium.org/p/v8/issues/detail?id=3443 7838var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); }); 7839 7840$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', { 7841 getOwnPropertySymbols: function getOwnPropertySymbols(it) { 7842 return $GOPS.f(toObject(it)); 7843 } 7844}); 7845 7846// 24.3.2 JSON.stringify(value [, replacer [, space]]) 7847$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { 7848 var S = $Symbol(); 7849 // MS Edge converts symbol values to JSON as {} 7850 // WebKit converts symbol values to JSON as null 7851 // V8 throws on boxed symbols 7852 return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; 7853})), 'JSON', { 7854 stringify: function stringify(it) { 7855 var args = [it]; 7856 var i = 1; 7857 var replacer, $replacer; 7858 while (arguments.length > i) args.push(arguments[i++]); 7859 $replacer = replacer = args[1]; 7860 if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined 7861 if (!isArray(replacer)) replacer = function (key, value) { 7862 if (typeof $replacer == 'function') value = $replacer.call(this, key, value); 7863 if (!isSymbol(value)) return value; 7864 }; 7865 args[1] = replacer; 7866 return _stringify.apply($JSON, args); 7867 } 7868}); 7869 7870// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) 7871$Symbol[PROTOTYPE][TO_PRIMITIVE] ||
vendor: 2,959 bytes, lines 7871-7927
7871require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); 7872// 19.4.3.5 Symbol.prototype[@@toStringTag] 7873setToStringTag($Symbol, 'Symbol'); 7874// 20.2.1.9 Math[@@toStringTag] 7875setToStringTag(Math, 'Math', true); 7876// 24.3.3 JSON[@@toStringTag] 7877setToStringTag(global.JSON, 'JSON', true); 7878 7879},{"./_an-object":21,"./_descriptors":43,"./_enum-keys":46,"./_export":47,"./_fails":49,"./_global":55,"./_has":56,"./_hide":57,"./_is-array":64,"./_is-object":66,"./_library":74,"./_meta":80,"./_object-create":85,"./_object-dp":86,"./_object-gopd":89,"./_object-gopn":91,"./_object-gopn-ext":90,"./_object-gops":92,"./_object-keys":95,"./_object-pie":96,"./_property-desc":104,"./_redefine":106,"./_set-to-string-tag":115,"./_shared":117,"./_to-iobject":131,"./_to-object":133,"./_to-primitive":134,"./_uid":138,"./_wks":143,"./_wks-define":141,"./_wks-ext":142}],271:[function(require,module,exports){ 7880'use strict'; 7881var $export = require('./_export'); 7882var $typed = require('./_typed'); 7883var buffer = require('./_typed-buffer'); 7884var anObject = require('./_an-object'); 7885var toAbsoluteIndex = require('./_to-absolute-index'); 7886var toLength = require('./_to-length'); 7887var isObject = require('./_is-object'); 7888var ArrayBuffer = require('./_global').ArrayBuffer; 7889var speciesConstructor = require('./_species-constructor'); 7890var $ArrayBuffer = buffer.ArrayBuffer; 7891var $DataView = buffer.DataView; 7892var $isView = $typed.ABV && ArrayBuffer.isView; 7893var $slice = $ArrayBuffer.prototype.slice; 7894var VIEW = $typed.VIEW; 7895var ARRAY_BUFFER = 'ArrayBuffer'; 7896 7897$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); 7898 7899$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { 7900 // 24.1.3.1 ArrayBuffer.isView(arg) 7901 isView: function isView(it) { 7902 return $isView && $isView(it) || isObject(it) && VIEW in it; 7903 } 7904}); 7905 7906$export($export.P + $export.U + $export.F * require('./_fails')(function () { 7907 return !new $ArrayBuffer(2).slice(1, undefined).byteLength; 7908}), ARRAY_BUFFER, { 7909 // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) 7910 slice: function slice(start, end) { 7911 if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix 7912 var len = anObject(this).byteLength; 7913 var first = toAbsoluteIndex(start, len); 7914 var fin = toAbsoluteIndex(end === undefined ? len : end, len); 7915 var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); 7916 var viewS = new $DataView(this); 7917 var viewT = new $DataView(result); 7918 var index = 0; 7919 while (first < fin) { 7920 viewT.setUint8(index++, viewS.getUint8(first++)); 7921 } return result; 7922 } 7923}); 7924 7925require('./_set-species')(ARRAY_BUFFER); 7926 7927},{"./_an-object":21,"./_export":47,"./_fails":49,"./_global":55,"./_is-object":66,"./_set-species":114,"./_species-constructor":118,"./_to-absolute-index":128,"./_to-length":132,"./_typed":137,"./_typed-buffer":136}],272:[function(require,module,exports){
7928var $export = require('./_export'); 7929$export($export.G + $export.W + $export.F * !require('./_typed').ABV, { 7930 DataView: require('./_typed-buffer').DataView 7931}); 7932 7933},{"./_export":47,"./_typed":137,"./_typed-buffer":136}],273:[function(require,module,exports){ 7934require('./_typed-array')('Float32', 4, function (init) { 7935 return function Float32Array(data, byteOffset, length) { 7936 return init(this, data, byteOffset, length); 7937 }; 7938}); 7939 7940},{"./_typed-array":135}],274:[function(require,module,exports){ 7941require('./_typed-array')('Float64', 8, function (init) { 7942 return function Float64Array(data, byteOffset, length) { 7943 return init(this, data, byteOffset, length); 7944 }; 7945}); 7946 7947},{"./_typed-array":135}],275:[function(require,module,exports){ 7948require('./_typed-array')('Int16', 2, function (init) { 7949 return function Int16Array(data, byteOffset, length) { 7950 return init(this, data, byteOffset, length); 7951 }; 7952}); 7953 7954},{"./_typed-array":135}],276:[function(require,module,exports){ 7955require('./_typed-array')('Int32', 4, function (init) { 7956 return function Int32Array(data, byteOffset, length) { 7957 return init(this, data, byteOffset, length); 7958 }; 7959}); 7960 7961},{"./_typed-array":135}],277:[function(require,module,exports){ 7962require('./_typed-array')('Int8', 1, function (init) { 7963 return function Int8Array(data, byteOffset, length) { 7964 return init(this, data, byteOffset, length); 7965 }; 7966}); 7967 7968},{"./_typed-array":135}],278:[function(require,module,exports){ 7969require('./_typed-array')('Uint16', 2, function (init) { 7970 return function Uint16Array(data, byteOffset, length) { 7971 return init(this, data, byteOffset, length); 7972 }; 7973}); 7974 7975},{"./_typed-array":135}],279:[function(require,module,exports){ 7976require('./_typed-array')('Uint32', 4, function (init) { 7977 return function Uint32Array(data, byteOffset, length) { 7978 return init(this, data, byteOffset, length); 7979 }; 7980}); 7981 7982},{"./_typed-array":135}],280:[function(require,module,exports){ 7983require('./_typed-array')('Uint8', 1, function (init) { 7984 return function Uint8Array(data, byteOffset, length) { 7985 return init(this, data, byteOffset, length); 7986 }; 7987}); 7988 7989},{"./_typed-array":135}],281:[function(require,module,exports){ 7990require('./_typed-array')('Uint8', 1, function (init) { 7991 return function Uint8ClampedArray(data, byteOffset, length) { 7992 return init(this, data, byteOffset, length); 7993 }; 7994}, true); 7995 7996},{"./_typed-array":135}],282:[function(require,module,exports){ 7997'use strict'; 7998var global = require('./_global'); 7999var each = require('./_array-methods')(0); 8000var redefine = require('./_redefine'); 8001var meta = require('./_meta'); 8002var assign = require('./_object-assign'); 8003var weak = require('./_collection-weak'); 8004var isObject = require('./_is-object'); 8005var validate = require('./_validate-collection'); 8006var NATIVE_WEAK_MAP = require('./_validate-collection'); 8007var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; 8008var WEAK_MAP = 'WeakMap'; 8009var getWeak = meta.getWeak; 8010var isExtensible = Object.isExtensible; 8011var uncaughtFrozenStore = weak.ufstore; 8012var InternalMap; 8013 8014var wrapper = function (get) { 8015 return function WeakMap() { 8016 return get(this, arguments.length > 0 ? arguments[0] : undefined); 8017 }; 8018}; 8019 8020var methods = { 8021 // 23.3.3.3 WeakMap.prototype.get(key) 8022 get: function get(key) { 8023 if (isObject(key)) { 8024 var data = getWeak(key); 8025 if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); 8026 return data ? data[this._i] : undefined; 8027 } 8028 }, 8029 // 23.3.3.5 WeakMap.prototype.set(key, value) 8030 set: function set(key, value) { 8031 return weak.def(validate(this, WEAK_MAP), key, value); 8032 } 8033}; 8034 8035// 23.3 WeakMap Objects 8036var $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true); 8037 8038// IE11 WeakMap frozen keys fix 8039if (NATIVE_WEAK_MAP && IS_IE11) { 8040 InternalMap = weak.getConstructor(wrapper, WEAK_MAP); 8041 assign(InternalMap.prototype, methods); 8042 meta.NEED = true; 8043 each(['delete', 'has', 'get', 'set'], function (key) { 8044 var proto = $WeakMap.prototype; 8045 var method = proto[key]; 8046 redefine(proto, key, function (a, b) { 8047 // store frozen objects on internal weakmap shim 8048 if (isObject(a) && !isExtensible(a)) { 8049 if (!this._f) this._f = new InternalMap(); 8050 var result = this._f[key](a, b); 8051 return key == 'set' ? this : result; 8052 // store all the rest on native weakmap 8053 } return method.call(this, a, b); 8054 }); 8055 }); 8056} 8057 8058},{"./_array-methods":26,"./_collection":36,"./_collection-weak":35,"./_global":55,"./_is-object":66,"./_meta":80,"./_object-assign":84,"./_redefine":106,"./_validate-collection":140}],283:[function(require,module,exports){ 8059'use strict'; 8060var weak = require('./_collection-weak'); 8061var validate = require('./_validate-collection'); 8062var WEAK_SET = 'WeakSet'; 8063 8064// 23.4 WeakSet Objects 8065require('./_collection')(WEAK_SET, function (get) { 8066 return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; 8067}, { 8068 // 23.4.3.1 WeakSet.prototype.add(value) 8069 add: function add(value) { 8070 return weak.def(validate(this, WEAK_SET), value, true); 8071 } 8072}, weak, false, true); 8073 8074},{"./_collection":36,"./_collection-weak":35,"./_validate-collection":140}],284:[function(require,module,exports){ 8075'use strict'; 8076// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap
8077var $export = require('./_export'); 8078var flattenIntoArray = require('./_flatten-into-array'); 8079var toObject = require('./_to-object'); 8080var toLength = require('./_to-length'); 8081var aFunction = require('./_a-function'); 8082var arraySpeciesCreate = require('./_array-species-create'); 8083 8084$export($export.P, 'Array', { 8085 flatMap: function flatMap(callbackfn /* , thisArg */) { 8086 var O = toObject(this); 8087 var sourceLen, A; 8088 aFunction(callbackfn); 8089 sourceLen = toLength(O.length); 8090 A = arraySpeciesCreate(O, 0); 8091 flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); 8092 return A; 8093 } 8094}); 8095 8096require('./_add-to-unscopables')('flatMap'); 8097 8098},{"./_a-function":16,"./_add-to-unscopables":18,"./_array-species-create":29,"./_export":47,"./_flatten-into-array":52,"./_to-length":132,"./_to-object":133}],285:[function(require,module,exports){ 8099'use strict'; 8100// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten 8101var $export = require('./_export'); 8102var flattenIntoArray = require('./_flatten-into-array'); 8103var toObject = require('./_to-object'); 8104var toLength = require('./_to-length'); 8105var toInteger = require('./_to-integer'); 8106var arraySpeciesCreate = require('./_array-species-create'); 8107 8108$export($export.P, 'Array', { 8109 flatten: function flatten(/* depthArg = 1 */) { 8110 var depthArg = arguments[0]; 8111 var O = toObject(this); 8112 var sourceLen = toLength(O.length); 8113 var A = arraySpeciesCreate(O, 0); 8114 flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); 8115 return A; 8116 } 8117}); 8118 8119require('./_add-to-unscopables')('flatten'); 8120 8121},{"./_add-to-unscopables":18,"./_array-species-create":29,"./_export":47,"./_flatten-into-array":52,"./_to-integer":130,"./_to-length":132,"./_to-object":133}],286:[function(require,module,exports){ 8122'use strict'; 8123// https://github.com/tc39/Array.prototype.includes 8124var $export = require('./_export'); 8125var $includes = require('./_array-includes')(true); 8126 8127$export($export.P, 'Array', { 8128 includes: function includes(el /* , fromIndex = 0 */) { 8129 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); 8130 } 8131}); 8132 8133require('./_add-to-unscopables')('includes'); 8134 8135},{"./_add-to-unscopables":18,"./_array-includes":25,"./_export":47}],287:[function(require,module,exports){ 8136// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask 8137var $export = require('./_export'); 8138var microtask = require('./_microtask')(); 8139var process = require('./_global').process; 8140var isNode = require('./_cof')(process) == 'process'; 8141 8142$export($export.G, { 8143 asap: function asap(fn) { 8144 var domain = isNode && process.domain; 8145 microtask(domain ? domain.bind(fn) : fn); 8146 } 8147}); 8148 8149},{"./_cof":32,"./_export":47,"./_global":55,"./_microtask":82}],288:[function(require,module,exports){ 8150// https://github.com/ljharb/proposal-is-error 8151var $export = require('./_export'); 8152var cof = require('./_cof'); 8153 8154$export($export.S, 'Error', { 8155 isError: function isError(it) { 8156 return cof(it) === 'Error'; 8157 } 8158}); 8159 8160},{"./_cof":32,"./_export":47}],289:[function(require,module,exports){ 8161// https://github.com/tc39/proposal-global 8162var $export = require('./_export'); 8163 8164$export($export.G, { global: require('./_global') }); 8165 8166},{"./_export":47,"./_global":55}],290:[function(require,module,exports){ 8167// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from 8168require('./_set-collection-from')('Map'); 8169 8170},{"./_set-collection-from":111}],291:[function(require,module,exports){ 8171// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of 8172require('./_set-collection-of')('Map'); 8173 8174},{"./_set-collection-of":112}],292:[function(require,module,exports){ 8175// https://github.com/DavidBruant/Map-Set.prototype.toJSON 8176var $export = require('./_export'); 8177 8178$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') }); 8179 8180},{"./_collection-to-json":34,"./_export":47}],293:[function(require,module,exports){ 8181// https://rwaldron.github.io/proposal-math-extensions/
8182var $export = require('./_export'); 8183 8184$export($export.S, 'Math', { 8185 clamp: function clamp(x, lower, upper) { 8186 return Math.min(upper, Math.max(lower, x)); 8187 } 8188}); 8189 8190},{"./_export":47}],294:[function(require,module,exports){ 8191// https://rwaldron.github.io/proposal-math-extensions/ 8192var $export = require('./_export'); 8193 8194$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 }); 8195 8196},{"./_export":47}],295:[function(require,module,exports){ 8197// https://rwaldron.github.io/proposal-math-extensions/ 8198var $export = require('./_export'); 8199var RAD_PER_DEG = 180 / Math.PI; 8200 8201$export($export.S, 'Math', { 8202 degrees: function degrees(radians) { 8203 return radians * RAD_PER_DEG; 8204 } 8205}); 8206 8207},{"./_export":47}],296:[function(require,module,exports){ 8208// https://rwaldron.github.io/proposal-math-extensions/ 8209var $export = require('./_export'); 8210var scale = require('./_math-scale'); 8211var fround = require('./_math-fround'); 8212 8213$export($export.S, 'Math', { 8214 fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { 8215 return fround(scale(x, inLow, inHigh, outLow, outHigh)); 8216 } 8217}); 8218 8219},{"./_export":47,"./_math-fround":76,"./_math-scale":78}],297:[function(require,module,exports){ 8220// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 8221var $export = require('./_export'); 8222 8223$export($export.S, 'Math', { 8224 iaddh: function iaddh(x0, x1, y0, y1) { 8225 var $x0 = x0 >>> 0; 8226 var $x1 = x1 >>> 0;
vendor: 5,788 bytes, lines 8227-8396
8227 var $y0 = y0 >>> 0; 8228 return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; 8229 } 8230}); 8231 8232},{"./_export":47}],298:[function(require,module,exports){ 8233// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 8234var $export = require('./_export'); 8235 8236$export($export.S, 'Math', { 8237 imulh: function imulh(u, v) { 8238 var UINT16 = 0xffff; 8239 var $u = +u; 8240 var $v = +v; 8241 var u0 = $u & UINT16; 8242 var v0 = $v & UINT16; 8243 var u1 = $u >> 16; 8244 var v1 = $v >> 16; 8245 var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); 8246 return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); 8247 } 8248}); 8249 8250},{"./_export":47}],299:[function(require,module,exports){ 8251// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 8252var $export = require('./_export'); 8253 8254$export($export.S, 'Math', { 8255 isubh: function isubh(x0, x1, y0, y1) { 8256 var $x0 = x0 >>> 0; 8257 var $x1 = x1 >>> 0; 8258 var $y0 = y0 >>> 0; 8259 return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; 8260 } 8261}); 8262 8263},{"./_export":47}],300:[function(require,module,exports){ 8264// https://rwaldron.github.io/proposal-math-extensions/ 8265var $export = require('./_export'); 8266 8267$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI }); 8268 8269},{"./_export":47}],301:[function(require,module,exports){ 8270// https://rwaldron.github.io/proposal-math-extensions/ 8271var $export = require('./_export'); 8272var DEG_PER_RAD = Math.PI / 180; 8273 8274$export($export.S, 'Math', { 8275 radians: function radians(degrees) { 8276 return degrees * DEG_PER_RAD; 8277 } 8278}); 8279 8280},{"./_export":47}],302:[function(require,module,exports){ 8281// https://rwaldron.github.io/proposal-math-extensions/ 8282var $export = require('./_export'); 8283 8284$export($export.S, 'Math', { scale: require('./_math-scale') }); 8285 8286},{"./_export":47,"./_math-scale":78}],303:[function(require,module,exports){ 8287// http://jfbastien.github.io/papers/Math.signbit.html 8288var $export = require('./_export'); 8289 8290$export($export.S, 'Math', { signbit: function signbit(x) { 8291 // eslint-disable-next-line no-self-compare 8292 return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0; 8293} }); 8294 8295},{"./_export":47}],304:[function(require,module,exports){ 8296// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 8297var $export = require('./_export'); 8298 8299$export($export.S, 'Math', { 8300 umulh: function umulh(u, v) { 8301 var UINT16 = 0xffff; 8302 var $u = +u; 8303 var $v = +v; 8304 var u0 = $u & UINT16; 8305 var v0 = $v & UINT16; 8306 var u1 = $u >>> 16; 8307 var v1 = $v >>> 16; 8308 var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); 8309 return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); 8310 } 8311}); 8312 8313},{"./_export":47}],305:[function(require,module,exports){ 8314'use strict'; 8315var $export = require('./_export'); 8316var toObject = require('./_to-object'); 8317var aFunction = require('./_a-function'); 8318var $defineProperty = require('./_object-dp'); 8319 8320// B.2.2.2 Object.prototype.__defineGetter__(P, getter) 8321require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { 8322 __defineGetter__: function __defineGetter__(P, getter) { 8323 $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); 8324 } 8325}); 8326 8327},{"./_a-function":16,"./_descriptors":43,"./_export":47,"./_object-dp":86,"./_object-forced-pam":88,"./_to-object":133}],306:[function(require,module,exports){ 8328'use strict'; 8329var $export = require('./_export'); 8330var toObject = require('./_to-object'); 8331var aFunction = require('./_a-function'); 8332var $defineProperty = require('./_object-dp'); 8333 8334// B.2.2.3 Object.prototype.__defineSetter__(P, setter) 8335require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { 8336 __defineSetter__: function __defineSetter__(P, setter) { 8337 $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); 8338 } 8339}); 8340 8341},{"./_a-function":16,"./_descriptors":43,"./_export":47,"./_object-dp":86,"./_object-forced-pam":88,"./_to-object":133}],307:[function(require,module,exports){ 8342// https://github.com/tc39/proposal-object-values-entries 8343var $export = require('./_export'); 8344var $entries = require('./_object-to-array')(true); 8345 8346$export($export.S, 'Object', { 8347 entries: function entries(it) { 8348 return $entries(it); 8349 } 8350}); 8351 8352},{"./_export":47,"./_object-to-array":98}],308:[function(require,module,exports){ 8353// https://github.com/tc39/proposal-object-getownpropertydescriptors 8354var $export = require('./_export'); 8355var ownKeys = require('./_own-keys'); 8356var toIObject = require('./_to-iobject'); 8357var gOPD = require('./_object-gopd'); 8358var createProperty = require('./_create-property'); 8359 8360$export($export.S, 'Object', { 8361 getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { 8362 var O = toIObject(object); 8363 var getDesc = gOPD.f; 8364 var keys = ownKeys(O); 8365 var result = {}; 8366 var i = 0; 8367 var key, desc; 8368 while (keys.length > i) { 8369 desc = getDesc(O, key = keys[i++]); 8370 if (desc !== undefined) createProperty(result, key, desc); 8371 } 8372 return result; 8373 } 8374}); 8375 8376},{"./_create-property":38,"./_export":47,"./_object-gopd":89,"./_own-keys":99,"./_to-iobject":131}],309:[function(require,module,exports){ 8377'use strict'; 8378var $export = require('./_export'); 8379var toObject = require('./_to-object'); 8380var toPrimitive = require('./_to-primitive'); 8381var getPrototypeOf = require('./_object-gpo'); 8382var getOwnPropertyDescriptor = require('./_object-gopd').f; 8383 8384// B.2.2.4 Object.prototype.__lookupGetter__(P) 8385require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { 8386 __lookupGetter__: function __lookupGetter__(P) { 8387 var O = toObject(this); 8388 var K = toPrimitive(P, true); 8389 var D; 8390 do { 8391 if (D = getOwnPropertyDescriptor(O, K)) return D.get; 8392 } while (O = getPrototypeOf(O)); 8393 } 8394}); 8395 8396}
vendor: 8,051 bytes, lines 8396-8652
8396,{"./_descriptors":43,"./_export":47,"./_object-forced-pam":88,"./_object-gopd":89,"./_object-gpo":93,"./_to-object":133,"./_to-primitive":134}],310:[function(require,module,exports){ 8397'use strict'; 8398var $export = require('./_export'); 8399var toObject = require('./_to-object'); 8400var toPrimitive = require('./_to-primitive'); 8401var getPrototypeOf = require('./_object-gpo'); 8402var getOwnPropertyDescriptor = require('./_object-gopd').f; 8403 8404// B.2.2.5 Object.prototype.__lookupSetter__(P) 8405require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { 8406 __lookupSetter__: function __lookupSetter__(P) { 8407 var O = toObject(this); 8408 var K = toPrimitive(P, true); 8409 var D; 8410 do { 8411 if (D = getOwnPropertyDescriptor(O, K)) return D.set; 8412 } while (O = getPrototypeOf(O)); 8413 } 8414}); 8415 8416},{"./_descriptors":43,"./_export":47,"./_object-forced-pam":88,"./_object-gopd":89,"./_object-gpo":93,"./_to-object":133,"./_to-primitive":134}],311:[function(require,module,exports){ 8417// https://github.com/tc39/proposal-object-values-entries 8418var $export = require('./_export'); 8419var $values = require('./_object-to-array')(false); 8420 8421$export($export.S, 'Object', { 8422 values: function values(it) { 8423 return $values(it); 8424 } 8425}); 8426 8427},{"./_export":47,"./_object-to-array":98}],312:[function(require,module,exports){ 8428'use strict'; 8429// https://github.com/zenparsing/es-observable 8430var $export = require('./_export'); 8431var global = require('./_global'); 8432var core = require('./_core'); 8433var microtask = require('./_microtask')(); 8434var OBSERVABLE = require('./_wks')('observable'); 8435var aFunction = require('./_a-function'); 8436var anObject = require('./_an-object'); 8437var anInstance = require('./_an-instance'); 8438var redefineAll = require('./_redefine-all'); 8439var hide = require('./_hide'); 8440var forOf = require('./_for-of'); 8441var RETURN = forOf.RETURN; 8442 8443var getMethod = function (fn) { 8444 return fn == null ? undefined : aFunction(fn); 8445}; 8446 8447var cleanupSubscription = function (subscription) { 8448 var cleanup = subscription._c; 8449 if (cleanup) { 8450 subscription._c = undefined; 8451 cleanup(); 8452 } 8453}; 8454 8455var subscriptionClosed = function (subscription) { 8456 return subscription._o === undefined; 8457}; 8458 8459var closeSubscription = function (subscription) { 8460 if (!subscriptionClosed(subscription)) { 8461 subscription._o = undefined; 8462 cleanupSubscription(subscription); 8463 } 8464}; 8465 8466var Subscription = function (observer, subscriber) { 8467 anObject(observer); 8468 this._c = undefined; 8469 this._o = observer; 8470 observer = new SubscriptionObserver(this); 8471 try { 8472 var cleanup = subscriber(observer); 8473 var subscription = cleanup; 8474 if (cleanup != null) { 8475 if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); }; 8476 else aFunction(cleanup); 8477 this._c = cleanup; 8478 } 8479 } catch (e) { 8480 observer.error(e); 8481 return; 8482 } if (subscriptionClosed(this)) cleanupSubscription(this); 8483}; 8484 8485Subscription.prototype = redefineAll({}, { 8486 unsubscribe: function unsubscribe() { closeSubscription(this); } 8487}); 8488 8489var SubscriptionObserver = function (subscription) { 8490 this._s = subscription; 8491}; 8492 8493SubscriptionObserver.prototype = redefineAll({}, { 8494 next: function next(value) { 8495 var subscription = this._s; 8496 if (!subscriptionClosed(subscription)) { 8497 var observer = subscription._o; 8498 try { 8499 var m = getMethod(observer.next); 8500 if (m) return m.call(observer, value); 8501 } catch (e) { 8502 try { 8503 closeSubscription(subscription); 8504 } finally { 8505 throw e; 8506 } 8507 } 8508 } 8509 }, 8510 error: function error(value) { 8511 var subscription = this._s; 8512 if (subscriptionClosed(subscription)) throw value; 8513 var observer = subscription._o; 8514 subscription._o = undefined; 8515 try { 8516 var m = getMethod(observer.error); 8517 if (!m) throw value; 8518 value = m.call(observer, value); 8519 } catch (e) { 8520 try { 8521 cleanupSubscription(subscription); 8522 } finally { 8523 throw e; 8524 } 8525 } cleanupSubscription(subscription); 8526 return value; 8527 }, 8528 complete: function complete(value) { 8529 var subscription = this._s; 8530 if (!subscriptionClosed(subscription)) { 8531 var observer = subscription._o; 8532 subscription._o = undefined; 8533 try { 8534 var m = getMethod(observer.complete); 8535 value = m ? m.call(observer, value) : undefined; 8536 } catch (e) { 8537 try { 8538 cleanupSubscription(subscription); 8539 } finally { 8540 throw e; 8541 } 8542 } cleanupSubscription(subscription); 8543 return value; 8544 } 8545 } 8546}); 8547 8548var $Observable = function Observable(subscriber) { 8549 anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); 8550}; 8551 8552redefineAll($Observable.prototype, { 8553 subscribe: function subscribe(observer) { 8554 return new Subscription(observer, this._f); 8555 }, 8556 forEach: function forEach(fn) { 8557 var that = this; 8558 return new (core.Promise || global.Promise)(function (resolve, reject) { 8559 aFunction(fn); 8560 var subscription = that.subscribe({ 8561 next: function (value) { 8562 try { 8563 return fn(value); 8564 } catch (e) { 8565 reject(e); 8566 subscription.unsubscribe(); 8567 } 8568 }, 8569 error: reject, 8570 complete: resolve 8571 }); 8572 }); 8573 } 8574}); 8575 8576redefineAll($Observable, { 8577 from: function from(x) { 8578 var C = typeof this === 'function' ? this : $Observable; 8579 var method = getMethod(anObject(x)[OBSERVABLE]); 8580 if (method) { 8581 var observable = anObject(method.call(x)); 8582 return observable.constructor === C ? observable : new C(function (observer) { 8583 return observable.subscribe(observer); 8584 }); 8585 } 8586 return new C(function (observer) { 8587 var done = false; 8588 microtask(function () { 8589 if (!done) { 8590 try { 8591 if (forOf(x, false, function (it) { 8592 observer.next(it); 8593 if (done) return RETURN; 8594 }) === RETURN) return; 8595 } catch (e) { 8596 if (done) throw e; 8597 observer.error(e); 8598 return; 8599 } observer.complete(); 8600 } 8601 }); 8602 return function () { done = true; }; 8603 }); 8604 }, 8605 of: function of() { 8606 for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++]; 8607 return new (typeof this === 'function' ? this : $Observable)(function (observer) { 8608 var done = false; 8609 microtask(function () { 8610 if (!done) { 8611 for (var j = 0; j < items.length; ++j) { 8612 observer.next(items[j]); 8613 if (done) return; 8614 } observer.complete(); 8615 } 8616 }); 8617 return function () { done = true; }; 8618 }); 8619 } 8620}); 8621 8622hide($Observable.prototype, OBSERVABLE, function () { return this; }); 8623 8624$export($export.G, { Observable: $Observable }); 8625 8626require('./_set-species')('Observable'); 8627 8628},{"./_a-function":16,"./_an-instance":20,"./_an-object":21,"./_core":37,"./_export":47,"./_for-of":53,"./_global":55,"./_hide":57,"./_microtask":82,"./_redefine-all":105,"./_set-species":114,"./_wks":143}],313:[function(require,module,exports){ 8629// https://github.com/tc39/proposal-promise-finally 8630'use strict'; 8631var $export = require('./_export'); 8632var core = require('./_core'); 8633var global = require('./_global'); 8634var speciesConstructor = require('./_species-constructor'); 8635var promiseResolve = require('./_promise-resolve'); 8636 8637$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { 8638 var C = speciesConstructor(this, core.Promise || global.Promise); 8639 var isFunction = typeof onFinally == 'function'; 8640 return this.then( 8641 isFunction ? function (x) { 8642 return promiseResolve(C, onFinally()).then(function () { return x; }); 8643 } : onFinally, 8644 isFunction ? function (e) { 8645 return promiseResolve(C, onFinally()).then(function () { throw e; }); 8646 } : onFinally 8647 ); 8648} }); 8649 8650},{"./_core":37,"./_export":47,"./_global":55,"./_promise-resolve":103,"./_species-constructor":118}],314:[function(require,module,exports){ 8651'use strict'; 8652// https://github.com/tc39/proposal-promise-try
vendor: 4,900 bytes, lines 8653-8763
8653var $export = require('./_export'); 8654var newPromiseCapability = require('./_new-promise-capability'); 8655var perform = require('./_perform'); 8656 8657$export($export.S, 'Promise', { 'try': function (callbackfn) { 8658 var promiseCapability = newPromiseCapability.f(this); 8659 var result = perform(callbackfn); 8660 (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); 8661 return promiseCapability.promise; 8662} }); 8663 8664},{"./_export":47,"./_new-promise-capability":83,"./_perform":102}],315:[function(require,module,exports){ 8665var metadata = require('./_metadata'); 8666var anObject = require('./_an-object'); 8667var toMetaKey = metadata.key; 8668var ordinaryDefineOwnMetadata = metadata.set; 8669 8670metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { 8671 ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); 8672} }); 8673 8674},{"./_an-object":21,"./_metadata":81}],316:[function(require,module,exports){ 8675var metadata = require('./_metadata'); 8676var anObject = require('./_an-object'); 8677var toMetaKey = metadata.key; 8678var getOrCreateMetadataMap = metadata.map; 8679var store = metadata.store; 8680 8681metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { 8682 var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); 8683 var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); 8684 if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; 8685 if (metadataMap.size) return true; 8686 var targetMetadata = store.get(target); 8687 targetMetadata['delete'](targetKey); 8688 return !!targetMetadata.size || store['delete'](target); 8689} }); 8690 8691},{"./_an-object":21,"./_metadata":81}],317:[function(require,module,exports){ 8692var Set = require('./es6.set'); 8693var from = require('./_array-from-iterable'); 8694var metadata = require('./_metadata'); 8695var anObject = require('./_an-object'); 8696var getPrototypeOf = require('./_object-gpo'); 8697var ordinaryOwnMetadataKeys = metadata.keys; 8698var toMetaKey = metadata.key; 8699 8700var ordinaryMetadataKeys = function (O, P) { 8701 var oKeys = ordinaryOwnMetadataKeys(O, P); 8702 var parent = getPrototypeOf(O); 8703 if (parent === null) return oKeys; 8704 var pKeys = ordinaryMetadataKeys(parent, P); 8705 return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; 8706}; 8707 8708metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { 8709 return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); 8710} }); 8711 8712},{"./_an-object":21,"./_array-from-iterable":24,"./_metadata":81,"./_object-gpo":93,"./es6.set":247}],318:[function(require,module,exports){ 8713var metadata = require('./_metadata'); 8714var anObject = require('./_an-object'); 8715var getPrototypeOf = require('./_object-gpo'); 8716var ordinaryHasOwnMetadata = metadata.has; 8717var ordinaryGetOwnMetadata = metadata.get; 8718var toMetaKey = metadata.key; 8719 8720var ordinaryGetMetadata = function (MetadataKey, O, P) { 8721 var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); 8722 if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); 8723 var parent = getPrototypeOf(O); 8724 return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; 8725}; 8726 8727metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { 8728 return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); 8729} }); 8730 8731},{"./_an-object":21,"./_metadata":81,"./_object-gpo":93}],319:[function(require,module,exports){ 8732var metadata = require('./_metadata'); 8733var anObject = require('./_an-object'); 8734var ordinaryOwnMetadataKeys = metadata.keys; 8735var toMetaKey = metadata.key; 8736 8737metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { 8738 return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); 8739} }); 8740 8741},{"./_an-object":21,"./_metadata":81}],320:[function(require,module,exports){ 8742var metadata = require('./_metadata'); 8743var anObject = require('./_an-object'); 8744var ordinaryGetOwnMetadata = metadata.get; 8745var toMetaKey = metadata.key; 8746 8747metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { 8748 return ordinaryGetOwnMetadata(metadataKey, anObject(target) 8749 , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); 8750} }); 8751 8752},{"./_an-object":21,"./_metadata":81}],321:[function(require,module,exports){ 8753var metadata = require('./_metadata'); 8754var anObject = require('./_an-object'); 8755var getPrototypeOf = require('./_object-gpo'); 8756var ordinaryHasOwnMetadata = metadata.has; 8757var toMetaKey = metadata.key; 8758 8759var ordinaryHasMetadata = function (MetadataKey, O, P) { 8760 var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); 8761 if (hasOwn) return true; 8762 var parent = getPrototypeOf(O); 8763 return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
8764}; 8765 8766metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { 8767 return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); 8768} }); 8769 8770},{"./_an-object":21,"./_metadata":81,"./_object-gpo":93}],322:[function(require,module,exports){ 8771var metadata = require('./_metadata'); 8772var anObject = require('./_an-object'); 8773var ordinaryHasOwnMetadata = metadata.has; 8774var toMetaKey = metadata.key; 8775 8776metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { 8777 return ordinaryHasOwnMetadata(metadataKey, anObject(target) 8778 , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); 8779} }); 8780 8781},{"./_an-object":21,"./_metadata":81}],323:[function(require,module,exports){ 8782var $metadata = require('./_metadata'); 8783var anObject = require('./_an-object'); 8784var aFunction = require('./_a-function'); 8785var toMetaKey = $metadata.key; 8786var ordinaryDefineOwnMetadata = $metadata.set; 8787 8788$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { 8789 return function decorator(target, targetKey) { 8790 ordinaryDefineOwnMetadata( 8791 metadataKey, metadataValue, 8792 (targetKey !== undefined ? anObject : aFunction)(target), 8793 toMetaKey(targetKey) 8794 ); 8795 }; 8796} }); 8797 8798},{"./_a-function":16,"./_an-object":21,"./_metadata":81}],324:[function(require,module,exports){ 8799// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from 8800require('./_set-collection-from')('Set'); 8801 8802},{"./_set-collection-from":111}],325:[function(require,module,exports){ 8803// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of 8804require('./_set-collection-of')('Set'); 8805 8806},{"./_set-collection-of":112}],326:[function(require,module,exports){ 8807// https://github.com/DavidBruant/Map-Set.prototype.toJSON 8808var $export = require('./_export'); 8809 8810$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') }); 8811 8812},{"./_collection-to-json":34,"./_export":47}],327:[function(require,module,exports){ 8813'use strict'; 8814// https://github.com/mathiasbynens/String.prototype.at 8815var $export = require('./_export'); 8816var $at = require('./_string-at')(true); 8817var $fails = require('./_fails'); 8818 8819var FORCED = $fails(function () { 8820 return 'ð ®·'.at(0) !== 'ð ®·'; 8821}); 8822 8823$export($export.P + $export.F * FORCED, 'String', { 8824 at: function at(pos) { 8825 return $at(this, pos); 8826 } 8827}); 8828 8829},{"./_export":47,"./_fails":49,"./_string-at":120}],328:[function(require,module,exports){ 8830'use strict'; 8831// https://tc39.github.io/String.prototype.matchAll/ 8832var $export = require('./_export'); 8833var defined = require('./_defined'); 8834var toLength = require('./_to-length'); 8835var isRegExp = require('./_is-regexp'); 8836var getFlags = require('./_flags'); 8837var RegExpProto = RegExp.prototype; 8838 8839var $RegExpStringIterator = function (regexp, string) { 8840 this._r = regexp; 8841 this._s = string; 8842}; 8843 8844require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() { 8845 var match = this._r.exec(this._s); 8846 return { value: match, done: match === null }; 8847}); 8848 8849$export($export.P, 'String', { 8850 matchAll: function matchAll(regexp) { 8851 defined(this); 8852 if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); 8853 var S = String(this); 8854 var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp); 8855 var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); 8856 rx.lastIndex = toLength(regexp.lastIndex); 8857 return new $RegExpStringIterator(rx, S); 8858 } 8859}); 8860 8861},{"./_defined":42,"./_export":47,"./_flags":51,"./_is-regexp":67,"./_iter-create":69,"./_to-length":132}],329:[function(require,module,exports){ 8862'use strict'; 8863// https://github.com/tc39/proposal-string-pad-start-end 8864var $export = require('./_export'); 8865var $pad = require('./_string-pad'); 8866var userAgent = require('./_user-agent'); 8867 8868// https://github.com/zloirock/core-js/issues/280 8869var WEBKIT_BUG = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); 8870 8871$export($export.P + $export.F * WEBKIT_BUG, 'String', { 8872 padEnd: function padEnd(maxLength /* , fillString = ' ' */) { 8873 return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); 8874 } 8875}); 8876 8877},{"./_export":47,"./_string-pad":123,"./_user-agent":139}],330:[function(require,module,exports){ 8878'use strict'; 8879// https://github.com/tc39/proposal-string-pad-start-end
8880var $export = require('./_export'); 8881var $pad = require('./_string-pad'); 8882var userAgent = require('./_user-agent'); 8883 8884// https://github.com/zloirock/core-js/issues/280 8885var WEBKIT_BUG = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); 8886 8887$export($export.P + $export.F * WEBKIT_BUG, 'String', { 8888 padStart: function padStart(maxLength /* , fillString = ' ' */) { 8889 return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); 8890 } 8891}); 8892 8893},{"./_export":47,"./_string-pad":123,"./_user-agent":139}],331:[function(require,module,exports){ 8894'use strict'; 8895// https://github.com/sebmarkbage/ecmascript-string-left-right-trim 8896require('./_string-trim')('trimLeft', function ($trim) { 8897 return function trimLeft() { 8898 return $trim(this, 1); 8899 }; 8900}, 'trimStart'); 8901 8902},{"./_string-trim":125}],332:[function(require,module,exports){ 8903'use strict'; 8904// https://github.com/sebmarkbage/ecmascript-string-left-right-trim 8905require('./_string-trim')('trimRight', function ($trim) { 8906 return function trimRight() { 8907 return $trim(this, 2); 8908 }; 8909}, 'trimEnd'); 8910 8911},{"./_string-trim":125}],333:[function(require,module,exports){ 8912require('./_wks-define')('asyncIterator'); 8913 8914},{"./_wks-define":141}],334:[function(require,module,exports){ 8915require('./_wks-define')('observable'); 8916 8917},{"./_wks-define":141}],335:[function(require,module,exports){ 8918// https://github.com/tc39/proposal-global 8919var $export = require('./_export'); 8920 8921$export($export.S, 'System', { global: require('./_global') }); 8922 8923},{"./_export":47,"./_global":55}],336:[function(require,module,exports){ 8924// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from 8925require('./_set-collection-from')('WeakMap'); 8926 8927},{"./_set-collection-from":111}],337:[function(require,module,exports){ 8928// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of 8929require('./_set-collection-of')('WeakMap'); 8930 8931},{"./_set-collection-of":112}],338:[function(require,module,exports){ 8932// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from 8933require('./_set-collection-from')('WeakSet'); 8934 8935},{"./_set-collection-from":111}],339:[function(require,module,exports){ 8936// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of 8937require('./_set-collection-of')('WeakSet'); 8938 8939},{"./_set-collection-of":112}],340:[function(require,module,exports){ 8940var $iterators = require('./es6.array.iterator'); 8941var getKeys = require('./_object-keys'); 8942var redefine = require('./_redefine'); 8943var global = require('./_global'); 8944var hide = require('./_hide'); 8945var Iterators = require('./_iterators'); 8946var wks = require('./_wks'); 8947var ITERATOR = wks('iterator'); 8948var TO_STRING_TAG = wks('toStringTag'); 8949var ArrayValues = Iterators.Array; 8950 8951var DOMIterables = { 8952 CSSRuleList: true, // TODO: Not spec compliant, should be false. 8953 CSSStyleDeclaration: false, 8954 CSSValueList: false, 8955 ClientRectList: false, 8956 DOMRectList: false, 8957 DOMStringList: false, 8958 DOMTokenList: true, 8959 DataTransferItemList: false, 8960 FileList: false, 8961 HTMLAllCollection: false, 8962 HTMLCollection: false, 8963 HTMLFormElement: false, 8964 HTMLSelectElement: false, 8965 MediaList: true, // TODO: Not spec compliant, should be false. 8966 MimeTypeArray: false, 8967 NamedNodeMap: false, 8968 NodeList: true, 8969 PaintRequestList: false, 8970 Plugin: false, 8971 PluginArray: false, 8972 SVGLengthList: false, 8973 SVGNumberList: false, 8974 SVGPathSegList: false, 8975 SVGPointList: false, 8976 SVGStringList: false, 8977 SVGTransformList: false, 8978 SourceBufferList: false, 8979 StyleSheetList: true, // TODO: Not spec compliant, should be false. 8980 TextTrackCueList: false, 8981 TextTrackList: false, 8982 TouchList: false 8983}; 8984 8985for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { 8986 var NAME = collections[i]; 8987 var explicit = DOMIterables[NAME]; 8988 var Collection = global[NAME]; 8989 var proto = Collection && Collection.prototype; 8990 var key; 8991 if (proto) { 8992 if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); 8993 if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); 8994 Iterators[NAME] = ArrayValues; 8995 if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); 8996 } 8997} 8998 8999},{"./_global":55,"./_hide":57,"./_iterators":73,"./_object-keys":95,"./_redefine":106,"./_wks":143,"./es6.array.iterator":156}],341:[function(require,module,exports){
vendor: 8,252 bytes, lines 9000-9202
9000var $export = require('./_export'); 9001var $task = require('./_task'); 9002$export($export.G + $export.B, { 9003 setImmediate: $task.set, 9004 clearImmediate: $task.clear 9005}); 9006 9007},{"./_export":47,"./_task":127}],342:[function(require,module,exports){ 9008// ie9- setTimeout & setInterval additional parameters fix 9009var global = require('./_global'); 9010var $export = require('./_export'); 9011var userAgent = require('./_user-agent'); 9012var slice = [].slice; 9013var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check 9014var wrap = function (set) { 9015 return function (fn, time /* , ...args */) { 9016 var boundArgs = arguments.length > 2; 9017 var args = boundArgs ? slice.call(arguments, 2) : false; 9018 return set(boundArgs ? function () { 9019 // eslint-disable-next-line no-new-func 9020 (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); 9021 } : fn, time); 9022 }; 9023}; 9024$export($export.G + $export.B + $export.F * MSIE, { 9025 setTimeout: wrap(global.setTimeout), 9026 setInterval: wrap(global.setInterval) 9027}); 9028 9029},{"./_export":47,"./_global":55,"./_user-agent":139}],343:[function(require,module,exports){ 9030require('./modules/es6.symbol'); 9031require('./modules/es6.object.create'); 9032require('./modules/es6.object.define-property'); 9033require('./modules/es6.object.define-properties'); 9034require('./modules/es6.object.get-own-property-descriptor'); 9035require('./modules/es6.object.get-prototype-of'); 9036require('./modules/es6.object.keys'); 9037require('./modules/es6.object.get-own-property-names'); 9038require('./modules/es6.object.freeze'); 9039require('./modules/es6.object.seal'); 9040require('./modules/es6.object.prevent-extensions'); 9041require('./modules/es6.object.is-frozen'); 9042require('./modules/es6.object.is-sealed'); 9043require('./modules/es6.object.is-extensible'); 9044require('./modules/es6.object.assign'); 9045require('./modules/es6.object.is'); 9046require('./modules/es6.object.set-prototype-of'); 9047require('./modules/es6.object.to-string'); 9048require('./modules/es6.function.bind'); 9049require('./modules/es6.function.name'); 9050require('./modules/es6.function.has-instance'); 9051require('./modules/es6.parse-int'); 9052require('./modules/es6.parse-float'); 9053require('./modules/es6.number.constructor'); 9054require('./modules/es6.number.to-fixed'); 9055require('./modules/es6.number.to-precision'); 9056require('./modules/es6.number.epsilon'); 9057require('./modules/es6.number.is-finite'); 9058require('./modules/es6.number.is-integer'); 9059require('./modules/es6.number.is-nan'); 9060require('./modules/es6.number.is-safe-integer'); 9061require('./modules/es6.number.max-safe-integer'); 9062require('./modules/es6.number.min-safe-integer'); 9063require('./modules/es6.number.parse-float'); 9064require('./modules/es6.number.parse-int'); 9065require('./modules/es6.math.acosh'); 9066require('./modules/es6.math.asinh'); 9067require('./modules/es6.math.atanh'); 9068require('./modules/es6.math.cbrt'); 9069require('./modules/es6.math.clz32'); 9070require('./modules/es6.math.cosh'); 9071require('./modules/es6.math.expm1'); 9072require('./modules/es6.math.fround'); 9073require('./modules/es6.math.hypot'); 9074require('./modules/es6.math.imul'); 9075require('./modules/es6.math.log10'); 9076require('./modules/es6.math.log1p'); 9077require('./modules/es6.math.log2'); 9078require('./modules/es6.math.sign'); 9079require('./modules/es6.math.sinh'); 9080require('./modules/es6.math.tanh'); 9081require('./modules/es6.math.trunc'); 9082require('./modules/es6.string.from-code-point'); 9083require('./modules/es6.string.raw'); 9084require('./modules/es6.string.trim'); 9085require('./modules/es6.string.iterator'); 9086require('./modules/es6.string.code-point-at'); 9087require('./modules/es6.string.ends-with'); 9088require('./modules/es6.string.includes'); 9089require('./modules/es6.string.repeat'); 9090require('./modules/es6.string.starts-with'); 9091require('./modules/es6.string.anchor'); 9092require('./modules/es6.string.big'); 9093require('./modules/es6.string.blink'); 9094require('./modules/es6.string.bold'); 9095require('./modules/es6.string.fixed'); 9096require('./modules/es6.string.fontcolor'); 9097require('./modules/es6.string.fontsize'); 9098require('./modules/es6.string.italics'); 9099require('./modules/es6.string.link'); 9100require('./modules/es6.string.small'); 9101require('./modules/es6.string.strike'); 9102require('./modules/es6.string.sub'); 9103require('./modules/es6.string.sup'); 9104require('./modules/es6.date.now'); 9105require('./modules/es6.date.to-json'); 9106require('./modules/es6.date.to-iso-string'); 9107require('./modules/es6.date.to-string'); 9108require('./modules/es6.date.to-primitive'); 9109require('./modules/es6.array.is-array'); 9110require('./modules/es6.array.from'); 9111require('./modules/es6.array.of'); 9112require('./modules/es6.array.join'); 9113require('./modules/es6.array.slice'); 9114require('./modules/es6.array.sort'); 9115require('./modules/es6.array.for-each'); 9116require('./modules/es6.array.map'); 9117require('./modules/es6.array.filter'); 9118require('./modules/es6.array.some'); 9119require('./modules/es6.array.every'); 9120require('./modules/es6.array.reduce'); 9121require('./modules/es6.array.reduce-right'); 9122require('./modules/es6.array.index-of'); 9123require('./modules/es6.array.last-index-of'); 9124require('./modules/es6.array.copy-within'); 9125require('./modules/es6.array.fill'); 9126require('./modules/es6.array.find'); 9127require('./modules/es6.array.find-index'); 9128require('./modules/es6.array.species'); 9129require('./modules/es6.array.iterator'); 9130require('./modules/es6.regexp.constructor'); 9131require('./modules/es6.regexp.exec'); 9132require('./modules/es6.regexp.to-string'); 9133require('./modules/es6.regexp.flags'); 9134require('./modules/es6.regexp.match'); 9135require('./modules/es6.regexp.replace'); 9136require('./modules/es6.regexp.search'); 9137require('./modules/es6.regexp.split'); 9138require('./modules/es6.promise'); 9139require('./modules/es6.map'); 9140require('./modules/es6.set'); 9141require('./modules/es6.weak-map'); 9142require('./modules/es6.weak-set'); 9143require('./modules/es6.typed.array-buffer'); 9144require('./modules/es6.typed.data-view'); 9145require('./modules/es6.typed.int8-array'); 9146require('./modules/es6.typed.uint8-array'); 9147require('./modules/es6.typed.uint8-clamped-array'); 9148require('./modules/es6.typed.int16-array'); 9149require('./modules/es6.typed.uint16-array'); 9150require('./modules/es6.typed.int32-array'); 9151require('./modules/es6.typed.uint32-array'); 9152require('./modules/es6.typed.float32-array'); 9153require('./modules/es6.typed.float64-array'); 9154require('./modules/es6.reflect.apply'); 9155require('./modules/es6.reflect.construct'); 9156require('./modules/es6.reflect.define-property'); 9157require('./modules/es6.reflect.delete-property'); 9158require('./modules/es6.reflect.enumerate'); 9159require('./modules/es6.reflect.get'); 9160require('./modules/es6.reflect.get-own-property-descriptor'); 9161require('./modules/es6.reflect.get-prototype-of'); 9162require('./modules/es6.reflect.has'); 9163require('./modules/es6.reflect.is-extensible'); 9164require('./modules/es6.reflect.own-keys'); 9165require('./modules/es6.reflect.prevent-extensions'); 9166require('./modules/es6.reflect.set'); 9167require('./modules/es6.reflect.set-prototype-of'); 9168require('./modules/es7.array.includes'); 9169require('./modules/es7.array.flat-map'); 9170require('./modules/es7.array.flatten'); 9171require('./modules/es7.string.at'); 9172require('./modules/es7.string.pad-start'); 9173require('./modules/es7.string.pad-end'); 9174require('./modules/es7.string.trim-left'); 9175require('./modules/es7.string.trim-right'); 9176require('./modules/es7.string.match-all'); 9177require('./modules/es7.symbol.async-iterator'); 9178require('./modules/es7.symbol.observable'); 9179require('./modules/es7.object.get-own-property-descriptors'); 9180require('./modules/es7.object.values'); 9181require('./modules/es7.object.entries'); 9182require('./modules/es7.object.define-getter'); 9183require('./modules/es7.object.define-setter'); 9184require('./modules/es7.object.lookup-getter'); 9185require('./modules/es7.object.lookup-setter'); 9186require('./modules/es7.map.to-json'); 9187require('./modules/es7.set.to-json'); 9188require('./modules/es7.map.of'); 9189require('./modules/es7.set.of'); 9190require('./modules/es7.weak-map.of'); 9191require('./modules/es7.weak-set.of'); 9192require('./modules/es7.map.from'); 9193require('./modules/es7.set.from'); 9194require('./modules/es7.weak-map.from'); 9195require('./modules/es7.weak-set.from'); 9196require('./modules/es7.global'); 9197require('./modules/es7.system.global'); 9198require('./modules/es7.error.is-error'); 9199require('./modules/es7.math.clamp'); 9200require('./modules/es7.math.deg-per-rad'); 9201require('./modules/es7.math.degrees'); 9202require('./modules/es7.math.fscale');
9203require('./modules/es7.math.iaddh'); 9204require('./modules/es7.math.isubh'); 9205require('./modules/es7.math.imulh'); 9206require('./modules/es7.math.rad-per-deg'); 9207require('./modules/es7.math.radians'); 9208require('./modules/es7.math.scale'); 9209require('./modules/es7.math.umulh'); 9210require('./modules/es7.math.signbit'); 9211require('./modules/es7.promise.finally'); 9212require('./modules/es7.promise.try'); 9213require('./modules/es7.reflect.define-metadata'); 9214require('./modules/es7.reflect.delete-metadata'); 9215require('./modules/es7.reflect.get-metadata'); 9216require('./modules/es7.reflect.get-metadata-keys'); 9217require('./modules/es7.reflect.get-own-metadata'); 9218require('./modules/es7.reflect.get-own-metadata-keys'); 9219require('./modules/es7.reflect.has-metadata'); 9220require('./modules/es7.reflect.has-own-metadata'); 9221require('./modules/es7.reflect.metadata'); 9222require('./modules/es7.asap'); 9223require('./modules/es7.observable'); 9224require('./modules/web.timers'); 9225require('./modules/web.immediate'); 9226require('./modules/web.dom.iterable'); 9227module.exports = require('./modules/_core'); 9228 9229},{"./modules/_core":37,"./modules/es6.array.copy-within":146,"./modules/es6.array.every":147,"./modules/es6.array.fill":148,"./modules/es6.array.filter":149,"./modules/es6.array.find":151,"./modules/es6.array.find-index":150,"./modules/es6.array.for-each":152,"./modules/es6.array.from":153,"./modules/es6.array.index-of":154,"./modules/es6.array.is-array":155,"./modules/es6.array.iterator":156,"./modules/es6.array.join":157,"./modules/es6.array.last-index-of":158,"./modules/es6.array.map":159,"./modules/es6.array.of":160,"./modules/es6.array.reduce":162,"./modules/es6.array.reduce-right":161,"./modules/es6.array.slice":163,"./modules/es6.array.some":164,"./modules/es6.array.sort":165,"./modules/es6.array.species":166,"./modules/es6.date.now":167,"./modules/es6.date.to-iso-string":168,"./modules/es6.date.to-json":169,"./modules/es6.date.to-primitive":170,"./modules/es6.date.to-string":171,"./modules/es6.function.bind":172,"./modules/es6.function.has-instance":173,"./modules/es6.function.name":174,"./modules/es6.map":175,"./modules/es6.math.acosh":176,"./modules/es6.math.asinh":177,"./modules/es6.math.atanh":178,"./modules/es6.math.cbrt":179,"./modules/es6.math.clz32":180,"./modules/es6.math.cosh":181,"./modules/es6.math.expm1":182,"./modules/es6.math.fround":183,"./modules/es6.math.hypot":184,"./modules/es6.math.imul":185,"./modules/es6.math.log10":186,"./modules/es6.math.log1p":187,"./modules/es6.math.log2":188,"./modules/es6.math.sign":189,"./modules/es6.math.sinh":190,"./modules/es6.math.tanh":191,"./modules/es6.math.trunc":192,"./modules/es6.number.constructor":193,"./modules/es6.number.epsilon":194,"./modules/es6.number.is-finite":195,"./modules/es6.number.is-integer":196,"./modules/es6.number.is-nan":197,"./modules/es6.number.is-safe-integer":198,"./modules/es6.number.max-safe-integer":199,"./modules/es6.number.min-safe-integer":200,"./modules/es6.number.parse-float":201,"./modules/es6.number.parse-int":202,"./modules/es6.number.to-fixed":203,"./modules/es6.number.to-precision":204,"./modules/es6.object.assign":205,"./modules/es6.object.create":206,"./modules/es6.object.define-properties":207,"./modules/es6.object.define-property":208,"./modules/es6.object.freeze":209,"./modules/es6.object.get-own-property-descriptor":210,"./modules/es6.object.get-own-property-names":211,"./modules/es6.object.get-prototype-of":212,"./modules/es6.object.is":216,"./modules/es6.object.is-extensible":213,"./modules/es6.object.is-frozen":214,"./modules/es6.object.is-sealed":215,"./modules/es6.object.keys":217,"./modules/es6.object.prevent-extensions":218,"./modules/es6.object.seal":219,"./modules/es6.object.set-prototype-of":220,"./modules/es6.object.to-string":221,"./modules/es6.parse-float":222,"./modules/es6.parse-int":223,"./modules/es6.promise":224,"./modules/es6.reflect.apply":225,"./modules/es6.reflect.construct":226,"./modules/es6.reflect.define-property":227,"./modules/es6.reflect.delete-property":228,"./modules/es6.reflect.enumerate":229,"./modules/es6.reflect.get":232,"./modules/es6.reflect.get-own-property-descriptor":230,"./modules/es6.reflect.get-prototype-of":231,"./modules/es6.reflect.has":233,"./modules/es6.reflect.is-extensible":234,"./modules/es6.reflect.own-keys":235,"./modules/es6.reflect.prevent-extensions":236,"./modules/es6.reflect.set":238,"./modules/es6.reflect.set-prototype-of":237,"./modules/es6.regexp.constructor":239,"./modules/es6.regexp.exec":240,"./modules/es6.regexp.flags":241,"./modules/es6.regexp.match":242,"./modules/es6.regexp.replace":243,"./modules/es6.regexp.search":244,"./modules/es6.regexp.split":245,"./modules/es6.regexp.to-string":246,"./modules/es6.set":247,"./modules/es6.string.anchor":248,"./modules/es6.string.big":249,"./modules/es6.string.blink":250,"./modules/es6.string.bold":251,"./modules/es6.string.code-point-at":252,"./modules/es6.string.ends-with":253,"./modules/es6.string.fixed":254,"./modules/es6.string.fontc
9229olor":255,"./modules/es6.string.fontsize":256,"./modules/es6.string.from-code-point":257,"./modules/es6.string.includes":258,"./modules/es6.string.italics":259,"./modules/es6.string.iterator":260,"./modules/es6.string.link":261,"./modules/es6.string.raw":262,"./modules/es6.string.repeat":263,"./modules/es6.string.small":264,"./modules/es6.string.starts-with":265,"./modules/es6.string.strike":266,"./modules/es6.string.sub":267,"./modules/es6.string.sup":268,"./modules/es6.string.trim":269,"./modules/es6.symbol":270,"./modules/es6.typed.array-buffer":271,"./modules/es6.typed.data-view":272,"./modules/es6.typed.float32-array":273,"./modules/es6.typed.float64-array":274,"./modules/es6.typed.int16-array":275,"./modules/es6.typed.int32-array":276,"./modules/es6.typed.int8-array":277,"./modules/es6.typed.uint16-array":278,"./modules/es6.typed.uint32-array":279,"./modules/es6.typed.uint8-array":280,"./modules/es6.typed.uint8-clamped-array":281,"./modules/es6.weak-map":282,"./modules/es6.weak-set":283,"./modules/es7.array.flat-map":284,"./modules/es7.array.flatten":285,"./modules/es7.array.includes":286,"./modules/es7.asap":287,"./modules/es7.error.is-error":288,"./modules/es7.global":289,"./modules/es7.map.from":290,"./modules/es7.map.of":291,"./modules/es7.map.to-json":292,"./modules/es7.math.clamp":293,"./modules/es7.math.deg-per-rad":294,"./modules/es7.math.degrees":295,"./modules/es7.math.fscale":296,"./modules/es7.math.iad
9229dh":297,"./modules/es7.math.imulh":298,"./modules/es7.math.isubh":299,"./modules/es7.math.rad-per-deg":300,"./modules/es7.math.radians":301,"./modules/es7.math.scale":302,"./modules/es7.math.signbit":303,"./modules/es7.math.umulh":304,"./modules/es7.object.define-getter":305,"./modules/es7.object.define-setter":306,"./modules/es7.object.entries":307,"./modules/es7.object.get-own-property-descriptors":308,"./modules/es7.object.lookup-getter":309,"./modules/es7.object.lookup-setter":310,"./modules/es7.object.values":311,"./modules/es7.observable":312,"./modules/es7.promise.finally":313,"./modules/es7.promise.try":314,"./modules/es7.reflect.define-metadata":315,"./modules/es7.reflect.delete-metadata":316,"./modules/es7.reflect.get-metadata":318,"./modules/es7.reflect.get-metadata-keys":317,"./modules/es7.reflect.get-own-metadata":320,"./modules/es7.reflect.get-own-metadata-keys":319,"./modules/es7.reflect.has-metadata":321,"./modules/es7.reflect.has-own-metadata":322,"./modules/es7.reflect.metadata":323,"./modules/es7.set.from":324,"./modules/es7.set.of":325,"./modules/es7.set.to-json":326,"./modules/es7.string.at":327,"./modules/es7.string.match-all":328,"./modules/es7.string.pad-end":329,"./modules/es7.string.pad-start":330,"./modules/es7.string.trim-left":33
92291,"./modules/es7.string.trim-right":332,"./modules/es7.symbol.async-iterator":333,"./modules/es7.symbol.observable":334,"./modules/es7.system.global":335,"./modules/es7.weak-map.from":336,"./modules/es7.weak-map.of":337,"./modules/es7.weak-set.from":338,"./modules/es7.weak-set.of":339,"./modules/web.dom.iterable":340,"./modules/web.immediate":341,"./modules/web.timers":342}],344:[function(require,module,exports){
vendor: 16,104 bytes, lines 9230-9566
9230/*! 9231 * html2canvas 1.4.1 <https://html2canvas.hertzen.com> 9232 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com> 9233 * Released under MIT License 9234 */ 9235(function (global, factory) { 9236 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 9237 typeof define === 'function' && define.amd ? define(factory) : 9238 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.html2canvas = factory()); 9239}(this, (function () { 'use strict'; 9240 9241 /*! ***************************************************************************** 9242 Copyright (c) Microsoft Corporation. 9243 9244 Permission to use, copy, modify, and/or distribute this software for any 9245 purpose with or without fee is hereby granted. 9246 9247 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 9248 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 9249 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 9250 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 9251 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 9252 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 9253 PERFORMANCE OF THIS SOFTWARE. 9254 ***************************************************************************** */ 9255 /* global Reflect, Promise */ 9256 9257 var extendStatics = function(d, b) { 9258 extendStatics = Object.setPrototypeOf || 9259 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || 9260 function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; 9261 return extendStatics(d, b); 9262 }; 9263 9264 function __extends(d, b) { 9265 if (typeof b !== "function" && b !== null) 9266 throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); 9267 extendStatics(d, b); 9268 function __() { this.constructor = d; } 9269 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); 9270 } 9271 9272 var __assign = function() { 9273 __assign = Object.assign || function __assign(t) { 9274 for (var s, i = 1, n = arguments.length; i < n; i++) { 9275 s = arguments[i]; 9276 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; 9277 } 9278 return t; 9279 }; 9280 return __assign.apply(this, arguments); 9281 }; 9282 9283 function __awaiter(thisArg, _arguments, P, generator) { 9284 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 9285 return new (P || (P = Promise))(function (resolve, reject) { 9286 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 9287 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 9288 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 9289 step((generator = generator.apply(thisArg, _arguments || [])).next()); 9290 }); 9291 } 9292 9293 function __generator(thisArg, body) { 9294 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; 9295 return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; 9296 function verb(n) { return function (v) { return step([n, v]); }; } 9297 function step(op) { 9298 if (f) throw new TypeError("Generator is already executing."); 9299 while (_) try { 9300 if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; 9301 if (y = 0, t) op = [op[0] & 2, t.value]; 9302 switch (op[0]) { 9303 case 0: case 1: t = op; break; 9304 case 4: _.label++; return { value: op[1], done: false }; 9305 case 5: _.label++; y = op[1]; op = [0]; continue; 9306 case 7: op = _.ops.pop(); _.trys.pop(); continue; 9307 default: 9308 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } 9309 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } 9310 if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } 9311 if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } 9312 if (t[2]) _.ops.pop(); 9313 _.trys.pop(); continue; 9314 } 9315 op = body.call(thisArg, _); 9316 } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } 9317 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; 9318 } 9319 } 9320 9321 function __spreadArray(to, from, pack) { 9322 if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { 9323 if (ar || !(i in from)) { 9324 if (!ar) ar = Array.prototype.slice.call(from, 0, i); 9325 ar[i] = from[i]; 9326 } 9327 } 9328 return to.concat(ar || from); 9329 } 9330 9331 var Bounds = /** @class */ (function () { 9332 function Bounds(left, top, width, height) { 9333 this.left = left; 9334 this.top = top; 9335 this.width = width; 9336 this.height = height; 9337 } 9338 Bounds.prototype.add = function (x, y, w, h) { 9339 return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h); 9340 }; 9341 Bounds.fromClientRect = function (context, clientRect) { 9342 return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height); 9343 }; 9344 Bounds.fromDOMRectList = function (context, domRectList) { 9345 var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; }); 9346 return domRect 9347 ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height) 9348 : Bounds.EMPTY; 9349 }; 9350 Bounds.EMPTY = new Bounds(0, 0, 0, 0); 9351 return Bounds; 9352 }()); 9353 var parseBounds = function (context, node) { 9354 return Bounds.fromClientRect(context, node.getBoundingClientRect()); 9355 }; 9356 var parseDocumentSize = function (document) { 9357 var body = document.body; 9358 var documentElement = document.documentElement; 9359 if (!body || !documentElement) { 9360 throw new Error("Unable to get document size"); 9361 } 9362 var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth)); 9363 var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight)); 9364 return new Bounds(0, 0, width, height); 9365 }; 9366 9367 /* 9368 * css-line-break 2.1.0 <https://github.com/niklasvh/css-line-break#readme> 9369 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com> 9370 * Released under MIT License 9371 */ 9372 var toCodePoints$1 = function (str) { 9373 var codePoints = []; 9374 var i = 0; 9375 var length = str.length; 9376 while (i < length) { 9377 var value = str.charCodeAt(i++); 9378 if (value >= 0xd800 && value <= 0xdbff && i < length) { 9379 var extra = str.charCodeAt(i++); 9380 if ((extra & 0xfc00) === 0xdc00) { 9381 codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000); 9382 } 9383 else { 9384 codePoints.push(value); 9385 i--; 9386 } 9387 } 9388 else { 9389 codePoints.push(value); 9390 } 9391 } 9392 return codePoints; 9393 }; 9394 var fromCodePoint$1 = function () { 9395 var codePoints = []; 9396 for (var _i = 0; _i < arguments.length; _i++) { 9397 codePoints[_i] = arguments[_i]; 9398 } 9399 if (String.fromCodePoint) { 9400 return String.fromCodePoint.apply(String, codePoints); 9401 } 9402 var length = codePoints.length; 9403 if (!length) { 9404 return ''; 9405 } 9406 var codeUnits = []; 9407 var index = -1; 9408 var result = ''; 9409 while (++index < length) { 9410 var codePoint = codePoints[index]; 9411 if (codePoint <= 0xffff) { 9412 codeUnits.push(codePoint); 9413 } 9414 else { 9415 codePoint -= 0x10000; 9416 codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00); 9417 } 9418 if (index + 1 === length || codeUnits.length > 0x4000) { 9419 result += String.fromCharCode.apply(String, codeUnits); 9420 codeUnits.length = 0; 9421 } 9422 } 9423 return result; 9424 }; 9425 var chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; 9426 // Use a lookup table to find the index. 9427 var lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256); 9428 for (var i$2 = 0; i$2 < chars$2.length; i$2++) { 9429 lookup$2[chars$2.charCodeAt(i$2)] = i$2; 9430 } 9431 9432 /* 9433 * utrie 1.0.2 <https://github.com/niklasvh/utrie> 9434 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com> 9435 * Released under MIT License 9436 */ 9437 var chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; 9438 // Use a lookup table to find the index. 9439 var lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256); 9440 for (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) { 9441 lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1; 9442 } 9443 var decode$1 = function (base64) { 9444 var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4; 9445 if (base64[base64.length - 1] === '=') { 9446 bufferLength--; 9447 if (base64[base64.length - 2] === '=') { 9448 bufferLength--; 9449 } 9450 } 9451 var buffer = typeof ArrayBuffer !== 'undefined' && 9452 typeof Uint8Array !== 'undefined' && 9453 typeof Uint8Array.prototype.slice !== 'undefined' 9454 ? new ArrayBuffer(bufferLength) 9455 : new Array(bufferLength); 9456 var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer); 9457 for (i = 0; i < len; i += 4) { 9458 encoded1 = lookup$1$1[base64.charCodeAt(i)]; 9459 encoded2 = lookup$1$1[base64.charCodeAt(i + 1)]; 9460 encoded3 = lookup$1$1[base64.charCodeAt(i + 2)]; 9461 encoded4 = lookup$1$1[base64.charCodeAt(i + 3)]; 9462 bytes[p++] = (encoded1 << 2) | (encoded2 >> 4); 9463 bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2); 9464 bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63); 9465 } 9466 return buffer; 9467 }; 9468 var polyUint16Array$1 = function (buffer) { 9469 var length = buffer.length; 9470 var bytes = []; 9471 for (var i = 0; i < length; i += 2) { 9472 bytes.push((buffer[i + 1] << 8) | buffer[i]); 9473 } 9474 return bytes; 9475 }; 9476 var polyUint32Array$1 = function (buffer) { 9477 var length = buffer.length; 9478 var bytes = []; 9479 for (var i = 0; i < length; i += 4) { 9480 bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]); 9481 } 9482 return bytes; 9483 }; 9484 9485 /** Shift size for getting the index-2 table offset. */ 9486 var UTRIE2_SHIFT_2$1 = 5; 9487 /** Shift size for getting the index-1 table offset. */ 9488 var UTRIE2_SHIFT_1$1 = 6 + 5; 9489 /** 9490 * Shift size for shifting left the index array values. 9491 * Increases possible data size with 16-bit index values at the cost 9492 * of compactability. 9493 * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY. 9494 */ 9495 var UTRIE2_INDEX_SHIFT$1 = 2; 9496 /** 9497 * Difference between the two shift sizes, 9498 * for getting an index-1 offset from an index-2 offset. 6=11-5 9499 */ 9500 var UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1; 9501 /** 9502 * The part of the index-2 table for U+D800..U+DBFF stores values for 9503 * lead surrogate code _units_ not code _points_. 9504 * Values for lead surrogate code _points_ are indexed with this portion of the table. 9505 * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.) 9506 */ 9507 var UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1; 9508 /** Number of entries in a data block. 32=0x20 */ 9509 var UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1; 9510 /** Mask for getting the lower bits for the in-data-block offset. */ 9511 var UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1; 9512 var UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1; 9513 /** Count the lengths of both BMP pieces. 2080=0x820 */ 9514 var UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1; 9515 /** 9516 * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820. 9517 * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2. 9518 */ 9519 var UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1; 9520 var UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */ 9521 /** 9522 * The index-1 table, only used for supplementary code points, at offset 2112=0x840. 9523 * Variable length, for code points up to highStart, where the last single-value range starts. 9524 * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1. 9525 * (For 0x100000 supplementary code points U+10000..U+10ffff.) 9526 * 9527 * The part of the index-2 table for supplementary code points starts 9528 * after this index-1 table. 9529 * 9530 * Both the index-1 table and the following part of the index-2 table 9531 * are omitted completely if there is only BMP data. 9532 */ 9533 var UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1; 9534 /** 9535 * Number of index-1 entries for the BMP. 32=0x20 9536 * This part of the index-1 table is omitted from the serialized form. 9537 */ 9538 var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1; 9539 /** Number of entries in an index-2 block. 64=0x40 */ 9540 var UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1; 9541 /** Mask for getting the lower bits for the in-index-2-block offset. */ 9542 var UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1; 9543 var slice16$1 = function (view, start, end) { 9544 if (view.slice) { 9545 return view.slice(start, end); 9546 } 9547 return new Uint16Array(Array.prototype.slice.call(view, start, end)); 9548 }; 9549 var slice32$1 = function (view, start, end) { 9550 if (view.slice) { 9551 return view.slice(start, end); 9552 } 9553 return new Uint32Array(Array.prototype.slice.call(view, start, end)); 9554 }; 9555 var createTrieFromBase64$1 = function (base64, _byteLength) { 9556 var buffer = decode$1(base64); 9557 var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer); 9558 var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer); 9559 var headerLength = 24; 9560 var index = slice16$1(view16, headerLength / 2, view32[4] / 2); 9561 var data = view32[5] === 2 9562 ? slice16$1(view16, (headerLength + view32[4]) / 2) 9563 : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4)); 9564 return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data); 9565 }; 9566 var Trie$1 = /** @class */ (function () {
vendor: 8,890 bytes, lines 9567-9634
9567 function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) { 9568 this.initialValue = initialValue; 9569 this.errorValue = errorValue; 9570 this.highStart = highStart; 9571 this.highValueIndex = highValueIndex; 9572 this.index = index; 9573 this.data = data; 9574 } 9575 /** 9576 * Get the value for a code point as stored in the Trie. 9577 * 9578 * @param codePoint the code point 9579 * @return the value 9580 */ 9581 Trie.prototype.get = function (codePoint) { 9582 var ix; 9583 if (codePoint >= 0) { 9584 if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) { 9585 // Ordinary BMP code point, excluding leading surrogates. 9586 // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index. 9587 // 16 bit data is stored in the index array itself. 9588 ix = this.index[codePoint >> UTRIE2_SHIFT_2$1]; 9589 ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1); 9590 return this.data[ix]; 9591 } 9592 if (codePoint <= 0xffff) { 9593 // Lead Surrogate Code Point. A Separate index section is stored for 9594 // lead surrogate code units and code points. 9595 // The main index has the code unit data. 9596 // For this function, we need the code point data. 9597 // Note: this expression could be refactored for slightly improved efficiency, but 9598 // surrogate code points will be so rare in practice that it's not worth it. 9599 ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)]; 9600 ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1); 9601 return this.data[ix]; 9602 } 9603 if (codePoint < this.highStart) { 9604 // Supplemental code point, use two-level lookup. 9605 ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1); 9606 ix = this.index[ix]; 9607 ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1; 9608 ix = this.index[ix]; 9609 ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1); 9610 return this.data[ix]; 9611 } 9612 if (codePoint <= 0x10ffff) { 9613 return this.data[this.highValueIndex]; 9614 } 9615 } 9616 // Fall through. The code point is outside of the legal range of 0..0x10ffff. 9617 return this.errorValue; 9618 }; 9619 return Trie; 9620 }()); 9621 9622 /* 9623 * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer> 9624 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com> 9625 * Released under MIT License 9626 */ 9627 var chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; 9628 // Use a lookup table to find the index. 9629 var lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256); 9630 for (var i$3 = 0; i$3 < chars$3.length; i$3++) { 9631 lookup$3[chars$3.charCodeAt(i$3)] = i$3; 9632 } 9633 9634 var base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCI
vendor: 46,295 bytes, line 9634
9634IIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlA
vendor: 17,159 bytes, lines 9634-9987
9634CUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=='; 9635 9636 var LETTER_NUMBER_MODIFIER = 50; 9637 // Non-tailorable Line Breaking Classes 9638 var BK = 1; // Cause a line break (after) 9639 var CR$1 = 2; // Cause a line break (after), except between CR and LF 9640 var LF$1 = 3; // Cause a line break (after) 9641 var CM = 4; // Prohibit a line break between the character and the preceding character 9642 var NL = 5; // Cause a line break (after) 9643 var WJ = 7; // Prohibit line breaks before and after 9644 var ZW = 8; // Provide a break opportunity 9645 var GL = 9; // Prohibit line breaks before and after 9646 var SP = 10; // Enable indirect line breaks 9647 var ZWJ$1 = 11; // Prohibit line breaks within joiner sequences 9648 // Break Opportunities 9649 var B2 = 12; // Provide a line break opportunity before and after the character 9650 var BA = 13; // Generally provide a line break opportunity after the character 9651 var BB = 14; // Generally provide a line break opportunity before the character 9652 var HY = 15; // Provide a line break opportunity after the character, except in numeric context 9653 var CB = 16; // Provide a line break opportunity contingent on additional information 9654 // Characters Prohibiting Certain Breaks 9655 var CL = 17; // Prohibit line breaks before 9656 var CP = 18; // Prohibit line breaks before 9657 var EX = 19; // Prohibit line breaks before 9658 var IN = 20; // Allow only indirect line breaks between pairs 9659 var NS = 21; // Allow only indirect line breaks before 9660 var OP = 22; // Prohibit line breaks after 9661 var QU = 23; // Act like they are both opening and closing 9662 // Numeric Context 9663 var IS = 24; // Prevent breaks after any and before numeric 9664 var NU = 25; // Form numeric expressions for line breaking purposes 9665 var PO = 26; // Do not break following a numeric expression 9666 var PR = 27; // Do not break in front of a numeric expression 9667 var SY = 28; // Prevent a break before; and allow a break after 9668 // Other Characters 9669 var AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID 9670 var AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters 9671 var CJ = 31; // Treat as NS or ID for strict or normal breaking. 9672 var EB = 32; // Do not break from following Emoji Modifier 9673 var EM = 33; // Do not break from preceding Emoji Base 9674 var H2 = 34; // Form Korean syllable blocks 9675 var H3 = 35; // Form Korean syllable blocks 9676 var HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic 9677 var ID = 37; // Break before or after; except in some numeric context 9678 var JL = 38; // Form Korean syllable blocks 9679 var JV = 39; // Form Korean syllable blocks 9680 var JT = 40; // Form Korean syllable blocks 9681 var RI$1 = 41; // Keep pairs together. For pairs; break before and after other classes 9682 var SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis 9683 var XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions 9684 var ea_OP = [0x2329, 0xff08]; 9685 var BREAK_MANDATORY = '!'; 9686 var BREAK_NOT_ALLOWED$1 = 'Ã'; 9687 var BREAK_ALLOWED$1 = '÷'; 9688 var UnicodeTrie$1 = createTrieFromBase64$1(base64$1); 9689 var ALPHABETICS = [AL, HL]; 9690 var HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL]; 9691 var SPACE$1 = [SP, ZW]; 9692 var PREFIX_POSTFIX = [PR, PO]; 9693 var LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1); 9694 var KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3]; 9695 var HYPHEN = [HY, BA]; 9696 var codePointsToCharacterClasses = function (codePoints, lineBreak) { 9697 if (lineBreak === void 0) { lineBreak = 'strict'; } 9698 var types = []; 9699 var indices = []; 9700 var categories = []; 9701 codePoints.forEach(function (codePoint, index) { 9702 var classType = UnicodeTrie$1.get(codePoint); 9703 if (classType > LETTER_NUMBER_MODIFIER) { 9704 categories.push(true); 9705 classType -= LETTER_NUMBER_MODIFIER; 9706 } 9707 else { 9708 categories.push(false); 9709 } 9710 if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) { 9711 // U+2010, â U+2013, ã U+301C, ã U+30A0 9712 if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) { 9713 indices.push(index); 9714 return types.push(CB); 9715 } 9716 } 9717 if (classType === CM || classType === ZWJ$1) { 9718 // LB10 Treat any remaining combining mark or ZWJ as AL. 9719 if (index === 0) { 9720 indices.push(index); 9721 return types.push(AL); 9722 } 9723 // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of 9724 // the base character in all of the following rules. Treat ZWJ as if it were CM. 9725 var prev = types[index - 1]; 9726 if (LINE_BREAKS.indexOf(prev) === -1) { 9727 indices.push(indices[index - 1]); 9728 return types.push(prev); 9729 } 9730 indices.push(index); 9731 return types.push(AL); 9732 } 9733 indices.push(index); 9734 if (classType === CJ) { 9735 return types.push(lineBreak === 'strict' ? NS : ID); 9736 } 9737 if (classType === SA) { 9738 return types.push(AL); 9739 } 9740 if (classType === AI) { 9741 return types.push(AL); 9742 } 9743 // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL 9744 // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised 9745 // to take into account the actual line breaking properties for these characters. 9746 if (classType === XX) { 9747 if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) { 9748 return types.push(ID); 9749 } 9750 else { 9751 return types.push(AL); 9752 } 9753 } 9754 types.push(classType); 9755 }); 9756 return [indices, types, categories]; 9757 }; 9758 var isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) { 9759 var current = classTypes[currentIndex]; 9760 if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) { 9761 var i = currentIndex; 9762 while (i <= classTypes.length) { 9763 i++; 9764 var next = classTypes[i]; 9765 if (next === b) { 9766 return true; 9767 } 9768 if (next !== SP) { 9769 break; 9770 } 9771 } 9772 } 9773 if (current === SP) { 9774 var i = currentIndex; 9775 while (i > 0) { 9776 i--; 9777 var prev = classTypes[i]; 9778 if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) { 9779 var n = currentIndex; 9780 while (n <= classTypes.length) { 9781 n++; 9782 var next = classTypes[n]; 9783 if (next === b) { 9784 return true; 9785 } 9786 if (next !== SP) { 9787 break; 9788 } 9789 } 9790 } 9791 if (prev !== SP) { 9792 break; 9793 } 9794 } 9795 } 9796 return false; 9797 }; 9798 var previousNonSpaceClassType = function (currentIndex, classTypes) { 9799 var i = currentIndex; 9800 while (i >= 0) { 9801 var type = classTypes[i]; 9802 if (type === SP) { 9803 i--; 9804 } 9805 else { 9806 return type; 9807 } 9808 } 9809 return 0; 9810 }; 9811 var _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) { 9812 if (indicies[index] === 0) { 9813 return BREAK_NOT_ALLOWED$1; 9814 } 9815 var currentIndex = index - 1; 9816 if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) { 9817 return BREAK_NOT_ALLOWED$1; 9818 } 9819 var beforeIndex = currentIndex - 1; 9820 var afterIndex = currentIndex + 1; 9821 var current = classTypes[currentIndex]; 9822 // LB4 Always break after hard line breaks. 9823 // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks. 9824 var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0; 9825 var next = classTypes[afterIndex]; 9826 if (current === CR$1 && next === LF$1) { 9827 return BREAK_NOT_ALLOWED$1; 9828 } 9829 if (HARD_LINE_BREAKS.indexOf(current) !== -1) { 9830 return BREAK_MANDATORY; 9831 } 9832 // LB6 Do not break before hard line breaks. 9833 if (HARD_LINE_BREAKS.indexOf(next) !== -1) { 9834 return BREAK_NOT_ALLOWED$1; 9835 } 9836 // LB7 Do not break before spaces or zero width space. 9837 if (SPACE$1.indexOf(next) !== -1) { 9838 return BREAK_NOT_ALLOWED$1; 9839 } 9840 // LB8 Break before any character following a zero-width space, even if one or more spaces intervene. 9841 if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) { 9842 return BREAK_ALLOWED$1; 9843 } 9844 // LB8a Do not break after a zero width joiner. 9845 if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) { 9846 return BREAK_NOT_ALLOWED$1; 9847 } 9848 // zwj emojis 9849 if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) { 9850 return BREAK_NOT_ALLOWED$1; 9851 } 9852 // LB11 Do not break before or after Word joiner and related characters. 9853 if (current === WJ || next === WJ) { 9854 return BREAK_NOT_ALLOWED$1; 9855 } 9856 // LB12 Do not break after NBSP and related characters. 9857 if (current === GL) { 9858 return BREAK_NOT_ALLOWED$1; 9859 } 9860 // LB12a Do not break before NBSP and related characters, except after spaces and hyphens. 9861 if ([SP, BA, HY].indexOf(current) === -1 && next === GL) { 9862 return BREAK_NOT_ALLOWED$1; 9863 } 9864 // LB13 Do not break before â]â or â!â or â;â or â/â, even after spaces. 9865 if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) { 9866 return BREAK_NOT_ALLOWED$1; 9867 } 9868 // LB14 Do not break after â[â, even after spaces. 9869 if (previousNonSpaceClassType(currentIndex, classTypes) === OP) { 9870 return BREAK_NOT_ALLOWED$1; 9871 } 9872 // LB15 Do not break within ââ[â, even with intervening spaces. 9873 if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) { 9874 return BREAK_NOT_ALLOWED$1; 9875 } 9876 // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces. 9877 if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) { 9878 return BREAK_NOT_ALLOWED$1; 9879 } 9880 // LB17 Do not break within ââââ, even with intervening spaces. 9881 if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) { 9882 return BREAK_NOT_ALLOWED$1; 9883 } 9884 // LB18 Break after spaces. 9885 if (current === SP) { 9886 return BREAK_ALLOWED$1; 9887 } 9888 // LB19 Do not break before or after quotation marks, such as â â â. 9889 if (current === QU || next === QU) { 9890 return BREAK_NOT_ALLOWED$1; 9891 } 9892 // LB20 Break before and after unresolved CB. 9893 if (next === CB || current === CB) { 9894 return BREAK_ALLOWED$1; 9895 } 9896 // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents. 9897 if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) { 9898 return BREAK_NOT_ALLOWED$1; 9899 } 9900 // LB21a Don't break after Hebrew + Hyphen. 9901 if (before === HL && HYPHEN.indexOf(current) !== -1) { 9902 return BREAK_NOT_ALLOWED$1; 9903 } 9904 // LB21b Donât break between Solidus and Hebrew letters. 9905 if (current === SY && next === HL) { 9906 return BREAK_NOT_ALLOWED$1; 9907 } 9908 // LB22 Do not break before ellipsis. 9909 if (next === IN) { 9910 return BREAK_NOT_ALLOWED$1; 9911 } 9912 // LB23 Do not break between digits and letters. 9913 if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) { 9914 return BREAK_NOT_ALLOWED$1; 9915 } 9916 // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes. 9917 if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) || 9918 ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) { 9919 return BREAK_NOT_ALLOWED$1; 9920 } 9921 // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix. 9922 if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) || 9923 (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) { 9924 return BREAK_NOT_ALLOWED$1; 9925 } 9926 // LB25 Do not break between the following pairs of classes relevant to numbers: 9927 if ( 9928 // (PR | PO) à ( OP | HY )? NU 9929 ([PR, PO].indexOf(current) !== -1 && 9930 (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) || 9931 // ( OP | HY ) à NU 9932 ([OP, HY].indexOf(current) !== -1 && next === NU) || 9933 // NU à (NU | SY | IS) 9934 (current === NU && [NU, SY, IS].indexOf(next) !== -1)) { 9935 return BREAK_NOT_ALLOWED$1; 9936 } 9937 // NU (NU | SY | IS)* à (NU | SY | IS | CL | CP) 9938 if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) { 9939 var prevIndex = currentIndex; 9940 while (prevIndex >= 0) { 9941 var type = classTypes[prevIndex]; 9942 if (type === NU) { 9943 return BREAK_NOT_ALLOWED$1; 9944 } 9945 else if ([SY, IS].indexOf(type) !== -1) { 9946 prevIndex--; 9947 } 9948 else { 9949 break; 9950 } 9951 } 9952 } 9953 // NU (NU | SY | IS)* (CL | CP)? à (PO | PR)) 9954 if ([PR, PO].indexOf(next) !== -1) { 9955 var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex; 9956 while (prevIndex >= 0) { 9957 var type = classTypes[prevIndex]; 9958 if (type === NU) { 9959 return BREAK_NOT_ALLOWED$1; 9960 } 9961 else if ([SY, IS].indexOf(type) !== -1) { 9962 prevIndex--; 9963 } 9964 else { 9965 break; 9966 } 9967 } 9968 } 9969 // LB26 Do not break a Korean syllable. 9970 if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) || 9971 ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) || 9972 ([JT, H3].indexOf(current) !== -1 && next === JT)) { 9973 return BREAK_NOT_ALLOWED$1; 9974 } 9975 // LB27 Treat a Korean Syllable Block the same as ID. 9976 if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) || 9977 (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) { 9978 return BREAK_NOT_ALLOWED$1; 9979 } 9980 // LB28 Do not break between alphabetics (âatâ). 9981 if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) { 9982 return BREAK_NOT_ALLOWED$1; 9983 } 9984 // LB29 Do not break between numeric punctuation and alphabetics (âe.g.â). 9985 if (current === IS && ALPHABETICS.indexOf(next) !== -1) { 9986 return BREAK_NOT_ALLOWED$1; 9987 }
vendor: 124,595 bytes, lines 9988-13048
9988 // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses. 9989 if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 && 9990 next === OP && 9991 ea_OP.indexOf(codePoints[afterIndex]) === -1) || 9992 (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) { 9993 return BREAK_NOT_ALLOWED$1; 9994 } 9995 // LB30a Break between two regional indicator symbols if and only if there are an even number of regional 9996 // indicators preceding the position of the break. 9997 if (current === RI$1 && next === RI$1) { 9998 var i = indicies[currentIndex]; 9999 var count = 1; 10000 while (i > 0) { 10001 i--; 10002 if (classTypes[i] === RI$1) { 10003 count++; 10004 } 10005 else { 10006 break; 10007 } 10008 } 10009 if (count % 2 !== 0) { 10010 return BREAK_NOT_ALLOWED$1; 10011 } 10012 } 10013 // LB30b Do not break between an emoji base and an emoji modifier. 10014 if (current === EB && next === EM) { 10015 return BREAK_NOT_ALLOWED$1; 10016 } 10017 return BREAK_ALLOWED$1; 10018 }; 10019 var cssFormattedClasses = function (codePoints, options) { 10020 if (!options) { 10021 options = { lineBreak: 'normal', wordBreak: 'normal' }; 10022 } 10023 var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2]; 10024 if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') { 10025 classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); }); 10026 } 10027 var forbiddenBreakpoints = options.wordBreak === 'keep-all' 10028 ? isLetterNumber.map(function (letterNumber, i) { 10029 return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff; 10030 }) 10031 : undefined; 10032 return [indicies, classTypes, forbiddenBreakpoints]; 10033 }; 10034 var Break = /** @class */ (function () { 10035 function Break(codePoints, lineBreak, start, end) { 10036 this.codePoints = codePoints; 10037 this.required = lineBreak === BREAK_MANDATORY; 10038 this.start = start; 10039 this.end = end; 10040 } 10041 Break.prototype.slice = function () { 10042 return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end)); 10043 }; 10044 return Break; 10045 }()); 10046 var LineBreaker = function (str, options) { 10047 var codePoints = toCodePoints$1(str); 10048 var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2]; 10049 var length = codePoints.length; 10050 var lastEnd = 0; 10051 var nextIndex = 0; 10052 return { 10053 next: function () { 10054 if (nextIndex >= length) { 10055 return { done: true, value: null }; 10056 } 10057 var lineBreak = BREAK_NOT_ALLOWED$1; 10058 while (nextIndex < length && 10059 (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) === 10060 BREAK_NOT_ALLOWED$1) { } 10061 if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) { 10062 var value = new Break(codePoints, lineBreak, lastEnd, nextIndex); 10063 lastEnd = nextIndex; 10064 return { value: value, done: false }; 10065 } 10066 return { done: true, value: null }; 10067 }, 10068 }; 10069 }; 10070 10071 // https://www.w3.org/TR/css-syntax-3 10072 var FLAG_UNRESTRICTED = 1 << 0; 10073 var FLAG_ID = 1 << 1; 10074 var FLAG_INTEGER = 1 << 2; 10075 var FLAG_NUMBER = 1 << 3; 10076 var LINE_FEED = 0x000a; 10077 var SOLIDUS = 0x002f; 10078 var REVERSE_SOLIDUS = 0x005c; 10079 var CHARACTER_TABULATION = 0x0009; 10080 var SPACE = 0x0020; 10081 var QUOTATION_MARK = 0x0022; 10082 var EQUALS_SIGN = 0x003d; 10083 var NUMBER_SIGN = 0x0023; 10084 var DOLLAR_SIGN = 0x0024; 10085 var PERCENTAGE_SIGN = 0x0025; 10086 var APOSTROPHE = 0x0027; 10087 var LEFT_PARENTHESIS = 0x0028; 10088 var RIGHT_PARENTHESIS = 0x0029; 10089 var LOW_LINE = 0x005f; 10090 var HYPHEN_MINUS = 0x002d; 10091 var EXCLAMATION_MARK = 0x0021; 10092 var LESS_THAN_SIGN = 0x003c; 10093 var GREATER_THAN_SIGN = 0x003e; 10094 var COMMERCIAL_AT = 0x0040; 10095 var LEFT_SQUARE_BRACKET = 0x005b; 10096 var RIGHT_SQUARE_BRACKET = 0x005d; 10097 var CIRCUMFLEX_ACCENT = 0x003d; 10098 var LEFT_CURLY_BRACKET = 0x007b; 10099 var QUESTION_MARK = 0x003f; 10100 var RIGHT_CURLY_BRACKET = 0x007d; 10101 var VERTICAL_LINE = 0x007c; 10102 var TILDE = 0x007e; 10103 var CONTROL = 0x0080; 10104 var REPLACEMENT_CHARACTER = 0xfffd; 10105 var ASTERISK = 0x002a; 10106 var PLUS_SIGN = 0x002b; 10107 var COMMA = 0x002c; 10108 var COLON = 0x003a; 10109 var SEMICOLON = 0x003b; 10110 var FULL_STOP = 0x002e; 10111 var NULL = 0x0000; 10112 var BACKSPACE = 0x0008; 10113 var LINE_TABULATION = 0x000b; 10114 var SHIFT_OUT = 0x000e; 10115 var INFORMATION_SEPARATOR_ONE = 0x001f; 10116 var DELETE = 0x007f; 10117 var EOF = -1; 10118 var ZERO = 0x0030; 10119 var a = 0x0061; 10120 var e = 0x0065; 10121 var f = 0x0066; 10122 var u = 0x0075; 10123 var z = 0x007a; 10124 var A = 0x0041; 10125 var E = 0x0045; 10126 var F = 0x0046; 10127 var U = 0x0055; 10128 var Z = 0x005a; 10129 var isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; }; 10130 var isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; }; 10131 var isHex = function (codePoint) { 10132 return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f); 10133 }; 10134 var isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; }; 10135 var isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; }; 10136 var isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); }; 10137 var isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; }; 10138 var isWhiteSpace = function (codePoint) { 10139 return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE; 10140 }; 10141 var isNameStartCodePoint = function (codePoint) { 10142 return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE; 10143 }; 10144 var isNameCodePoint = function (codePoint) { 10145 return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS; 10146 }; 10147 var isNonPrintableCodePoint = function (codePoint) { 10148 return ((codePoint >= NULL && codePoint <= BACKSPACE) || 10149 codePoint === LINE_TABULATION || 10150 (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) || 10151 codePoint === DELETE); 10152 }; 10153 var isValidEscape = function (c1, c2) { 10154 if (c1 !== REVERSE_SOLIDUS) { 10155 return false; 10156 } 10157 return c2 !== LINE_FEED; 10158 }; 10159 var isIdentifierStart = function (c1, c2, c3) { 10160 if (c1 === HYPHEN_MINUS) { 10161 return isNameStartCodePoint(c2) || isValidEscape(c2, c3); 10162 } 10163 else if (isNameStartCodePoint(c1)) { 10164 return true; 10165 } 10166 else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) { 10167 return true; 10168 } 10169 return false; 10170 }; 10171 var isNumberStart = function (c1, c2, c3) { 10172 if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) { 10173 if (isDigit(c2)) { 10174 return true; 10175 } 10176 return c2 === FULL_STOP && isDigit(c3); 10177 } 10178 if (c1 === FULL_STOP) { 10179 return isDigit(c2); 10180 } 10181 return isDigit(c1); 10182 }; 10183 var stringToNumber = function (codePoints) { 10184 var c = 0; 10185 var sign = 1; 10186 if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) { 10187 if (codePoints[c] === HYPHEN_MINUS) { 10188 sign = -1; 10189 } 10190 c++; 10191 } 10192 var integers = []; 10193 while (isDigit(codePoints[c])) { 10194 integers.push(codePoints[c++]); 10195 } 10196 var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0; 10197 if (codePoints[c] === FULL_STOP) { 10198 c++; 10199 } 10200 var fraction = []; 10201 while (isDigit(codePoints[c])) { 10202 fraction.push(codePoints[c++]); 10203 } 10204 var fracd = fraction.length; 10205 var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0; 10206 if (codePoints[c] === E || codePoints[c] === e) { 10207 c++; 10208 } 10209 var expsign = 1; 10210 if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) { 10211 if (codePoints[c] === HYPHEN_MINUS) { 10212 expsign = -1; 10213 } 10214 c++; 10215 } 10216 var exponent = []; 10217 while (isDigit(codePoints[c])) { 10218 exponent.push(codePoints[c++]); 10219 } 10220 var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0; 10221 return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp); 10222 }; 10223 var LEFT_PARENTHESIS_TOKEN = { 10224 type: 2 /* LEFT_PARENTHESIS_TOKEN */ 10225 }; 10226 var RIGHT_PARENTHESIS_TOKEN = { 10227 type: 3 /* RIGHT_PARENTHESIS_TOKEN */ 10228 }; 10229 var COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ }; 10230 var SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ }; 10231 var PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ }; 10232 var COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ }; 10233 var DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ }; 10234 var INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ }; 10235 var LEFT_CURLY_BRACKET_TOKEN = { 10236 type: 11 /* LEFT_CURLY_BRACKET_TOKEN */ 10237 }; 10238 var RIGHT_CURLY_BRACKET_TOKEN = { 10239 type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */ 10240 }; 10241 var SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ }; 10242 var BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ }; 10243 var BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ }; 10244 var CDO_TOKEN = { type: 25 /* CDO_TOKEN */ }; 10245 var CDC_TOKEN = { type: 24 /* CDC_TOKEN */ }; 10246 var COLON_TOKEN = { type: 26 /* COLON_TOKEN */ }; 10247 var SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ }; 10248 var LEFT_SQUARE_BRACKET_TOKEN = { 10249 type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */ 10250 }; 10251 var RIGHT_SQUARE_BRACKET_TOKEN = { 10252 type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */ 10253 }; 10254 var WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ }; 10255 var EOF_TOKEN = { type: 32 /* EOF_TOKEN */ }; 10256 var Tokenizer = /** @class */ (function () { 10257 function Tokenizer() { 10258 this._value = []; 10259 } 10260 Tokenizer.prototype.write = function (chunk) { 10261 this._value = this._value.concat(toCodePoints$1(chunk)); 10262 }; 10263 Tokenizer.prototype.read = function () { 10264 var tokens = []; 10265 var token = this.consumeToken(); 10266 while (token !== EOF_TOKEN) { 10267 tokens.push(token); 10268 token = this.consumeToken(); 10269 } 10270 return tokens; 10271 }; 10272 Tokenizer.prototype.consumeToken = function () { 10273 var codePoint = this.consumeCodePoint(); 10274 switch (codePoint) { 10275 case QUOTATION_MARK: 10276 return this.consumeStringToken(QUOTATION_MARK); 10277 case NUMBER_SIGN: 10278 var c1 = this.peekCodePoint(0); 10279 var c2 = this.peekCodePoint(1); 10280 var c3 = this.peekCodePoint(2); 10281 if (isNameCodePoint(c1) || isValidEscape(c2, c3)) { 10282 var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED; 10283 var value = this.consumeName(); 10284 return { type: 5 /* HASH_TOKEN */, value: value, flags: flags }; 10285 } 10286 break; 10287 case DOLLAR_SIGN: 10288 if (this.peekCodePoint(0) === EQUALS_SIGN) { 10289 this.consumeCodePoint(); 10290 return SUFFIX_MATCH_TOKEN; 10291 } 10292 break; 10293 case APOSTROPHE: 10294 return this.consumeStringToken(APOSTROPHE); 10295 case LEFT_PARENTHESIS: 10296 return LEFT_PARENTHESIS_TOKEN; 10297 case RIGHT_PARENTHESIS: 10298 return RIGHT_PARENTHESIS_TOKEN; 10299 case ASTERISK: 10300 if (this.peekCodePoint(0) === EQUALS_SIGN) { 10301 this.consumeCodePoint(); 10302 return SUBSTRING_MATCH_TOKEN; 10303 } 10304 break; 10305 case PLUS_SIGN: 10306 if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) { 10307 this.reconsumeCodePoint(codePoint); 10308 return this.consumeNumericToken(); 10309 } 10310 break; 10311 case COMMA: 10312 return COMMA_TOKEN; 10313 case HYPHEN_MINUS: 10314 var e1 = codePoint; 10315 var e2 = this.peekCodePoint(0); 10316 var e3 = this.peekCodePoint(1); 10317 if (isNumberStart(e1, e2, e3)) { 10318 this.reconsumeCodePoint(codePoint); 10319 return this.consumeNumericToken(); 10320 } 10321 if (isIdentifierStart(e1, e2, e3)) { 10322 this.reconsumeCodePoint(codePoint); 10323 return this.consumeIdentLikeToken(); 10324 } 10325 if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) { 10326 this.consumeCodePoint(); 10327 this.consumeCodePoint(); 10328 return CDC_TOKEN; 10329 } 10330 break; 10331 case FULL_STOP: 10332 if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) { 10333 this.reconsumeCodePoint(codePoint); 10334 return this.consumeNumericToken(); 10335 } 10336 break; 10337 case SOLIDUS: 10338 if (this.peekCodePoint(0) === ASTERISK) { 10339 this.consumeCodePoint(); 10340 while (true) { 10341 var c = this.consumeCodePoint(); 10342 if (c === ASTERISK) { 10343 c = this.consumeCodePoint(); 10344 if (c === SOLIDUS) { 10345 return this.consumeToken(); 10346 } 10347 } 10348 if (c === EOF) { 10349 return this.consumeToken(); 10350 } 10351 } 10352 } 10353 break; 10354 case COLON: 10355 return COLON_TOKEN; 10356 case SEMICOLON: 10357 return SEMICOLON_TOKEN; 10358 case LESS_THAN_SIGN: 10359 if (this.peekCodePoint(0) === EXCLAMATION_MARK && 10360 this.peekCodePoint(1) === HYPHEN_MINUS && 10361 this.peekCodePoint(2) === HYPHEN_MINUS) { 10362 this.consumeCodePoint(); 10363 this.consumeCodePoint(); 10364 return CDO_TOKEN; 10365 } 10366 break; 10367 case COMMERCIAL_AT: 10368 var a1 = this.peekCodePoint(0); 10369 var a2 = this.peekCodePoint(1); 10370 var a3 = this.peekCodePoint(2); 10371 if (isIdentifierStart(a1, a2, a3)) { 10372 var value = this.consumeName(); 10373 return { type: 7 /* AT_KEYWORD_TOKEN */, value: value }; 10374 } 10375 break; 10376 case LEFT_SQUARE_BRACKET: 10377 return LEFT_SQUARE_BRACKET_TOKEN; 10378 case REVERSE_SOLIDUS: 10379 if (isValidEscape(codePoint, this.peekCodePoint(0))) { 10380 this.reconsumeCodePoint(codePoint); 10381 return this.consumeIdentLikeToken(); 10382 } 10383 break; 10384 case RIGHT_SQUARE_BRACKET: 10385 return RIGHT_SQUARE_BRACKET_TOKEN; 10386 case CIRCUMFLEX_ACCENT: 10387 if (this.peekCodePoint(0) === EQUALS_SIGN) { 10388 this.consumeCodePoint(); 10389 return PREFIX_MATCH_TOKEN; 10390 } 10391 break; 10392 case LEFT_CURLY_BRACKET: 10393 return LEFT_CURLY_BRACKET_TOKEN; 10394 case RIGHT_CURLY_BRACKET: 10395 return RIGHT_CURLY_BRACKET_TOKEN; 10396 case u: 10397 case U: 10398 var u1 = this.peekCodePoint(0); 10399 var u2 = this.peekCodePoint(1); 10400 if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) { 10401 this.consumeCodePoint(); 10402 this.consumeUnicodeRangeToken(); 10403 } 10404 this.reconsumeCodePoint(codePoint); 10405 return this.consumeIdentLikeToken(); 10406 case VERTICAL_LINE: 10407 if (this.peekCodePoint(0) === EQUALS_SIGN) { 10408 this.consumeCodePoint(); 10409 return DASH_MATCH_TOKEN; 10410 } 10411 if (this.peekCodePoint(0) === VERTICAL_LINE) { 10412 this.consumeCodePoint(); 10413 return COLUMN_TOKEN; 10414 } 10415 break; 10416 case TILDE: 10417 if (this.peekCodePoint(0) === EQUALS_SIGN) { 10418 this.consumeCodePoint(); 10419 return INCLUDE_MATCH_TOKEN; 10420 } 10421 break; 10422 case EOF: 10423 return EOF_TOKEN; 10424 } 10425 if (isWhiteSpace(codePoint)) { 10426 this.consumeWhiteSpace(); 10427 return WHITESPACE_TOKEN; 10428 } 10429 if (isDigit(codePoint)) { 10430 this.reconsumeCodePoint(codePoint); 10431 return this.consumeNumericToken(); 10432 } 10433 if (isNameStartCodePoint(codePoint)) { 10434 this.reconsumeCodePoint(codePoint); 10435 return this.consumeIdentLikeToken(); 10436 } 10437 return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) }; 10438 }; 10439 Tokenizer.prototype.consumeCodePoint = function () { 10440 var value = this._value.shift(); 10441 return typeof value === 'undefined' ? -1 : value; 10442 }; 10443 Tokenizer.prototype.reconsumeCodePoint = function (codePoint) { 10444 this._value.unshift(codePoint); 10445 }; 10446 Tokenizer.prototype.peekCodePoint = function (delta) { 10447 if (delta >= this._value.length) { 10448 return -1; 10449 } 10450 return this._value[delta]; 10451 }; 10452 Tokenizer.prototype.consumeUnicodeRangeToken = function () { 10453 var digits = []; 10454 var codePoint = this.consumeCodePoint(); 10455 while (isHex(codePoint) && digits.length < 6) { 10456 digits.push(codePoint); 10457 codePoint = this.consumeCodePoint(); 10458 } 10459 var questionMarks = false; 10460 while (codePoint === QUESTION_MARK && digits.length < 6) { 10461 digits.push(codePoint); 10462 codePoint = this.consumeCodePoint(); 10463 questionMarks = true; 10464 } 10465 if (questionMarks) { 10466 var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16); 10467 var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16); 10468 return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end }; 10469 } 10470 var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16); 10471 if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) { 10472 this.consumeCodePoint(); 10473 codePoint = this.consumeCodePoint(); 10474 var endDigits = []; 10475 while (isHex(codePoint) && endDigits.length < 6) { 10476 endDigits.push(codePoint); 10477 codePoint = this.consumeCodePoint(); 10478 } 10479 var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16); 10480 return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end }; 10481 } 10482 else { 10483 return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start }; 10484 } 10485 }; 10486 Tokenizer.prototype.consumeIdentLikeToken = function () { 10487 var value = this.consumeName(); 10488 if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) { 10489 this.consumeCodePoint(); 10490 return this.consumeUrlToken(); 10491 } 10492 else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) { 10493 this.consumeCodePoint(); 10494 return { type: 19 /* FUNCTION_TOKEN */, value: value }; 10495 } 10496 return { type: 20 /* IDENT_TOKEN */, value: value }; 10497 }; 10498 Tokenizer.prototype.consumeUrlToken = function () { 10499 var value = []; 10500 this.consumeWhiteSpace(); 10501 if (this.peekCodePoint(0) === EOF) { 10502 return { type: 22 /* URL_TOKEN */, value: '' }; 10503 } 10504 var next = this.peekCodePoint(0); 10505 if (next === APOSTROPHE || next === QUOTATION_MARK) { 10506 var stringToken = this.consumeStringToken(this.consumeCodePoint()); 10507 if (stringToken.type === 0 /* STRING_TOKEN */) { 10508 this.consumeWhiteSpace(); 10509 if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) { 10510 this.consumeCodePoint(); 10511 return { type: 22 /* URL_TOKEN */, value: stringToken.value }; 10512 } 10513 } 10514 this.consumeBadUrlRemnants(); 10515 return BAD_URL_TOKEN; 10516 } 10517 while (true) { 10518 var codePoint = this.consumeCodePoint(); 10519 if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) { 10520 return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) }; 10521 } 10522 else if (isWhiteSpace(codePoint)) { 10523 this.consumeWhiteSpace(); 10524 if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) { 10525 this.consumeCodePoint(); 10526 return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) }; 10527 } 10528 this.consumeBadUrlRemnants(); 10529 return BAD_URL_TOKEN; 10530 } 10531 else if (codePoint === QUOTATION_MARK || 10532 codePoint === APOSTROPHE || 10533 codePoint === LEFT_PARENTHESIS || 10534 isNonPrintableCodePoint(codePoint)) { 10535 this.consumeBadUrlRemnants(); 10536 return BAD_URL_TOKEN; 10537 } 10538 else if (codePoint === REVERSE_SOLIDUS) { 10539 if (isValidEscape(codePoint, this.peekCodePoint(0))) { 10540 value.push(this.consumeEscapedCodePoint()); 10541 } 10542 else { 10543 this.consumeBadUrlRemnants(); 10544 return BAD_URL_TOKEN; 10545 } 10546 } 10547 else { 10548 value.push(codePoint); 10549 } 10550 } 10551 }; 10552 Tokenizer.prototype.consumeWhiteSpace = function () { 10553 while (isWhiteSpace(this.peekCodePoint(0))) { 10554 this.consumeCodePoint(); 10555 } 10556 }; 10557 Tokenizer.prototype.consumeBadUrlRemnants = function () { 10558 while (true) { 10559 var codePoint = this.consumeCodePoint(); 10560 if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) { 10561 return; 10562 } 10563 if (isValidEscape(codePoint, this.peekCodePoint(0))) { 10564 this.consumeEscapedCodePoint(); 10565 } 10566 } 10567 }; 10568 Tokenizer.prototype.consumeStringSlice = function (count) { 10569 var SLICE_STACK_SIZE = 50000; 10570 var value = ''; 10571 while (count > 0) { 10572 var amount = Math.min(SLICE_STACK_SIZE, count); 10573 value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount)); 10574 count -= amount; 10575 } 10576 this._value.shift(); 10577 return value; 10578 }; 10579 Tokenizer.prototype.consumeStringToken = function (endingCodePoint) { 10580 var value = ''; 10581 var i = 0; 10582 do { 10583 var codePoint = this._value[i]; 10584 if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) { 10585 value += this.consumeStringSlice(i); 10586 return { type: 0 /* STRING_TOKEN */, value: value }; 10587 } 10588 if (codePoint === LINE_FEED) { 10589 this._value.splice(0, i); 10590 return BAD_STRING_TOKEN; 10591 } 10592 if (codePoint === REVERSE_SOLIDUS) { 10593 var next = this._value[i + 1]; 10594 if (next !== EOF && next !== undefined) { 10595 if (next === LINE_FEED) { 10596 value += this.consumeStringSlice(i); 10597 i = -1; 10598 this._value.shift(); 10599 } 10600 else if (isValidEscape(codePoint, next)) { 10601 value += this.consumeStringSlice(i); 10602 value += fromCodePoint$1(this.consumeEscapedCodePoint()); 10603 i = -1; 10604 } 10605 } 10606 } 10607 i++; 10608 } while (true); 10609 }; 10610 Tokenizer.prototype.consumeNumber = function () { 10611 var repr = []; 10612 var type = FLAG_INTEGER; 10613 var c1 = this.peekCodePoint(0); 10614 if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) { 10615 repr.push(this.consumeCodePoint()); 10616 } 10617 while (isDigit(this.peekCodePoint(0))) { 10618 repr.push(this.consumeCodePoint()); 10619 } 10620 c1 = this.peekCodePoint(0); 10621 var c2 = this.peekCodePoint(1); 10622 if (c1 === FULL_STOP && isDigit(c2)) { 10623 repr.push(this.consumeCodePoint(), this.consumeCodePoint()); 10624 type = FLAG_NUMBER; 10625 while (isDigit(this.peekCodePoint(0))) { 10626 repr.push(this.consumeCodePoint()); 10627 } 10628 } 10629 c1 = this.peekCodePoint(0); 10630 c2 = this.peekCodePoint(1); 10631 var c3 = this.peekCodePoint(2); 10632 if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) { 10633 repr.push(this.consumeCodePoint(), this.consumeCodePoint()); 10634 type = FLAG_NUMBER; 10635 while (isDigit(this.peekCodePoint(0))) { 10636 repr.push(this.consumeCodePoint()); 10637 } 10638 } 10639 return [stringToNumber(repr), type]; 10640 }; 10641 Tokenizer.prototype.consumeNumericToken = function () { 10642 var _a = this.consumeNumber(), number = _a[0], flags = _a[1]; 10643 var c1 = this.peekCodePoint(0); 10644 var c2 = this.peekCodePoint(1); 10645 var c3 = this.peekCodePoint(2); 10646 if (isIdentifierStart(c1, c2, c3)) { 10647 var unit = this.consumeName(); 10648 return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit }; 10649 } 10650 if (c1 === PERCENTAGE_SIGN) { 10651 this.consumeCodePoint(); 10652 return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags }; 10653 } 10654 return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags }; 10655 }; 10656 Tokenizer.prototype.consumeEscapedCodePoint = function () { 10657 var codePoint = this.consumeCodePoint(); 10658 if (isHex(codePoint)) { 10659 var hex = fromCodePoint$1(codePoint); 10660 while (isHex(this.peekCodePoint(0)) && hex.length < 6) { 10661 hex += fromCodePoint$1(this.consumeCodePoint()); 10662 } 10663 if (isWhiteSpace(this.peekCodePoint(0))) { 10664 this.consumeCodePoint(); 10665 } 10666 var hexCodePoint = parseInt(hex, 16); 10667 if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) { 10668 return REPLACEMENT_CHARACTER; 10669 } 10670 return hexCodePoint; 10671 } 10672 if (codePoint === EOF) { 10673 return REPLACEMENT_CHARACTER; 10674 } 10675 return codePoint; 10676 }; 10677 Tokenizer.prototype.consumeName = function () { 10678 var result = ''; 10679 while (true) { 10680 var codePoint = this.consumeCodePoint(); 10681 if (isNameCodePoint(codePoint)) { 10682 result += fromCodePoint$1(codePoint); 10683 } 10684 else if (isValidEscape(codePoint, this.peekCodePoint(0))) { 10685 result += fromCodePoint$1(this.consumeEscapedCodePoint()); 10686 } 10687 else { 10688 this.reconsumeCodePoint(codePoint); 10689 return result; 10690 } 10691 } 10692 }; 10693 return Tokenizer; 10694 }()); 10695 10696 var Parser = /** @class */ (function () { 10697 function Parser(tokens) { 10698 this._tokens = tokens; 10699 } 10700 Parser.create = function (value) { 10701 var tokenizer = new Tokenizer(); 10702 tokenizer.write(value); 10703 return new Parser(tokenizer.read()); 10704 }; 10705 Parser.parseValue = function (value) { 10706 return Parser.create(value).parseComponentValue(); 10707 }; 10708 Parser.parseValues = function (value) { 10709 return Parser.create(value).parseComponentValues(); 10710 }; 10711 Parser.prototype.parseComponentValue = function () { 10712 var token = this.consumeToken(); 10713 while (token.type === 31 /* WHITESPACE_TOKEN */) { 10714 token = this.consumeToken(); 10715 } 10716 if (token.type === 32 /* EOF_TOKEN */) { 10717 throw new SyntaxError("Error parsing CSS component value, unexpected EOF"); 10718 } 10719 this.reconsumeToken(token); 10720 var value = this.consumeComponentValue(); 10721 do { 10722 token = this.consumeToken(); 10723 } while (token.type === 31 /* WHITESPACE_TOKEN */); 10724 if (token.type === 32 /* EOF_TOKEN */) { 10725 return value; 10726 } 10727 throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one"); 10728 }; 10729 Parser.prototype.parseComponentValues = function () { 10730 var values = []; 10731 while (true) { 10732 var value = this.consumeComponentValue(); 10733 if (value.type === 32 /* EOF_TOKEN */) { 10734 return values; 10735 } 10736 values.push(value); 10737 values.push(); 10738 } 10739 }; 10740 Parser.prototype.consumeComponentValue = function () { 10741 var token = this.consumeToken(); 10742 switch (token.type) { 10743 case 11 /* LEFT_CURLY_BRACKET_TOKEN */: 10744 case 28 /* LEFT_SQUARE_BRACKET_TOKEN */: 10745 case 2 /* LEFT_PARENTHESIS_TOKEN */: 10746 return this.consumeSimpleBlock(token.type); 10747 case 19 /* FUNCTION_TOKEN */: 10748 return this.consumeFunction(token); 10749 } 10750 return token; 10751 }; 10752 Parser.prototype.consumeSimpleBlock = function (type) { 10753 var block = { type: type, values: [] }; 10754 var token = this.consumeToken(); 10755 while (true) { 10756 if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) { 10757 return block; 10758 } 10759 this.reconsumeToken(token); 10760 block.values.push(this.consumeComponentValue()); 10761 token = this.consumeToken(); 10762 } 10763 }; 10764 Parser.prototype.consumeFunction = function (functionToken) { 10765 var cssFunction = { 10766 name: functionToken.value, 10767 values: [], 10768 type: 18 /* FUNCTION */ 10769 }; 10770 while (true) { 10771 var token = this.consumeToken(); 10772 if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) { 10773 return cssFunction; 10774 } 10775 this.reconsumeToken(token); 10776 cssFunction.values.push(this.consumeComponentValue()); 10777 } 10778 }; 10779 Parser.prototype.consumeToken = function () { 10780 var token = this._tokens.shift(); 10781 return typeof token === 'undefined' ? EOF_TOKEN : token; 10782 }; 10783 Parser.prototype.reconsumeToken = function (token) { 10784 this._tokens.unshift(token); 10785 }; 10786 return Parser; 10787 }()); 10788 var isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; }; 10789 var isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; }; 10790 var isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; }; 10791 var isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; }; 10792 var isIdentWithValue = function (token, value) { 10793 return isIdentToken(token) && token.value === value; 10794 }; 10795 var nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; }; 10796 var nonFunctionArgSeparator = function (token) { 10797 return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */; 10798 }; 10799 var parseFunctionArgs = function (tokens) { 10800 var args = []; 10801 var arg = []; 10802 tokens.forEach(function (token) { 10803 if (token.type === 4 /* COMMA_TOKEN */) { 10804 if (arg.length === 0) { 10805 throw new Error("Error parsing function args, zero tokens for arg"); 10806 } 10807 args.push(arg); 10808 arg = []; 10809 return; 10810 } 10811 if (token.type !== 31 /* WHITESPACE_TOKEN */) { 10812 arg.push(token); 10813 } 10814 }); 10815 if (arg.length) { 10816 args.push(arg); 10817 } 10818 return args; 10819 }; 10820 var isEndingTokenFor = function (token, type) { 10821 if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) { 10822 return true; 10823 } 10824 if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) { 10825 return true; 10826 } 10827 return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */; 10828 }; 10829 10830 var isLength = function (token) { 10831 return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */; 10832 }; 10833 10834 var isLengthPercentage = function (token) { 10835 return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token); 10836 }; 10837 var parseLengthPercentageTuple = function (tokens) { 10838 return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]]; 10839 }; 10840 var ZERO_LENGTH = { 10841 type: 17 /* NUMBER_TOKEN */, 10842 number: 0, 10843 flags: FLAG_INTEGER 10844 }; 10845 var FIFTY_PERCENT = { 10846 type: 16 /* PERCENTAGE_TOKEN */, 10847 number: 50, 10848 flags: FLAG_INTEGER 10849 }; 10850 var HUNDRED_PERCENT = { 10851 type: 16 /* PERCENTAGE_TOKEN */, 10852 number: 100, 10853 flags: FLAG_INTEGER 10854 }; 10855 var getAbsoluteValueForTuple = function (tuple, width, height) { 10856 var x = tuple[0], y = tuple[1]; 10857 return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)]; 10858 }; 10859 var getAbsoluteValue = function (token, parent) { 10860 if (token.type === 16 /* PERCENTAGE_TOKEN */) { 10861 return (token.number / 100) * parent; 10862 } 10863 if (isDimensionToken(token)) { 10864 switch (token.unit) { 10865 case 'rem': 10866 case 'em': 10867 return 16 * token.number; // TODO use correct font-size 10868 case 'px': 10869 default: 10870 return token.number; 10871 } 10872 } 10873 return token.number; 10874 }; 10875 10876 var DEG = 'deg'; 10877 var GRAD = 'grad'; 10878 var RAD = 'rad'; 10879 var TURN = 'turn'; 10880 var angle = { 10881 name: 'angle', 10882 parse: function (_context, value) { 10883 if (value.type === 15 /* DIMENSION_TOKEN */) { 10884 switch (value.unit) { 10885 case DEG: 10886 return (Math.PI * value.number) / 180; 10887 case GRAD: 10888 return (Math.PI / 200) * value.number; 10889 case RAD: 10890 return value.number; 10891 case TURN: 10892 return Math.PI * 2 * value.number; 10893 } 10894 } 10895 throw new Error("Unsupported angle type"); 10896 } 10897 }; 10898 var isAngle = function (value) { 10899 if (value.type === 15 /* DIMENSION_TOKEN */) { 10900 if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) { 10901 return true; 10902 } 10903 } 10904 return false; 10905 }; 10906 var parseNamedSide = function (tokens) { 10907 var sideOrCorner = tokens 10908 .filter(isIdentToken) 10909 .map(function (ident) { return ident.value; }) 10910 .join(' '); 10911 switch (sideOrCorner) { 10912 case 'to bottom right': 10913 case 'to right bottom': 10914 case 'left top': 10915 case 'top left': 10916 return [ZERO_LENGTH, ZERO_LENGTH]; 10917 case 'to top': 10918 case 'bottom': 10919 return deg(0); 10920 case 'to bottom left': 10921 case 'to left bottom': 10922 case 'right top': 10923 case 'top right': 10924 return [ZERO_LENGTH, HUNDRED_PERCENT]; 10925 case 'to right': 10926 case 'left': 10927 return deg(90); 10928 case 'to top left': 10929 case 'to left top': 10930 case 'right bottom': 10931 case 'bottom right': 10932 return [HUNDRED_PERCENT, HUNDRED_PERCENT]; 10933 case 'to bottom': 10934 case 'top': 10935 return deg(180); 10936 case 'to top right': 10937 case 'to right top': 10938 case 'left bottom': 10939 case 'bottom left': 10940 return [HUNDRED_PERCENT, ZERO_LENGTH]; 10941 case 'to left': 10942 case 'right': 10943 return deg(270); 10944 } 10945 return 0; 10946 }; 10947 var deg = function (deg) { return (Math.PI * deg) / 180; }; 10948 10949 var color$1 = { 10950 name: 'color', 10951 parse: function (context, value) { 10952 if (value.type === 18 /* FUNCTION */) { 10953 var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name]; 10954 if (typeof colorFunction === 'undefined') { 10955 throw new Error("Attempting to parse an unsupported color function \"" + value.name + "\""); 10956 } 10957 return colorFunction(context, value.values); 10958 } 10959 if (value.type === 5 /* HASH_TOKEN */) { 10960 if (value.value.length === 3) { 10961 var r = value.value.substring(0, 1); 10962 var g = value.value.substring(1, 2); 10963 var b = value.value.substring(2, 3); 10964 return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1); 10965 } 10966 if (value.value.length === 4) { 10967 var r = value.value.substring(0, 1); 10968 var g = value.value.substring(1, 2); 10969 var b = value.value.substring(2, 3); 10970 var a = value.value.substring(3, 4); 10971 return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255); 10972 } 10973 if (value.value.length === 6) { 10974 var r = value.value.substring(0, 2); 10975 var g = value.value.substring(2, 4); 10976 var b = value.value.substring(4, 6); 10977 return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1); 10978 } 10979 if (value.value.length === 8) { 10980 var r = value.value.substring(0, 2); 10981 var g = value.value.substring(2, 4); 10982 var b = value.value.substring(4, 6); 10983 var a = value.value.substring(6, 8); 10984 return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255); 10985 } 10986 } 10987 if (value.type === 20 /* IDENT_TOKEN */) { 10988 var namedColor = COLORS[value.value.toUpperCase()]; 10989 if (typeof namedColor !== 'undefined') { 10990 return namedColor; 10991 } 10992 } 10993 return COLORS.TRANSPARENT; 10994 } 10995 }; 10996 var isTransparent = function (color) { return (0xff & color) === 0; }; 10997 var asString = function (color) { 10998 var alpha = 0xff & color; 10999 var blue = 0xff & (color >> 8); 11000 var green = 0xff & (color >> 16); 11001 var red = 0xff & (color >> 24); 11002 return alpha < 255 ? "rgba(" + red + "," + green + "," + blue + "," + alpha / 255 + ")" : "rgb(" + red + "," + green + "," + blue + ")"; 11003 }; 11004 var pack = function (r, g, b, a) { 11005 return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0; 11006 }; 11007 var getTokenColorValue = function (token, i) { 11008 if (token.type === 17 /* NUMBER_TOKEN */) { 11009 return token.number; 11010 } 11011 if (token.type === 16 /* PERCENTAGE_TOKEN */) { 11012 var max = i === 3 ? 1 : 255; 11013 return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max); 11014 } 11015 return 0; 11016 }; 11017 var rgb = function (_context, args) { 11018 var tokens = args.filter(nonFunctionArgSeparator); 11019 if (tokens.length === 3) { 11020 var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2]; 11021 return pack(r, g, b, 1); 11022 } 11023 if (tokens.length === 4) { 11024 var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3]; 11025 return pack(r, g, b, a); 11026 } 11027 return 0; 11028 }; 11029 function hue2rgb(t1, t2, hue) { 11030 if (hue < 0) { 11031 hue += 1; 11032 } 11033 if (hue >= 1) { 11034 hue -= 1; 11035 } 11036 if (hue < 1 / 6) { 11037 return (t2 - t1) * hue * 6 + t1; 11038 } 11039 else if (hue < 1 / 2) { 11040 return t2; 11041 } 11042 else if (hue < 2 / 3) { 11043 return (t2 - t1) * 6 * (2 / 3 - hue) + t1; 11044 } 11045 else { 11046 return t1; 11047 } 11048 } 11049 var hsl = function (context, args) { 11050 var tokens = args.filter(nonFunctionArgSeparator); 11051 var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3]; 11052 var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2); 11053 var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0; 11054 var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0; 11055 var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1; 11056 if (s === 0) { 11057 return pack(l * 255, l * 255, l * 255, 1); 11058 } 11059 var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s; 11060 var t1 = l * 2 - t2; 11061 var r = hue2rgb(t1, t2, h + 1 / 3); 11062 var g = hue2rgb(t1, t2, h); 11063 var b = hue2rgb(t1, t2, h - 1 / 3); 11064 return pack(r * 255, g * 255, b * 255, a); 11065 }; 11066 var SUPPORTED_COLOR_FUNCTIONS = { 11067 hsl: hsl, 11068 hsla: hsl, 11069 rgb: rgb, 11070 rgba: rgb 11071 }; 11072 var parseColor = function (context, value) { 11073 return color$1.parse(context, Parser.create(value).parseComponentValue()); 11074 }; 11075 var COLORS = { 11076 ALICEBLUE: 0xf0f8ffff, 11077 ANTIQUEWHITE: 0xfaebd7ff, 11078 AQUA: 0x00ffffff, 11079 AQUAMARINE: 0x7fffd4ff, 11080 AZURE: 0xf0ffffff, 11081 BEIGE: 0xf5f5dcff, 11082 BISQUE: 0xffe4c4ff, 11083 BLACK: 0x000000ff, 11084 BLANCHEDALMOND: 0xffebcdff, 11085 BLUE: 0x0000ffff, 11086 BLUEVIOLET: 0x8a2be2ff, 11087 BROWN: 0xa52a2aff, 11088 BURLYWOOD: 0xdeb887ff, 11089 CADETBLUE: 0x5f9ea0ff, 11090 CHARTREUSE: 0x7fff00ff, 11091 CHOCOLATE: 0xd2691eff, 11092 CORAL: 0xff7f50ff, 11093 CORNFLOWERBLUE: 0x6495edff, 11094 CORNSILK: 0xfff8dcff, 11095 CRIMSON: 0xdc143cff, 11096 CYAN: 0x00ffffff, 11097 DARKBLUE: 0x00008bff, 11098 DARKCYAN: 0x008b8bff, 11099 DARKGOLDENROD: 0xb886bbff, 11100 DARKGRAY: 0xa9a9a9ff, 11101 DARKGREEN: 0x006400ff, 11102 DARKGREY: 0xa9a9a9ff, 11103 DARKKHAKI: 0xbdb76bff, 11104 DARKMAGENTA: 0x8b008bff, 11105 DARKOLIVEGREEN: 0x556b2fff, 11106 DARKORANGE: 0xff8c00ff, 11107 DARKORCHID: 0x9932ccff, 11108 DARKRED: 0x8b0000ff, 11109 DARKSALMON: 0xe9967aff, 11110 DARKSEAGREEN: 0x8fbc8fff, 11111 DARKSLATEBLUE: 0x483d8bff, 11112 DARKSLATEGRAY: 0x2f4f4fff, 11113 DARKSLATEGREY: 0x2f4f4fff, 11114 DARKTURQUOISE: 0x00ced1ff, 11115 DARKVIOLET: 0x9400d3ff, 11116 DEEPPINK: 0xff1493ff, 11117 DEEPSKYBLUE: 0x00bfffff, 11118 DIMGRAY: 0x696969ff, 11119 DIMGREY: 0x696969ff, 11120 DODGERBLUE: 0x1e90ffff, 11121 FIREBRICK: 0xb22222ff, 11122 FLORALWHITE: 0xfffaf0ff, 11123 FORESTGREEN: 0x228b22ff, 11124 FUCHSIA: 0xff00ffff, 11125 GAINSBORO: 0xdcdcdcff, 11126 GHOSTWHITE: 0xf8f8ffff, 11127 GOLD: 0xffd700ff, 11128 GOLDENROD: 0xdaa520ff, 11129 GRAY: 0x808080ff, 11130 GREEN: 0x008000ff, 11131 GREENYELLOW: 0xadff2fff, 11132 GREY: 0x808080ff, 11133 HONEYDEW: 0xf0fff0ff, 11134 HOTPINK: 0xff69b4ff, 11135 INDIANRED: 0xcd5c5cff, 11136 INDIGO: 0x4b0082ff, 11137 IVORY: 0xfffff0ff, 11138 KHAKI: 0xf0e68cff, 11139 LAVENDER: 0xe6e6faff, 11140 LAVENDERBLUSH: 0xfff0f5ff, 11141 LAWNGREEN: 0x7cfc00ff, 11142 LEMONCHIFFON: 0xfffacdff, 11143 LIGHTBLUE: 0xadd8e6ff, 11144 LIGHTCORAL: 0xf08080ff, 11145 LIGHTCYAN: 0xe0ffffff, 11146 LIGHTGOLDENRODYELLOW: 0xfafad2ff, 11147 LIGHTGRAY: 0xd3d3d3ff, 11148 LIGHTGREEN: 0x90ee90ff, 11149 LIGHTGREY: 0xd3d3d3ff, 11150 LIGHTPINK: 0xffb6c1ff, 11151 LIGHTSALMON: 0xffa07aff, 11152 LIGHTSEAGREEN: 0x20b2aaff, 11153 LIGHTSKYBLUE: 0x87cefaff, 11154 LIGHTSLATEGRAY: 0x778899ff, 11155 LIGHTSLATEGREY: 0x778899ff, 11156 LIGHTSTEELBLUE: 0xb0c4deff, 11157 LIGHTYELLOW: 0xffffe0ff, 11158 LIME: 0x00ff00ff, 11159 LIMEGREEN: 0x32cd32ff, 11160 LINEN: 0xfaf0e6ff, 11161 MAGENTA: 0xff00ffff, 11162 MAROON: 0x800000ff, 11163 MEDIUMAQUAMARINE: 0x66cdaaff, 11164 MEDIUMBLUE: 0x0000cdff, 11165 MEDIUMORCHID: 0xba55d3ff, 11166 MEDIUMPURPLE: 0x9370dbff, 11167 MEDIUMSEAGREEN: 0x3cb371ff, 11168 MEDIUMSLATEBLUE: 0x7b68eeff, 11169 MEDIUMSPRINGGREEN: 0x00fa9aff, 11170 MEDIUMTURQUOISE: 0x48d1ccff, 11171 MEDIUMVIOLETRED: 0xc71585ff, 11172 MIDNIGHTBLUE: 0x191970ff, 11173 MINTCREAM: 0xf5fffaff, 11174 MISTYROSE: 0xffe4e1ff, 11175 MOCCASIN: 0xffe4b5ff, 11176 NAVAJOWHITE: 0xffdeadff, 11177 NAVY: 0x000080ff, 11178 OLDLACE: 0xfdf5e6ff, 11179 OLIVE: 0x808000ff, 11180 OLIVEDRAB: 0x6b8e23ff, 11181 ORANGE: 0xffa500ff, 11182 ORANGERED: 0xff4500ff, 11183 ORCHID: 0xda70d6ff, 11184 PALEGOLDENROD: 0xeee8aaff, 11185 PALEGREEN: 0x98fb98ff, 11186 PALETURQUOISE: 0xafeeeeff, 11187 PALEVIOLETRED: 0xdb7093ff, 11188 PAPAYAWHIP: 0xffefd5ff, 11189 PEACHPUFF: 0xffdab9ff, 11190 PERU: 0xcd853fff, 11191 PINK: 0xffc0cbff, 11192 PLUM: 0xdda0ddff, 11193 POWDERBLUE: 0xb0e0e6ff, 11194 PURPLE: 0x800080ff, 11195 REBECCAPURPLE: 0x663399ff, 11196 RED: 0xff0000ff, 11197 ROSYBROWN: 0xbc8f8fff, 11198 ROYALBLUE: 0x4169e1ff, 11199 SADDLEBROWN: 0x8b4513ff, 11200 SALMON: 0xfa8072ff, 11201 SANDYBROWN: 0xf4a460ff, 11202 SEAGREEN: 0x2e8b57ff, 11203 SEASHELL: 0xfff5eeff, 11204 SIENNA: 0xa0522dff, 11205 SILVER: 0xc0c0c0ff, 11206 SKYBLUE: 0x87ceebff, 11207 SLATEBLUE: 0x6a5acdff, 11208 SLATEGRAY: 0x708090ff, 11209 SLATEGREY: 0x708090ff, 11210 SNOW: 0xfffafaff, 11211 SPRINGGREEN: 0x00ff7fff, 11212 STEELBLUE: 0x4682b4ff, 11213 TAN: 0xd2b48cff, 11214 TEAL: 0x008080ff, 11215 THISTLE: 0xd8bfd8ff, 11216 TOMATO: 0xff6347ff, 11217 TRANSPARENT: 0x00000000, 11218 TURQUOISE: 0x40e0d0ff, 11219 VIOLET: 0xee82eeff, 11220 WHEAT: 0xf5deb3ff, 11221 WHITE: 0xffffffff, 11222 WHITESMOKE: 0xf5f5f5ff, 11223 YELLOW: 0xffff00ff, 11224 YELLOWGREEN: 0x9acd32ff 11225 }; 11226 11227 var backgroundClip = { 11228 name: 'background-clip', 11229 initialValue: 'border-box', 11230 prefix: false, 11231 type: 1 /* LIST */, 11232 parse: function (_context, tokens) { 11233 return tokens.map(function (token) { 11234 if (isIdentToken(token)) { 11235 switch (token.value) { 11236 case 'padding-box': 11237 return 1 /* PADDING_BOX */; 11238 case 'content-box': 11239 return 2 /* CONTENT_BOX */; 11240 } 11241 } 11242 return 0 /* BORDER_BOX */; 11243 }); 11244 } 11245 }; 11246 11247 var backgroundColor = { 11248 name: "background-color", 11249 initialValue: 'transparent', 11250 prefix: false, 11251 type: 3 /* TYPE_VALUE */, 11252 format: 'color' 11253 }; 11254 11255 var parseColorStop = function (context, args) { 11256 var color = color$1.parse(context, args[0]); 11257 var stop = args[1]; 11258 return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null }; 11259 }; 11260 var processColorStops = function (stops, lineLength) { 11261 var first = stops[0]; 11262 var last = stops[stops.length - 1]; 11263 if (first.stop === null) { 11264 first.stop = ZERO_LENGTH; 11265 } 11266 if (last.stop === null) { 11267 last.stop = HUNDRED_PERCENT; 11268 } 11269 var processStops = []; 11270 var previous = 0; 11271 for (var i = 0; i < stops.length; i++) { 11272 var stop_1 = stops[i].stop; 11273 if (stop_1 !== null) { 11274 var absoluteValue = getAbsoluteValue(stop_1, lineLength); 11275 if (absoluteValue > previous) { 11276 processStops.push(absoluteValue); 11277 } 11278 else { 11279 processStops.push(previous); 11280 } 11281 previous = absoluteValue; 11282 } 11283 else { 11284 processStops.push(null); 11285 } 11286 } 11287 var gapBegin = null; 11288 for (var i = 0; i < processStops.length; i++) { 11289 var stop_2 = processStops[i]; 11290 if (stop_2 === null) { 11291 if (gapBegin === null) { 11292 gapBegin = i; 11293 } 11294 } 11295 else if (gapBegin !== null) { 11296 var gapLength = i - gapBegin; 11297 var beforeGap = processStops[gapBegin - 1]; 11298 var gapValue = (stop_2 - beforeGap) / (gapLength + 1); 11299 for (var g = 1; g <= gapLength; g++) { 11300 processStops[gapBegin + g - 1] = gapValue * g; 11301 } 11302 gapBegin = null; 11303 } 11304 } 11305 return stops.map(function (_a, i) { 11306 var color = _a.color; 11307 return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) }; 11308 }); 11309 }; 11310 var getAngleFromCorner = function (corner, width, height) { 11311 var centerX = width / 2; 11312 var centerY = height / 2; 11313 var x = getAbsoluteValue(corner[0], width) - centerX; 11314 var y = centerY - getAbsoluteValue(corner[1], height); 11315 return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2); 11316 }; 11317 var calculateGradientDirection = function (angle, width, height) { 11318 var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height); 11319 var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian)); 11320 var halfWidth = width / 2; 11321 var halfHeight = height / 2; 11322 var halfLineLength = lineLength / 2; 11323 var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength; 11324 var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength; 11325 return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff]; 11326 }; 11327 var distance = function (a, b) { return Math.sqrt(a * a + b * b); }; 11328 var findCorner = function (width, height, x, y, closest) { 11329 var corners = [ 11330 [0, 0], 11331 [0, height], 11332 [width, 0], 11333 [width, height] 11334 ]; 11335 return corners.reduce(function (stat, corner) { 11336 var cx = corner[0], cy = corner[1]; 11337 var d = distance(x - cx, y - cy); 11338 if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) { 11339 return { 11340 optimumCorner: corner, 11341 optimumDistance: d 11342 }; 11343 } 11344 return stat; 11345 }, { 11346 optimumDistance: closest ? Infinity : -Infinity, 11347 optimumCorner: null 11348 }).optimumCorner; 11349 }; 11350 var calculateRadius = function (gradient, x, y, width, height) { 11351 var rx = 0; 11352 var ry = 0; 11353 switch (gradient.size) { 11354 case 0 /* CLOSEST_SIDE */: 11355 // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradientâs center. 11356 // If the shape is an ellipse, it exactly meets the closest side in each dimension. 11357 if (gradient.shape === 0 /* CIRCLE */) { 11358 rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height)); 11359 } 11360 else if (gradient.shape === 1 /* ELLIPSE */) { 11361 rx = Math.min(Math.abs(x), Math.abs(x - width)); 11362 ry = Math.min(Math.abs(y), Math.abs(y - height)); 11363 } 11364 break; 11365 case 2 /* CLOSEST_CORNER */: 11366 // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradientâs center. 11367 // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified. 11368 if (gradient.shape === 0 /* CIRCLE */) { 11369 rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height)); 11370 } 11371 else if (gradient.shape === 1 /* ELLIPSE */) { 11372 // Compute the ratio ry/rx (which is to be the same as for "closest-side") 11373 var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width)); 11374 var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1]; 11375 rx = distance(cx - x, (cy - y) / c); 11376 ry = c * rx; 11377 } 11378 break; 11379 case 1 /* FARTHEST_SIDE */: 11380 // Same as closest-side, except the ending shape is sized based on the farthest side(s) 11381 if (gradient.shape === 0 /* CIRCLE */) { 11382 rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height)); 11383 } 11384 else if (gradient.shape === 1 /* ELLIPSE */) { 11385 rx = Math.max(Math.abs(x), Math.abs(x - width)); 11386 ry = Math.max(Math.abs(y), Math.abs(y - height)); 11387 } 11388 break; 11389 case 3 /* FARTHEST_CORNER */: 11390 // Same as closest-corner, except the ending shape is sized based on the farthest corner. 11391 // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified. 11392 if (gradient.shape === 0 /* CIRCLE */) { 11393 rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height)); 11394 } 11395 else if (gradient.shape === 1 /* ELLIPSE */) { 11396 // Compute the ratio ry/rx (which is to be the same as for "farthest-side") 11397 var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width)); 11398 var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1]; 11399 rx = distance(cx - x, (cy - y) / c); 11400 ry = c * rx; 11401 } 11402 break; 11403 } 11404 if (Array.isArray(gradient.size)) { 11405 rx = getAbsoluteValue(gradient.size[0], width); 11406 ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx; 11407 } 11408 return [rx, ry]; 11409 }; 11410 11411 var linearGradient = function (context, tokens) { 11412 var angle$1 = deg(180); 11413 var stops = []; 11414 parseFunctionArgs(tokens).forEach(function (arg, i) { 11415 if (i === 0) { 11416 var firstToken = arg[0]; 11417 if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') { 11418 angle$1 = parseNamedSide(arg); 11419 return; 11420 } 11421 else if (isAngle(firstToken)) { 11422 angle$1 = angle.parse(context, firstToken); 11423 return; 11424 } 11425 } 11426 var colorStop = parseColorStop(context, arg); 11427 stops.push(colorStop); 11428 }); 11429 return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ }; 11430 }; 11431 11432 var prefixLinearGradient = function (context, tokens) { 11433 var angle$1 = deg(180); 11434 var stops = []; 11435 parseFunctionArgs(tokens).forEach(function (arg, i) { 11436 if (i === 0) { 11437 var firstToken = arg[0]; 11438 if (firstToken.type === 20 /* IDENT_TOKEN */ && 11439 ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) { 11440 angle$1 = parseNamedSide(arg); 11441 return; 11442 } 11443 else if (isAngle(firstToken)) { 11444 angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360); 11445 return; 11446 } 11447 } 11448 var colorStop = parseColorStop(context, arg); 11449 stops.push(colorStop); 11450 }); 11451 return { 11452 angle: angle$1, 11453 stops: stops, 11454 type: 1 /* LINEAR_GRADIENT */ 11455 }; 11456 }; 11457 11458 var webkitGradient = function (context, tokens) { 11459 var angle = deg(180); 11460 var stops = []; 11461 var type = 1 /* LINEAR_GRADIENT */; 11462 var shape = 0 /* CIRCLE */; 11463 var size = 3 /* FARTHEST_CORNER */; 11464 var position = []; 11465 parseFunctionArgs(tokens).forEach(function (arg, i) { 11466 var firstToken = arg[0]; 11467 if (i === 0) { 11468 if (isIdentToken(firstToken) && firstToken.value === 'linear') { 11469 type = 1 /* LINEAR_GRADIENT */; 11470 return; 11471 } 11472 else if (isIdentToken(firstToken) && firstToken.value === 'radial') { 11473 type = 2 /* RADIAL_GRADIENT */; 11474 return; 11475 } 11476 } 11477 if (firstToken.type === 18 /* FUNCTION */) { 11478 if (firstToken.name === 'from') { 11479 var color = color$1.parse(context, firstToken.values[0]); 11480 stops.push({ stop: ZERO_LENGTH, color: color }); 11481 } 11482 else if (firstToken.name === 'to') { 11483 var color = color$1.parse(context, firstToken.values[0]); 11484 stops.push({ stop: HUNDRED_PERCENT, color: color }); 11485 } 11486 else if (firstToken.name === 'color-stop') { 11487 var values = firstToken.values.filter(nonFunctionArgSeparator); 11488 if (values.length === 2) { 11489 var color = color$1.parse(context, values[1]); 11490 var stop_1 = values[0]; 11491 if (isNumberToken(stop_1)) { 11492 stops.push({ 11493 stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags }, 11494 color: color 11495 }); 11496 } 11497 } 11498 } 11499 } 11500 }); 11501 return type === 1 /* LINEAR_GRADIENT */ 11502 ? { 11503 angle: (angle + deg(180)) % deg(360), 11504 stops: stops, 11505 type: type 11506 } 11507 : { size: size, shape: shape, stops: stops, position: position, type: type }; 11508 }; 11509 11510 var CLOSEST_SIDE = 'closest-side'; 11511 var FARTHEST_SIDE = 'farthest-side'; 11512 var CLOSEST_CORNER = 'closest-corner'; 11513 var FARTHEST_CORNER = 'farthest-corner'; 11514 var CIRCLE = 'circle'; 11515 var ELLIPSE = 'ellipse'; 11516 var COVER = 'cover'; 11517 var CONTAIN = 'contain'; 11518 var radialGradient = function (context, tokens) { 11519 var shape = 0 /* CIRCLE */; 11520 var size = 3 /* FARTHEST_CORNER */; 11521 var stops = []; 11522 var position = []; 11523 parseFunctionArgs(tokens).forEach(function (arg, i) { 11524 var isColorStop = true; 11525 if (i === 0) { 11526 var isAtPosition_1 = false; 11527 isColorStop = arg.reduce(function (acc, token) { 11528 if (isAtPosition_1) { 11529 if (isIdentToken(token)) { 11530 switch (token.value) { 11531 case 'center': 11532 position.push(FIFTY_PERCENT); 11533 return acc; 11534 case 'top': 11535 case 'left': 11536 position.push(ZERO_LENGTH); 11537 return acc; 11538 case 'right': 11539 case 'bottom': 11540 position.push(HUNDRED_PERCENT); 11541 return acc; 11542 } 11543 } 11544 else if (isLengthPercentage(token) || isLength(token)) { 11545 position.push(token); 11546 } 11547 } 11548 else if (isIdentToken(token)) { 11549 switch (token.value) { 11550 case CIRCLE: 11551 shape = 0 /* CIRCLE */; 11552 return false; 11553 case ELLIPSE: 11554 shape = 1 /* ELLIPSE */; 11555 return false; 11556 case 'at': 11557 isAtPosition_1 = true; 11558 return false; 11559 case CLOSEST_SIDE: 11560 size = 0 /* CLOSEST_SIDE */; 11561 return false; 11562 case COVER: 11563 case FARTHEST_SIDE: 11564 size = 1 /* FARTHEST_SIDE */; 11565 return false; 11566 case CONTAIN: 11567 case CLOSEST_CORNER: 11568 size = 2 /* CLOSEST_CORNER */; 11569 return false; 11570 case FARTHEST_CORNER: 11571 size = 3 /* FARTHEST_CORNER */; 11572 return false; 11573 } 11574 } 11575 else if (isLength(token) || isLengthPercentage(token)) { 11576 if (!Array.isArray(size)) { 11577 size = []; 11578 } 11579 size.push(token); 11580 return false; 11581 } 11582 return acc; 11583 }, isColorStop); 11584 } 11585 if (isColorStop) { 11586 var colorStop = parseColorStop(context, arg); 11587 stops.push(colorStop); 11588 } 11589 }); 11590 return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ }; 11591 }; 11592 11593 var prefixRadialGradient = function (context, tokens) { 11594 var shape = 0 /* CIRCLE */; 11595 var size = 3 /* FARTHEST_CORNER */; 11596 var stops = []; 11597 var position = []; 11598 parseFunctionArgs(tokens).forEach(function (arg, i) { 11599 var isColorStop = true; 11600 if (i === 0) { 11601 isColorStop = arg.reduce(function (acc, token) { 11602 if (isIdentToken(token)) { 11603 switch (token.value) { 11604 case 'center': 11605 position.push(FIFTY_PERCENT); 11606 return false; 11607 case 'top': 11608 case 'left': 11609 position.push(ZERO_LENGTH); 11610 return false; 11611 case 'right': 11612 case 'bottom': 11613 position.push(HUNDRED_PERCENT); 11614 return false; 11615 } 11616 } 11617 else if (isLengthPercentage(token) || isLength(token)) { 11618 position.push(token); 11619 return false; 11620 } 11621 return acc; 11622 }, isColorStop); 11623 } 11624 else if (i === 1) { 11625 isColorStop = arg.reduce(function (acc, token) { 11626 if (isIdentToken(token)) { 11627 switch (token.value) { 11628 case CIRCLE: 11629 shape = 0 /* CIRCLE */; 11630 return false; 11631 case ELLIPSE: 11632 shape = 1 /* ELLIPSE */; 11633 return false; 11634 case CONTAIN: 11635 case CLOSEST_SIDE: 11636 size = 0 /* CLOSEST_SIDE */; 11637 return false; 11638 case FARTHEST_SIDE: 11639 size = 1 /* FARTHEST_SIDE */; 11640 return false; 11641 case CLOSEST_CORNER: 11642 size = 2 /* CLOSEST_CORNER */; 11643 return false; 11644 case COVER: 11645 case FARTHEST_CORNER: 11646 size = 3 /* FARTHEST_CORNER */; 11647 return false; 11648 } 11649 } 11650 else if (isLength(token) || isLengthPercentage(token)) { 11651 if (!Array.isArray(size)) { 11652 size = []; 11653 } 11654 size.push(token); 11655 return false; 11656 } 11657 return acc; 11658 }, isColorStop); 11659 } 11660 if (isColorStop) { 11661 var colorStop = parseColorStop(context, arg); 11662 stops.push(colorStop); 11663 } 11664 }); 11665 return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ }; 11666 }; 11667 11668 var isLinearGradient = function (background) { 11669 return background.type === 1 /* LINEAR_GRADIENT */; 11670 }; 11671 var isRadialGradient = function (background) { 11672 return background.type === 2 /* RADIAL_GRADIENT */; 11673 }; 11674 var image = { 11675 name: 'image', 11676 parse: function (context, value) { 11677 if (value.type === 22 /* URL_TOKEN */) { 11678 var image_1 = { url: value.value, type: 0 /* URL */ }; 11679 context.cache.addImage(value.value); 11680 return image_1; 11681 } 11682 if (value.type === 18 /* FUNCTION */) { 11683 var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name]; 11684 if (typeof imageFunction === 'undefined') { 11685 throw new Error("Attempting to parse an unsupported image function \"" + value.name + "\""); 11686 } 11687 return imageFunction(context, value.values); 11688 } 11689 throw new Error("Unsupported image type " + value.type); 11690 } 11691 }; 11692 function isSupportedImage(value) { 11693 return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') && 11694 (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])); 11695 } 11696 var SUPPORTED_IMAGE_FUNCTIONS = { 11697 'linear-gradient': linearGradient, 11698 '-moz-linear-gradient': prefixLinearGradient, 11699 '-ms-linear-gradient': prefixLinearGradient, 11700 '-o-linear-gradient': prefixLinearGradient, 11701 '-webkit-linear-gradient': prefixLinearGradient, 11702 'radial-gradient': radialGradient, 11703 '-moz-radial-gradient': prefixRadialGradient, 11704 '-ms-radial-gradient': prefixRadialGradient, 11705 '-o-radial-gradient': prefixRadialGradient, 11706 '-webkit-radial-gradient': prefixRadialGradient, 11707 '-webkit-gradient': webkitGradient 11708 }; 11709 11710 var backgroundImage = { 11711 name: 'background-image', 11712 initialValue: 'none', 11713 type: 1 /* LIST */, 11714 prefix: false, 11715 parse: function (context, tokens) { 11716 if (tokens.length === 0) { 11717 return []; 11718 } 11719 var first = tokens[0]; 11720 if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') { 11721 return []; 11722 } 11723 return tokens 11724 .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); }) 11725 .map(function (value) { return image.parse(context, value); }); 11726 } 11727 }; 11728 11729 var backgroundOrigin = { 11730 name: 'background-origin', 11731 initialValue: 'border-box', 11732 prefix: false, 11733 type: 1 /* LIST */, 11734 parse: function (_context, tokens) { 11735 return tokens.map(function (token) { 11736 if (isIdentToken(token)) { 11737 switch (token.value) { 11738 case 'padding-box': 11739 return 1 /* PADDING_BOX */; 11740 case 'content-box': 11741 return 2 /* CONTENT_BOX */; 11742 } 11743 } 11744 return 0 /* BORDER_BOX */; 11745 }); 11746 } 11747 }; 11748 11749 var backgroundPosition = { 11750 name: 'background-position', 11751 initialValue: '0% 0%', 11752 type: 1 /* LIST */, 11753 prefix: false, 11754 parse: function (_context, tokens) { 11755 return parseFunctionArgs(tokens) 11756 .map(function (values) { return values.filter(isLengthPercentage); }) 11757 .map(parseLengthPercentageTuple); 11758 } 11759 }; 11760 11761 var backgroundRepeat = { 11762 name: 'background-repeat', 11763 initialValue: 'repeat', 11764 prefix: false, 11765 type: 1 /* LIST */, 11766 parse: function (_context, tokens) { 11767 return parseFunctionArgs(tokens) 11768 .map(function (values) { 11769 return values 11770 .filter(isIdentToken) 11771 .map(function (token) { return token.value; }) 11772 .join(' '); 11773 }) 11774 .map(parseBackgroundRepeat); 11775 } 11776 }; 11777 var parseBackgroundRepeat = function (value) { 11778 switch (value) { 11779 case 'no-repeat': 11780 return 1 /* NO_REPEAT */; 11781 case 'repeat-x': 11782 case 'repeat no-repeat': 11783 return 2 /* REPEAT_X */; 11784 case 'repeat-y': 11785 case 'no-repeat repeat': 11786 return 3 /* REPEAT_Y */; 11787 case 'repeat': 11788 default: 11789 return 0 /* REPEAT */; 11790 } 11791 }; 11792 11793 var BACKGROUND_SIZE; 11794 (function (BACKGROUND_SIZE) { 11795 BACKGROUND_SIZE["AUTO"] = "auto"; 11796 BACKGROUND_SIZE["CONTAIN"] = "contain"; 11797 BACKGROUND_SIZE["COVER"] = "cover"; 11798 })(BACKGROUND_SIZE || (BACKGROUND_SIZE = {})); 11799 var backgroundSize = { 11800 name: 'background-size', 11801 initialValue: '0', 11802 prefix: false, 11803 type: 1 /* LIST */, 11804 parse: function (_context, tokens) { 11805 return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); }); 11806 } 11807 }; 11808 var isBackgroundSizeInfoToken = function (value) { 11809 return isIdentToken(value) || isLengthPercentage(value); 11810 }; 11811 11812 var borderColorForSide = function (side) { return ({ 11813 name: "border-" + side + "-color", 11814 initialValue: 'transparent', 11815 prefix: false, 11816 type: 3 /* TYPE_VALUE */, 11817 format: 'color' 11818 }); }; 11819 var borderTopColor = borderColorForSide('top'); 11820 var borderRightColor = borderColorForSide('right'); 11821 var borderBottomColor = borderColorForSide('bottom'); 11822 var borderLeftColor = borderColorForSide('left'); 11823 11824 var borderRadiusForSide = function (side) { return ({ 11825 name: "border-radius-" + side, 11826 initialValue: '0 0', 11827 prefix: false, 11828 type: 1 /* LIST */, 11829 parse: function (_context, tokens) { 11830 return parseLengthPercentageTuple(tokens.filter(isLengthPercentage)); 11831 } 11832 }); }; 11833 var borderTopLeftRadius = borderRadiusForSide('top-left'); 11834 var borderTopRightRadius = borderRadiusForSide('top-right'); 11835 var borderBottomRightRadius = borderRadiusForSide('bottom-right'); 11836 var borderBottomLeftRadius = borderRadiusForSide('bottom-left'); 11837 11838 var borderStyleForSide = function (side) { return ({ 11839 name: "border-" + side + "-style", 11840 initialValue: 'solid', 11841 prefix: false, 11842 type: 2 /* IDENT_VALUE */, 11843 parse: function (_context, style) { 11844 switch (style) { 11845 case 'none': 11846 return 0 /* NONE */; 11847 case 'dashed': 11848 return 2 /* DASHED */; 11849 case 'dotted': 11850 return 3 /* DOTTED */; 11851 case 'double': 11852 return 4 /* DOUBLE */; 11853 } 11854 return 1 /* SOLID */; 11855 } 11856 }); }; 11857 var borderTopStyle = borderStyleForSide('top'); 11858 var borderRightStyle = borderStyleForSide('right'); 11859 var borderBottomStyle = borderStyleForSide('bottom'); 11860 var borderLeftStyle = borderStyleForSide('left'); 11861 11862 var borderWidthForSide = function (side) { return ({ 11863 name: "border-" + side + "-width", 11864 initialValue: '0', 11865 type: 0 /* VALUE */, 11866 prefix: false, 11867 parse: function (_context, token) { 11868 if (isDimensionToken(token)) { 11869 return token.number; 11870 } 11871 return 0; 11872 } 11873 }); }; 11874 var borderTopWidth = borderWidthForSide('top'); 11875 var borderRightWidth = borderWidthForSide('right'); 11876 var borderBottomWidth = borderWidthForSide('bottom'); 11877 var borderLeftWidth = borderWidthForSide('left'); 11878 11879 var color = { 11880 name: "color", 11881 initialValue: 'transparent', 11882 prefix: false, 11883 type: 3 /* TYPE_VALUE */, 11884 format: 'color' 11885 }; 11886 11887 var direction = { 11888 name: 'direction', 11889 initialValue: 'ltr', 11890 prefix: false, 11891 type: 2 /* IDENT_VALUE */, 11892 parse: function (_context, direction) { 11893 switch (direction) { 11894 case 'rtl': 11895 return 1 /* RTL */; 11896 case 'ltr': 11897 default: 11898 return 0 /* LTR */; 11899 } 11900 } 11901 }; 11902 11903 var display = { 11904 name: 'display', 11905 initialValue: 'inline-block', 11906 prefix: false, 11907 type: 1 /* LIST */, 11908 parse: function (_context, tokens) { 11909 return tokens.filter(isIdentToken).reduce(function (bit, token) { 11910 return bit | parseDisplayValue(token.value); 11911 }, 0 /* NONE */); 11912 } 11913 }; 11914 var parseDisplayValue = function (display) { 11915 switch (display) { 11916 case 'block': 11917 case '-webkit-box': 11918 return 2 /* BLOCK */; 11919 case 'inline': 11920 return 4 /* INLINE */; 11921 case 'run-in': 11922 return 8 /* RUN_IN */; 11923 case 'flow': 11924 return 16 /* FLOW */; 11925 case 'flow-root': 11926 return 32 /* FLOW_ROOT */; 11927 case 'table': 11928 return 64 /* TABLE */; 11929 case 'flex': 11930 case '-webkit-flex': 11931 return 128 /* FLEX */; 11932 case 'grid': 11933 case '-ms-grid': 11934 return 256 /* GRID */; 11935 case 'ruby': 11936 return 512 /* RUBY */; 11937 case 'subgrid': 11938 return 1024 /* SUBGRID */; 11939 case 'list-item': 11940 return 2048 /* LIST_ITEM */; 11941 case 'table-row-group': 11942 return 4096 /* TABLE_ROW_GROUP */; 11943 case 'table-header-group': 11944 return 8192 /* TABLE_HEADER_GROUP */; 11945 case 'table-footer-group': 11946 return 16384 /* TABLE_FOOTER_GROUP */; 11947 case 'table-row': 11948 return 32768 /* TABLE_ROW */; 11949 case 'table-cell': 11950 return 65536 /* TABLE_CELL */; 11951 case 'table-column-group': 11952 return 131072 /* TABLE_COLUMN_GROUP */; 11953 case 'table-column': 11954 return 262144 /* TABLE_COLUMN */; 11955 case 'table-caption': 11956 return 524288 /* TABLE_CAPTION */; 11957 case 'ruby-base': 11958 return 1048576 /* RUBY_BASE */; 11959 case 'ruby-text': 11960 return 2097152 /* RUBY_TEXT */; 11961 case 'ruby-base-container': 11962 return 4194304 /* RUBY_BASE_CONTAINER */; 11963 case 'ruby-text-container': 11964 return 8388608 /* RUBY_TEXT_CONTAINER */; 11965 case 'contents': 11966 return 16777216 /* CONTENTS */; 11967 case 'inline-block': 11968 return 33554432 /* INLINE_BLOCK */; 11969 case 'inline-list-item': 11970 return 67108864 /* INLINE_LIST_ITEM */; 11971 case 'inline-table': 11972 return 134217728 /* INLINE_TABLE */; 11973 case 'inline-flex': 11974 return 268435456 /* INLINE_FLEX */; 11975 case 'inline-grid': 11976 return 536870912 /* INLINE_GRID */; 11977 } 11978 return 0 /* NONE */; 11979 }; 11980 11981 var float = { 11982 name: 'float', 11983 initialValue: 'none', 11984 prefix: false, 11985 type: 2 /* IDENT_VALUE */, 11986 parse: function (_context, float) { 11987 switch (float) { 11988 case 'left': 11989 return 1 /* LEFT */; 11990 case 'right': 11991 return 2 /* RIGHT */; 11992 case 'inline-start': 11993 return 3 /* INLINE_START */; 11994 case 'inline-end': 11995 return 4 /* INLINE_END */; 11996 } 11997 return 0 /* NONE */; 11998 } 11999 }; 12000 12001 var letterSpacing = { 12002 name: 'letter-spacing', 12003 initialValue: '0', 12004 prefix: false, 12005 type: 0 /* VALUE */, 12006 parse: function (_context, token) { 12007 if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') { 12008 return 0; 12009 } 12010 if (token.type === 17 /* NUMBER_TOKEN */) { 12011 return token.number; 12012 } 12013 if (token.type === 15 /* DIMENSION_TOKEN */) { 12014 return token.number; 12015 } 12016 return 0; 12017 } 12018 }; 12019 12020 var LINE_BREAK; 12021 (function (LINE_BREAK) { 12022 LINE_BREAK["NORMAL"] = "normal"; 12023 LINE_BREAK["STRICT"] = "strict"; 12024 })(LINE_BREAK || (LINE_BREAK = {})); 12025 var lineBreak = { 12026 name: 'line-break', 12027 initialValue: 'normal', 12028 prefix: false, 12029 type: 2 /* IDENT_VALUE */, 12030 parse: function (_context, lineBreak) { 12031 switch (lineBreak) { 12032 case 'strict': 12033 return LINE_BREAK.STRICT; 12034 case 'normal': 12035 default: 12036 return LINE_BREAK.NORMAL; 12037 } 12038 } 12039 }; 12040 12041 var lineHeight = { 12042 name: 'line-height', 12043 initialValue: 'normal', 12044 prefix: false, 12045 type: 4 /* TOKEN_VALUE */ 12046 }; 12047 var computeLineHeight = function (token, fontSize) { 12048 if (isIdentToken(token) && token.value === 'normal') { 12049 return 1.2 * fontSize; 12050 } 12051 else if (token.type === 17 /* NUMBER_TOKEN */) { 12052 return fontSize * token.number; 12053 } 12054 else if (isLengthPercentage(token)) { 12055 return getAbsoluteValue(token, fontSize); 12056 } 12057 return fontSize; 12058 }; 12059 12060 var listStyleImage = { 12061 name: 'list-style-image', 12062 initialValue: 'none', 12063 type: 0 /* VALUE */, 12064 prefix: false, 12065 parse: function (context, token) { 12066 if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') { 12067 return null; 12068 } 12069 return image.parse(context, token); 12070 } 12071 }; 12072 12073 var listStylePosition = { 12074 name: 'list-style-position', 12075 initialValue: 'outside', 12076 prefix: false, 12077 type: 2 /* IDENT_VALUE */, 12078 parse: function (_context, position) { 12079 switch (position) { 12080 case 'inside': 12081 return 0 /* INSIDE */; 12082 case 'outside': 12083 default: 12084 return 1 /* OUTSIDE */; 12085 } 12086 } 12087 }; 12088 12089 var listStyleType = { 12090 name: 'list-style-type', 12091 initialValue: 'none', 12092 prefix: false, 12093 type: 2 /* IDENT_VALUE */, 12094 parse: function (_context, type) { 12095 switch (type) { 12096 case 'disc': 12097 return 0 /* DISC */; 12098 case 'circle': 12099 return 1 /* CIRCLE */; 12100 case 'square': 12101 return 2 /* SQUARE */; 12102 case 'decimal': 12103 return 3 /* DECIMAL */; 12104 case 'cjk-decimal': 12105 return 4 /* CJK_DECIMAL */; 12106 case 'decimal-leading-zero': 12107 return 5 /* DECIMAL_LEADING_ZERO */; 12108 case 'lower-roman': 12109 return 6 /* LOWER_ROMAN */; 12110 case 'upper-roman': 12111 return 7 /* UPPER_ROMAN */; 12112 case 'lower-greek': 12113 return 8 /* LOWER_GREEK */; 12114 case 'lower-alpha': 12115 return 9 /* LOWER_ALPHA */; 12116 case 'upper-alpha': 12117 return 10 /* UPPER_ALPHA */; 12118 case 'arabic-indic': 12119 return 11 /* ARABIC_INDIC */; 12120 case 'armenian': 12121 return 12 /* ARMENIAN */; 12122 case 'bengali': 12123 return 13 /* BENGALI */; 12124 case 'cambodian': 12125 return 14 /* CAMBODIAN */; 12126 case 'cjk-earthly-branch': 12127 return 15 /* CJK_EARTHLY_BRANCH */; 12128 case 'cjk-heavenly-stem': 12129 return 16 /* CJK_HEAVENLY_STEM */; 12130 case 'cjk-ideographic': 12131 return 17 /* CJK_IDEOGRAPHIC */; 12132 case 'devanagari': 12133 return 18 /* DEVANAGARI */; 12134 case 'ethiopic-numeric': 12135 return 19 /* ETHIOPIC_NUMERIC */; 12136 case 'georgian': 12137 return 20 /* GEORGIAN */; 12138 case 'gujarati': 12139 return 21 /* GUJARATI */; 12140 case 'gurmukhi': 12141 return 22 /* GURMUKHI */; 12142 case 'hebrew': 12143 return 22 /* HEBREW */; 12144 case 'hiragana': 12145 return 23 /* HIRAGANA */; 12146 case 'hiragana-iroha': 12147 return 24 /* HIRAGANA_IROHA */; 12148 case 'japanese-formal': 12149 return 25 /* JAPANESE_FORMAL */; 12150 case 'japanese-informal': 12151 return 26 /* JAPANESE_INFORMAL */; 12152 case 'kannada': 12153 return 27 /* KANNADA */; 12154 case 'katakana': 12155 return 28 /* KATAKANA */; 12156 case 'katakana-iroha': 12157 return 29 /* KATAKANA_IROHA */; 12158 case 'khmer': 12159 return 30 /* KHMER */; 12160 case 'korean-hangul-formal': 12161 return 31 /* KOREAN_HANGUL_FORMAL */; 12162 case 'korean-hanja-formal': 12163 return 32 /* KOREAN_HANJA_FORMAL */; 12164 case 'korean-hanja-informal': 12165 return 33 /* KOREAN_HANJA_INFORMAL */; 12166 case 'lao': 12167 return 34 /* LAO */; 12168 case 'lower-armenian': 12169 return 35 /* LOWER_ARMENIAN */; 12170 case 'malayalam': 12171 return 36 /* MALAYALAM */; 12172 case 'mongolian': 12173 return 37 /* MONGOLIAN */; 12174 case 'myanmar': 12175 return 38 /* MYANMAR */; 12176 case 'oriya': 12177 return 39 /* ORIYA */; 12178 case 'persian': 12179 return 40 /* PERSIAN */; 12180 case 'simp-chinese-formal': 12181 return 41 /* SIMP_CHINESE_FORMAL */; 12182 case 'simp-chinese-informal': 12183 return 42 /* SIMP_CHINESE_INFORMAL */; 12184 case 'tamil': 12185 return 43 /* TAMIL */; 12186 case 'telugu': 12187 return 44 /* TELUGU */; 12188 case 'thai': 12189 return 45 /* THAI */; 12190 case 'tibetan': 12191 return 46 /* TIBETAN */; 12192 case 'trad-chinese-formal': 12193 return 47 /* TRAD_CHINESE_FORMAL */; 12194 case 'trad-chinese-informal': 12195 return 48 /* TRAD_CHINESE_INFORMAL */; 12196 case 'upper-armenian': 12197 return 49 /* UPPER_ARMENIAN */; 12198 case 'disclosure-open': 12199 return 50 /* DISCLOSURE_OPEN */; 12200 case 'disclosure-closed': 12201 return 51 /* DISCLOSURE_CLOSED */; 12202 case 'none': 12203 default: 12204 return -1 /* NONE */; 12205 } 12206 } 12207 }; 12208 12209 var marginForSide = function (side) { return ({ 12210 name: "margin-" + side, 12211 initialValue: '0', 12212 prefix: false, 12213 type: 4 /* TOKEN_VALUE */ 12214 }); }; 12215 var marginTop = marginForSide('top'); 12216 var marginRight = marginForSide('right'); 12217 var marginBottom = marginForSide('bottom'); 12218 var marginLeft = marginForSide('left'); 12219 12220 var overflow = { 12221 name: 'overflow', 12222 initialValue: 'visible', 12223 prefix: false, 12224 type: 1 /* LIST */, 12225 parse: function (_context, tokens) { 12226 return tokens.filter(isIdentToken).map(function (overflow) { 12227 switch (overflow.value) { 12228 case 'hidden': 12229 return 1 /* HIDDEN */; 12230 case 'scroll': 12231 return 2 /* SCROLL */; 12232 case 'clip': 12233 return 3 /* CLIP */; 12234 case 'auto': 12235 return 4 /* AUTO */; 12236 case 'visible': 12237 default: 12238 return 0 /* VISIBLE */; 12239 } 12240 }); 12241 } 12242 }; 12243 12244 var overflowWrap = { 12245 name: 'overflow-wrap', 12246 initialValue: 'normal', 12247 prefix: false, 12248 type: 2 /* IDENT_VALUE */, 12249 parse: function (_context, overflow) { 12250 switch (overflow) { 12251 case 'break-word': 12252 return "break-word" /* BREAK_WORD */; 12253 case 'normal': 12254 default: 12255 return "normal" /* NORMAL */; 12256 } 12257 } 12258 }; 12259 12260 var paddingForSide = function (side) { return ({ 12261 name: "padding-" + side, 12262 initialValue: '0', 12263 prefix: false, 12264 type: 3 /* TYPE_VALUE */, 12265 format: 'length-percentage' 12266 }); }; 12267 var paddingTop = paddingForSide('top'); 12268 var paddingRight = paddingForSide('right'); 12269 var paddingBottom = paddingForSide('bottom'); 12270 var paddingLeft = paddingForSide('left'); 12271 12272 var textAlign = { 12273 name: 'text-align', 12274 initialValue: 'left', 12275 prefix: false, 12276 type: 2 /* IDENT_VALUE */, 12277 parse: function (_context, textAlign) { 12278 switch (textAlign) { 12279 case 'right': 12280 return 2 /* RIGHT */; 12281 case 'center': 12282 case 'justify': 12283 return 1 /* CENTER */; 12284 case 'left': 12285 default: 12286 return 0 /* LEFT */; 12287 } 12288 } 12289 }; 12290 12291 var position = { 12292 name: 'position', 12293 initialValue: 'static', 12294 prefix: false, 12295 type: 2 /* IDENT_VALUE */, 12296 parse: function (_context, position) { 12297 switch (position) { 12298 case 'relative': 12299 return 1 /* RELATIVE */; 12300 case 'absolute': 12301 return 2 /* ABSOLUTE */; 12302 case 'fixed': 12303 return 3 /* FIXED */; 12304 case 'sticky': 12305 return 4 /* STICKY */; 12306 } 12307 return 0 /* STATIC */; 12308 } 12309 }; 12310 12311 var textShadow = { 12312 name: 'text-shadow', 12313 initialValue: 'none', 12314 type: 1 /* LIST */, 12315 prefix: false, 12316 parse: function (context, tokens) { 12317 if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) { 12318 return []; 12319 } 12320 return parseFunctionArgs(tokens).map(function (values) { 12321 var shadow = { 12322 color: COLORS.TRANSPARENT, 12323 offsetX: ZERO_LENGTH, 12324 offsetY: ZERO_LENGTH, 12325 blur: ZERO_LENGTH 12326 }; 12327 var c = 0; 12328 for (var i = 0; i < values.length; i++) { 12329 var token = values[i]; 12330 if (isLength(token)) { 12331 if (c === 0) { 12332 shadow.offsetX = token; 12333 } 12334 else if (c === 1) { 12335 shadow.offsetY = token; 12336 } 12337 else { 12338 shadow.blur = token; 12339 } 12340 c++; 12341 } 12342 else { 12343 shadow.color = color$1.parse(context, token); 12344 } 12345 } 12346 return shadow; 12347 }); 12348 } 12349 }; 12350 12351 var textTransform = { 12352 name: 'text-transform', 12353 initialValue: 'none', 12354 prefix: false, 12355 type: 2 /* IDENT_VALUE */, 12356 parse: function (_context, textTransform) { 12357 switch (textTransform) { 12358 case 'uppercase': 12359 return 2 /* UPPERCASE */; 12360 case 'lowercase': 12361 return 1 /* LOWERCASE */; 12362 case 'capitalize': 12363 return 3 /* CAPITALIZE */; 12364 } 12365 return 0 /* NONE */; 12366 } 12367 }; 12368 12369 var transform$1 = { 12370 name: 'transform', 12371 initialValue: 'none', 12372 prefix: true, 12373 type: 0 /* VALUE */, 12374 parse: function (_context, token) { 12375 if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') { 12376 return null; 12377 } 12378 if (token.type === 18 /* FUNCTION */) { 12379 var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name]; 12380 if (typeof transformFunction === 'undefined') { 12381 throw new Error("Attempting to parse an unsupported transform function \"" + token.name + "\""); 12382 } 12383 return transformFunction(token.values); 12384 } 12385 return null; 12386 } 12387 }; 12388 var matrix = function (args) { 12389 var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; }); 12390 return values.length === 6 ? values : null; 12391 }; 12392 // doesn't support 3D transforms at the moment 12393 var matrix3d = function (args) { 12394 var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; }); 12395 var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15]; 12396 return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null; 12397 }; 12398 var SUPPORTED_TRANSFORM_FUNCTIONS = { 12399 matrix: matrix, 12400 matrix3d: matrix3d 12401 }; 12402 12403 var DEFAULT_VALUE = { 12404 type: 16 /* PERCENTAGE_TOKEN */, 12405 number: 50, 12406 flags: FLAG_INTEGER 12407 }; 12408 var DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE]; 12409 var transformOrigin = { 12410 name: 'transform-origin', 12411 initialValue: '50% 50%', 12412 prefix: true, 12413 type: 1 /* LIST */, 12414 parse: function (_context, tokens) { 12415 var origins = tokens.filter(isLengthPercentage); 12416 if (origins.length !== 2) { 12417 return DEFAULT; 12418 } 12419 return [origins[0], origins[1]]; 12420 } 12421 }; 12422 12423 var visibility = { 12424 name: 'visible', 12425 initialValue: 'none', 12426 prefix: false, 12427 type: 2 /* IDENT_VALUE */, 12428 parse: function (_context, visibility) { 12429 switch (visibility) { 12430 case 'hidden': 12431 return 1 /* HIDDEN */; 12432 case 'collapse': 12433 return 2 /* COLLAPSE */; 12434 case 'visible': 12435 default: 12436 return 0 /* VISIBLE */; 12437 } 12438 } 12439 }; 12440 12441 var WORD_BREAK; 12442 (function (WORD_BREAK) { 12443 WORD_BREAK["NORMAL"] = "normal"; 12444 WORD_BREAK["BREAK_ALL"] = "break-all"; 12445 WORD_BREAK["KEEP_ALL"] = "keep-all"; 12446 })(WORD_BREAK || (WORD_BREAK = {})); 12447 var wordBreak = { 12448 name: 'word-break', 12449 initialValue: 'normal', 12450 prefix: false, 12451 type: 2 /* IDENT_VALUE */, 12452 parse: function (_context, wordBreak) { 12453 switch (wordBreak) { 12454 case 'break-all': 12455 return WORD_BREAK.BREAK_ALL; 12456 case 'keep-all': 12457 return WORD_BREAK.KEEP_ALL; 12458 case 'normal': 12459 default: 12460 return WORD_BREAK.NORMAL; 12461 } 12462 } 12463 }; 12464 12465 var zIndex = { 12466 name: 'z-index', 12467 initialValue: 'auto', 12468 prefix: false, 12469 type: 0 /* VALUE */, 12470 parse: function (_context, token) { 12471 if (token.type === 20 /* IDENT_TOKEN */) { 12472 return { auto: true, order: 0 }; 12473 } 12474 if (isNumberToken(token)) { 12475 return { auto: false, order: token.number }; 12476 } 12477 throw new Error("Invalid z-index number parsed"); 12478 } 12479 }; 12480 12481 var time = { 12482 name: 'time', 12483 parse: function (_context, value) { 12484 if (value.type === 15 /* DIMENSION_TOKEN */) { 12485 switch (value.unit.toLowerCase()) { 12486 case 's': 12487 return 1000 * value.number; 12488 case 'ms': 12489 return value.number; 12490 } 12491 } 12492 throw new Error("Unsupported time type"); 12493 } 12494 }; 12495 12496 var opacity = { 12497 name: 'opacity', 12498 initialValue: '1', 12499 type: 0 /* VALUE */, 12500 prefix: false, 12501 parse: function (_context, token) { 12502 if (isNumberToken(token)) { 12503 return token.number; 12504 } 12505 return 1; 12506 } 12507 }; 12508 12509 var textDecorationColor = { 12510 name: "text-decoration-color", 12511 initialValue: 'transparent', 12512 prefix: false, 12513 type: 3 /* TYPE_VALUE */, 12514 format: 'color' 12515 }; 12516 12517 var textDecorationLine = { 12518 name: 'text-decoration-line', 12519 initialValue: 'none', 12520 prefix: false, 12521 type: 1 /* LIST */, 12522 parse: function (_context, tokens) { 12523 return tokens 12524 .filter(isIdentToken) 12525 .map(function (token) { 12526 switch (token.value) { 12527 case 'underline': 12528 return 1 /* UNDERLINE */; 12529 case 'overline': 12530 return 2 /* OVERLINE */; 12531 case 'line-through': 12532 return 3 /* LINE_THROUGH */; 12533 case 'none': 12534 return 4 /* BLINK */; 12535 } 12536 return 0 /* NONE */; 12537 }) 12538 .filter(function (line) { return line !== 0 /* NONE */; }); 12539 } 12540 }; 12541 12542 var fontFamily = { 12543 name: "font-family", 12544 initialValue: '', 12545 prefix: false, 12546 type: 1 /* LIST */, 12547 parse: function (_context, tokens) { 12548 var accumulator = []; 12549 var results = []; 12550 tokens.forEach(function (token) { 12551 switch (token.type) { 12552 case 20 /* IDENT_TOKEN */: 12553 case 0 /* STRING_TOKEN */: 12554 accumulator.push(token.value); 12555 break; 12556 case 17 /* NUMBER_TOKEN */: 12557 accumulator.push(token.number.toString()); 12558 break; 12559 case 4 /* COMMA_TOKEN */: 12560 results.push(accumulator.join(' ')); 12561 accumulator.length = 0; 12562 break; 12563 } 12564 }); 12565 if (accumulator.length) { 12566 results.push(accumulator.join(' ')); 12567 } 12568 return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : "'" + result + "'"); }); 12569 } 12570 }; 12571 12572 var fontSize = { 12573 name: "font-size", 12574 initialValue: '0', 12575 prefix: false, 12576 type: 3 /* TYPE_VALUE */, 12577 format: 'length' 12578 }; 12579 12580 var fontWeight = { 12581 name: 'font-weight', 12582 initialValue: 'normal', 12583 type: 0 /* VALUE */, 12584 prefix: false, 12585 parse: function (_context, token) { 12586 if (isNumberToken(token)) { 12587 return token.number; 12588 } 12589 if (isIdentToken(token)) { 12590 switch (token.value) { 12591 case 'bold': 12592 return 700; 12593 case 'normal': 12594 default: 12595 return 400; 12596 } 12597 } 12598 return 400; 12599 } 12600 }; 12601 12602 var fontVariant = { 12603 name: 'font-variant', 12604 initialValue: 'none', 12605 type: 1 /* LIST */, 12606 prefix: false, 12607 parse: function (_context, tokens) { 12608 return tokens.filter(isIdentToken).map(function (token) { return token.value; }); 12609 } 12610 }; 12611 12612 var fontStyle = { 12613 name: 'font-style', 12614 initialValue: 'normal', 12615 prefix: false, 12616 type: 2 /* IDENT_VALUE */, 12617 parse: function (_context, overflow) { 12618 switch (overflow) { 12619 case 'oblique': 12620 return "oblique" /* OBLIQUE */; 12621 case 'italic': 12622 return "italic" /* ITALIC */; 12623 case 'normal': 12624 default: 12625 return "normal" /* NORMAL */; 12626 } 12627 } 12628 }; 12629 12630 var contains = function (bit, value) { return (bit & value) !== 0; }; 12631 12632 var content = { 12633 name: 'content', 12634 initialValue: 'none', 12635 type: 1 /* LIST */, 12636 prefix: false, 12637 parse: function (_context, tokens) { 12638 if (tokens.length === 0) { 12639 return []; 12640 } 12641 var first = tokens[0]; 12642 if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') { 12643 return []; 12644 } 12645 return tokens; 12646 } 12647 }; 12648 12649 var counterIncrement = { 12650 name: 'counter-increment', 12651 initialValue: 'none', 12652 prefix: true, 12653 type: 1 /* LIST */, 12654 parse: function (_context, tokens) { 12655 if (tokens.length === 0) { 12656 return null; 12657 } 12658 var first = tokens[0]; 12659 if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') { 12660 return null; 12661 } 12662 var increments = []; 12663 var filtered = tokens.filter(nonWhiteSpace); 12664 for (var i = 0; i < filtered.length; i++) { 12665 var counter = filtered[i]; 12666 var next = filtered[i + 1]; 12667 if (counter.type === 20 /* IDENT_TOKEN */) { 12668 var increment = next && isNumberToken(next) ? next.number : 1; 12669 increments.push({ counter: counter.value, increment: increment }); 12670 } 12671 } 12672 return increments; 12673 } 12674 }; 12675 12676 var counterReset = { 12677 name: 'counter-reset', 12678 initialValue: 'none', 12679 prefix: true, 12680 type: 1 /* LIST */, 12681 parse: function (_context, tokens) { 12682 if (tokens.length === 0) { 12683 return []; 12684 } 12685 var resets = []; 12686 var filtered = tokens.filter(nonWhiteSpace); 12687 for (var i = 0; i < filtered.length; i++) { 12688 var counter = filtered[i]; 12689 var next = filtered[i + 1]; 12690 if (isIdentToken(counter) && counter.value !== 'none') { 12691 var reset = next && isNumberToken(next) ? next.number : 0; 12692 resets.push({ counter: counter.value, reset: reset }); 12693 } 12694 } 12695 return resets; 12696 } 12697 }; 12698 12699 var duration = { 12700 name: 'duration', 12701 initialValue: '0s', 12702 prefix: false, 12703 type: 1 /* LIST */, 12704 parse: function (context, tokens) { 12705 return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); }); 12706 } 12707 }; 12708 12709 var quotes = { 12710 name: 'quotes', 12711 initialValue: 'none', 12712 prefix: true, 12713 type: 1 /* LIST */, 12714 parse: function (_context, tokens) { 12715 if (tokens.length === 0) { 12716 return null; 12717 } 12718 var first = tokens[0]; 12719 if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') { 12720 return null; 12721 } 12722 var quotes = []; 12723 var filtered = tokens.filter(isStringToken); 12724 if (filtered.length % 2 !== 0) { 12725 return null; 12726 } 12727 for (var i = 0; i < filtered.length; i += 2) { 12728 var open_1 = filtered[i].value; 12729 var close_1 = filtered[i + 1].value; 12730 quotes.push({ open: open_1, close: close_1 }); 12731 } 12732 return quotes; 12733 } 12734 }; 12735 var getQuote = function (quotes, depth, open) { 12736 if (!quotes) { 12737 return ''; 12738 } 12739 var quote = quotes[Math.min(depth, quotes.length - 1)]; 12740 if (!quote) { 12741 return ''; 12742 } 12743 return open ? quote.open : quote.close; 12744 }; 12745 12746 var boxShadow = { 12747 name: 'box-shadow', 12748 initialValue: 'none', 12749 type: 1 /* LIST */, 12750 prefix: false, 12751 parse: function (context, tokens) { 12752 if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) { 12753 return []; 12754 } 12755 return parseFunctionArgs(tokens).map(function (values) { 12756 var shadow = { 12757 color: 0x000000ff, 12758 offsetX: ZERO_LENGTH, 12759 offsetY: ZERO_LENGTH, 12760 blur: ZERO_LENGTH, 12761 spread: ZERO_LENGTH, 12762 inset: false 12763 }; 12764 var c = 0; 12765 for (var i = 0; i < values.length; i++) { 12766 var token = values[i]; 12767 if (isIdentWithValue(token, 'inset')) { 12768 shadow.inset = true; 12769 } 12770 else if (isLength(token)) { 12771 if (c === 0) { 12772 shadow.offsetX = token; 12773 } 12774 else if (c === 1) { 12775 shadow.offsetY = token; 12776 } 12777 else if (c === 2) { 12778 shadow.blur = token; 12779 } 12780 else { 12781 shadow.spread = token; 12782 } 12783 c++; 12784 } 12785 else { 12786 shadow.color = color$1.parse(context, token); 12787 } 12788 } 12789 return shadow; 12790 }); 12791 } 12792 }; 12793 12794 var paintOrder = { 12795 name: 'paint-order', 12796 initialValue: 'normal', 12797 prefix: false, 12798 type: 1 /* LIST */, 12799 parse: function (_context, tokens) { 12800 var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */]; 12801 var layers = []; 12802 tokens.filter(isIdentToken).forEach(function (token) { 12803 switch (token.value) { 12804 case 'stroke': 12805 layers.push(1 /* STROKE */); 12806 break; 12807 case 'fill': 12808 layers.push(0 /* FILL */); 12809 break; 12810 case 'markers': 12811 layers.push(2 /* MARKERS */); 12812 break; 12813 } 12814 }); 12815 DEFAULT_VALUE.forEach(function (value) { 12816 if (layers.indexOf(value) === -1) { 12817 layers.push(value); 12818 } 12819 }); 12820 return layers; 12821 } 12822 }; 12823 12824 var webkitTextStrokeColor = { 12825 name: "-webkit-text-stroke-color", 12826 initialValue: 'currentcolor', 12827 prefix: false, 12828 type: 3 /* TYPE_VALUE */, 12829 format: 'color' 12830 }; 12831 12832 var webkitTextStrokeWidth = { 12833 name: "-webkit-text-stroke-width", 12834 initialValue: '0', 12835 type: 0 /* VALUE */, 12836 prefix: false, 12837 parse: function (_context, token) { 12838 if (isDimensionToken(token)) { 12839 return token.number; 12840 } 12841 return 0; 12842 } 12843 }; 12844 12845 var CSSParsedDeclaration = /** @class */ (function () { 12846 function CSSParsedDeclaration(context, declaration) { 12847 var _a, _b; 12848 this.animationDuration = parse(context, duration, declaration.animationDuration); 12849 this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip); 12850 this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor); 12851 this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage); 12852 this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin); 12853 this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition); 12854 this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat); 12855 this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize); 12856 this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor); 12857 this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor); 12858 this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor); 12859 this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor); 12860 this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius); 12861 this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius); 12862 this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius); 12863 this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius); 12864 this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle); 12865 this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle); 12866 this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle); 12867 this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle); 12868 this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth); 12869 this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth); 12870 this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth); 12871 this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth); 12872 this.boxShadow = parse(context, boxShadow, declaration.boxShadow); 12873 this.color = parse(context, color, declaration.color); 12874 this.direction = parse(context, direction, declaration.direction); 12875 this.display = parse(context, display, declaration.display); 12876 this.float = parse(context, float, declaration.cssFloat); 12877 this.fontFamily = parse(context, fontFamily, declaration.fontFamily); 12878 this.fontSize = parse(context, fontSize, declaration.fontSize); 12879 this.fontStyle = parse(context, fontStyle, declaration.fontStyle); 12880 this.fontVariant = parse(context, fontVariant, declaration.fontVariant); 12881 this.fontWeight = parse(context, fontWeight, declaration.fontWeight); 12882 this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing); 12883 this.lineBreak = parse(context, lineBreak, declaration.lineBreak); 12884 this.lineHeight = parse(context, lineHeight, declaration.lineHeight); 12885 this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage); 12886 this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition); 12887 this.listStyleType = parse(context, listStyleType, declaration.listStyleType); 12888 this.marginTop = parse(context, marginTop, declaration.marginTop); 12889 this.marginRight = parse(context, marginRight, declaration.marginRight); 12890 this.marginBottom = parse(context, marginBottom, declaration.marginBottom); 12891 this.marginLeft = parse(context, marginLeft, declaration.marginLeft); 12892 this.opacity = parse(context, opacity, declaration.opacity); 12893 var overflowTuple = parse(context, overflow, declaration.overflow); 12894 this.overflowX = overflowTuple[0]; 12895 this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0]; 12896 this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap); 12897 this.paddingTop = parse(context, paddingTop, declaration.paddingTop); 12898 this.paddingRight = parse(context, paddingRight, declaration.paddingRight); 12899 this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom); 12900 this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft); 12901 this.paintOrder = parse(context, paintOrder, declaration.paintOrder); 12902 this.position = parse(context, position, declaration.position); 12903 this.textAlign = parse(context, textAlign, declaration.textAlign); 12904 this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color); 12905 this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration); 12906 this.textShadow = parse(context, textShadow, declaration.textShadow); 12907 this.textTransform = parse(context, textTransform, declaration.textTransform); 12908 this.transform = parse(context, transform$1, declaration.transform); 12909 this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin); 12910 this.visibility = parse(context, visibility, declaration.visibility); 12911 this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor); 12912 this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth); 12913 this.wordBreak = parse(context, wordBreak, declaration.wordBreak); 12914 this.zIndex = parse(context, zIndex, declaration.zIndex); 12915 } 12916 CSSParsedDeclaration.prototype.isVisible = function () { 12917 return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */; 12918 }; 12919 CSSParsedDeclaration.prototype.isTransparent = function () { 12920 return isTransparent(this.backgroundColor); 12921 }; 12922 CSSParsedDeclaration.prototype.isTransformed = function () { 12923 return this.transform !== null; 12924 }; 12925 CSSParsedDeclaration.prototype.isPositioned = function () { 12926 return this.position !== 0 /* STATIC */; 12927 }; 12928 CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () { 12929 return this.isPositioned() && !this.zIndex.auto; 12930 }; 12931 CSSParsedDeclaration.prototype.isFloating = function () { 12932 return this.float !== 0 /* NONE */; 12933 }; 12934 CSSParsedDeclaration.prototype.isInlineLevel = function () { 12935 return (contains(this.display, 4 /* INLINE */) || 12936 contains(this.display, 33554432 /* INLINE_BLOCK */) || 12937 contains(this.display, 268435456 /* INLINE_FLEX */) || 12938 contains(this.display, 536870912 /* INLINE_GRID */) || 12939 contains(this.display, 67108864 /* INLINE_LIST_ITEM */) || 12940 contains(this.display, 134217728 /* INLINE_TABLE */)); 12941 }; 12942 return CSSParsedDeclaration; 12943 }()); 12944 var CSSParsedPseudoDeclaration = /** @class */ (function () { 12945 function CSSParsedPseudoDeclaration(context, declaration) { 12946 this.content = parse(context, content, declaration.content); 12947 this.quotes = parse(context, quotes, declaration.quotes); 12948 } 12949 return CSSParsedPseudoDeclaration; 12950 }()); 12951 var CSSParsedCounterDeclaration = /** @class */ (function () { 12952 function CSSParsedCounterDeclaration(context, declaration) { 12953 this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement); 12954 this.counterReset = parse(context, counterReset, declaration.counterReset); 12955 } 12956 return CSSParsedCounterDeclaration; 12957 }()); 12958 // eslint-disable-next-line @typescript-eslint/no-explicit-any 12959 var parse = function (context, descriptor, style) { 12960 var tokenizer = new Tokenizer(); 12961 var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue; 12962 tokenizer.write(value); 12963 var parser = new Parser(tokenizer.read()); 12964 switch (descriptor.type) { 12965 case 2 /* IDENT_VALUE */: 12966 var token = parser.parseComponentValue(); 12967 return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue); 12968 case 0 /* VALUE */: 12969 return descriptor.parse(context, parser.parseComponentValue()); 12970 case 1 /* LIST */: 12971 return descriptor.parse(context, parser.parseComponentValues()); 12972 case 4 /* TOKEN_VALUE */: 12973 return parser.parseComponentValue(); 12974 case 3 /* TYPE_VALUE */: 12975 switch (descriptor.format) { 12976 case 'angle': 12977 return angle.parse(context, parser.parseComponentValue()); 12978 case 'color': 12979 return color$1.parse(context, parser.parseComponentValue()); 12980 case 'image': 12981 return image.parse(context, parser.parseComponentValue()); 12982 case 'length': 12983 var length_1 = parser.parseComponentValue(); 12984 return isLength(length_1) ? length_1 : ZERO_LENGTH; 12985 case 'length-percentage': 12986 var value_1 = parser.parseComponentValue(); 12987 return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH; 12988 case 'time': 12989 return time.parse(context, parser.parseComponentValue()); 12990 } 12991 break; 12992 } 12993 }; 12994 12995 var elementDebuggerAttribute = 'data-html2canvas-debug'; 12996 var getElementDebugType = function (element) { 12997 var attribute = element.getAttribute(elementDebuggerAttribute); 12998 switch (attribute) { 12999 case 'all': 13000 return 1 /* ALL */; 13001 case 'clone': 13002 return 2 /* CLONE */; 13003 case 'parse': 13004 return 3 /* PARSE */; 13005 case 'render': 13006 return 4 /* RENDER */; 13007 default: 13008 return 0 /* NONE */; 13009 } 13010 }; 13011 var isDebugging = function (element, type) { 13012 var elementType = getElementDebugType(element); 13013 return elementType === 1 /* ALL */ || type === elementType; 13014 }; 13015 13016 var ElementContainer = /** @class */ (function () { 13017 function ElementContainer(context, element) { 13018 this.context = context; 13019 this.textNodes = []; 13020 this.elements = []; 13021 this.flags = 0; 13022 if (isDebugging(element, 3 /* PARSE */)) { 13023 debugger; 13024 } 13025 this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null)); 13026 if (isHTMLElementNode(element)) { 13027 if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) { 13028 element.style.animationDuration = '0s'; 13029 } 13030 if (this.styles.transform !== null) { 13031 // getBoundingClientRect takes transforms into account 13032 element.style.transform = 'none'; 13033 } 13034 } 13035 this.bounds = parseBounds(this.context, element); 13036 if (isDebugging(element, 4 /* RENDER */)) { 13037 this.flags |= 16 /* DEBUG_RENDER */; 13038 } 13039 } 13040 return ElementContainer; 13041 }()); 13042 13043 /* 13044 * text-segmentation 1.0.3 <https://github.com/niklasvh/text-segmentation> 13045 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com> 13046 * Released under MIT License 13047 */ 13048 var base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQ
vendor: 14,458 bytes, line 13048
13048FNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAAB
vendor: 20,485 bytes, lines 13048-13339
13048QAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA='; 13049 13050 /* 13051 * utrie 1.0.2 <https://github.com/niklasvh/utrie> 13052 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com> 13053 * Released under MIT License 13054 */ 13055 var chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; 13056 // Use a lookup table to find the index. 13057 var lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256); 13058 for (var i$1 = 0; i$1 < chars$1.length; i$1++) { 13059 lookup$1[chars$1.charCodeAt(i$1)] = i$1; 13060 } 13061 var decode = function (base64) { 13062 var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4; 13063 if (base64[base64.length - 1] === '=') { 13064 bufferLength--; 13065 if (base64[base64.length - 2] === '=') { 13066 bufferLength--; 13067 } 13068 } 13069 var buffer = typeof ArrayBuffer !== 'undefined' && 13070 typeof Uint8Array !== 'undefined' && 13071 typeof Uint8Array.prototype.slice !== 'undefined' 13072 ? new ArrayBuffer(bufferLength) 13073 : new Array(bufferLength); 13074 var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer); 13075 for (i = 0; i < len; i += 4) { 13076 encoded1 = lookup$1[base64.charCodeAt(i)]; 13077 encoded2 = lookup$1[base64.charCodeAt(i + 1)]; 13078 encoded3 = lookup$1[base64.charCodeAt(i + 2)]; 13079 encoded4 = lookup$1[base64.charCodeAt(i + 3)]; 13080 bytes[p++] = (encoded1 << 2) | (encoded2 >> 4); 13081 bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2); 13082 bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63); 13083 } 13084 return buffer; 13085 }; 13086 var polyUint16Array = function (buffer) { 13087 var length = buffer.length; 13088 var bytes = []; 13089 for (var i = 0; i < length; i += 2) { 13090 bytes.push((buffer[i + 1] << 8) | buffer[i]); 13091 } 13092 return bytes; 13093 }; 13094 var polyUint32Array = function (buffer) { 13095 var length = buffer.length; 13096 var bytes = []; 13097 for (var i = 0; i < length; i += 4) { 13098 bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]); 13099 } 13100 return bytes; 13101 }; 13102 13103 /** Shift size for getting the index-2 table offset. */ 13104 var UTRIE2_SHIFT_2 = 5; 13105 /** Shift size for getting the index-1 table offset. */ 13106 var UTRIE2_SHIFT_1 = 6 + 5; 13107 /** 13108 * Shift size for shifting left the index array values. 13109 * Increases possible data size with 16-bit index values at the cost 13110 * of compactability. 13111 * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY. 13112 */ 13113 var UTRIE2_INDEX_SHIFT = 2; 13114 /** 13115 * Difference between the two shift sizes, 13116 * for getting an index-1 offset from an index-2 offset. 6=11-5 13117 */ 13118 var UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2; 13119 /** 13120 * The part of the index-2 table for U+D800..U+DBFF stores values for 13121 * lead surrogate code _units_ not code _points_. 13122 * Values for lead surrogate code _points_ are indexed with this portion of the table. 13123 * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.) 13124 */ 13125 var UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2; 13126 /** Number of entries in a data block. 32=0x20 */ 13127 var UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2; 13128 /** Mask for getting the lower bits for the in-data-block offset. */ 13129 var UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1; 13130 var UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2; 13131 /** Count the lengths of both BMP pieces. 2080=0x820 */ 13132 var UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH; 13133 /** 13134 * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820. 13135 * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2. 13136 */ 13137 var UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH; 13138 var UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */ 13139 /** 13140 * The index-1 table, only used for supplementary code points, at offset 2112=0x840. 13141 * Variable length, for code points up to highStart, where the last single-value range starts. 13142 * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1. 13143 * (For 0x100000 supplementary code points U+10000..U+10ffff.) 13144 * 13145 * The part of the index-2 table for supplementary code points starts 13146 * after this index-1 table. 13147 * 13148 * Both the index-1 table and the following part of the index-2 table 13149 * are omitted completely if there is only BMP data. 13150 */ 13151 var UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH; 13152 /** 13153 * Number of index-1 entries for the BMP. 32=0x20 13154 * This part of the index-1 table is omitted from the serialized form. 13155 */ 13156 var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1; 13157 /** Number of entries in an index-2 block. 64=0x40 */ 13158 var UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2; 13159 /** Mask for getting the lower bits for the in-index-2-block offset. */ 13160 var UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1; 13161 var slice16 = function (view, start, end) { 13162 if (view.slice) { 13163 return view.slice(start, end); 13164 } 13165 return new Uint16Array(Array.prototype.slice.call(view, start, end)); 13166 }; 13167 var slice32 = function (view, start, end) { 13168 if (view.slice) { 13169 return view.slice(start, end); 13170 } 13171 return new Uint32Array(Array.prototype.slice.call(view, start, end)); 13172 }; 13173 var createTrieFromBase64 = function (base64, _byteLength) { 13174 var buffer = decode(base64); 13175 var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer); 13176 var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer); 13177 var headerLength = 24; 13178 var index = slice16(view16, headerLength / 2, view32[4] / 2); 13179 var data = view32[5] === 2 13180 ? slice16(view16, (headerLength + view32[4]) / 2) 13181 : slice32(view32, Math.ceil((headerLength + view32[4]) / 4)); 13182 return new Trie(view32[0], view32[1], view32[2], view32[3], index, data); 13183 }; 13184 var Trie = /** @class */ (function () { 13185 function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) { 13186 this.initialValue = initialValue; 13187 this.errorValue = errorValue; 13188 this.highStart = highStart; 13189 this.highValueIndex = highValueIndex; 13190 this.index = index; 13191 this.data = data; 13192 } 13193 /** 13194 * Get the value for a code point as stored in the Trie. 13195 * 13196 * @param codePoint the code point 13197 * @return the value 13198 */ 13199 Trie.prototype.get = function (codePoint) { 13200 var ix; 13201 if (codePoint >= 0) { 13202 if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) { 13203 // Ordinary BMP code point, excluding leading surrogates. 13204 // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index. 13205 // 16 bit data is stored in the index array itself. 13206 ix = this.index[codePoint >> UTRIE2_SHIFT_2]; 13207 ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); 13208 return this.data[ix]; 13209 } 13210 if (codePoint <= 0xffff) { 13211 // Lead Surrogate Code Point. A Separate index section is stored for 13212 // lead surrogate code units and code points. 13213 // The main index has the code unit data. 13214 // For this function, we need the code point data. 13215 // Note: this expression could be refactored for slightly improved efficiency, but 13216 // surrogate code points will be so rare in practice that it's not worth it. 13217 ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)]; 13218 ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); 13219 return this.data[ix]; 13220 } 13221 if (codePoint < this.highStart) { 13222 // Supplemental code point, use two-level lookup. 13223 ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1); 13224 ix = this.index[ix]; 13225 ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK; 13226 ix = this.index[ix]; 13227 ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); 13228 return this.data[ix]; 13229 } 13230 if (codePoint <= 0x10ffff) { 13231 return this.data[this.highValueIndex]; 13232 } 13233 } 13234 // Fall through. The code point is outside of the legal range of 0..0x10ffff. 13235 return this.errorValue; 13236 }; 13237 return Trie; 13238 }()); 13239 13240 /* 13241 * base64-arraybuffer 1.0.2 <https://github.com/niklasvh/base64-arraybuffer> 13242 * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com> 13243 * Released under MIT License 13244 */ 13245 var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; 13246 // Use a lookup table to find the index. 13247 var lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256); 13248 for (var i = 0; i < chars.length; i++) { 13249 lookup[chars.charCodeAt(i)] = i; 13250 } 13251 13252 var Prepend = 1; 13253 var CR = 2; 13254 var LF = 3; 13255 var Control = 4; 13256 var Extend = 5; 13257 var SpacingMark = 7; 13258 var L = 8; 13259 var V = 9; 13260 var T = 10; 13261 var LV = 11; 13262 var LVT = 12; 13263 var ZWJ = 13; 13264 var Extended_Pictographic = 14; 13265 var RI = 15; 13266 var toCodePoints = function (str) { 13267 var codePoints = []; 13268 var i = 0; 13269 var length = str.length; 13270 while (i < length) { 13271 var value = str.charCodeAt(i++); 13272 if (value >= 0xd800 && value <= 0xdbff && i < length) { 13273 var extra = str.charCodeAt(i++); 13274 if ((extra & 0xfc00) === 0xdc00) { 13275 codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000); 13276 } 13277 else { 13278 codePoints.push(value); 13279 i--; 13280 } 13281 } 13282 else { 13283 codePoints.push(value); 13284 } 13285 } 13286 return codePoints; 13287 }; 13288 var fromCodePoint = function () { 13289 var codePoints = []; 13290 for (var _i = 0; _i < arguments.length; _i++) { 13291 codePoints[_i] = arguments[_i]; 13292 } 13293 if (String.fromCodePoint) { 13294 return String.fromCodePoint.apply(String, codePoints); 13295 } 13296 var length = codePoints.length; 13297 if (!length) { 13298 return ''; 13299 } 13300 var codeUnits = []; 13301 var index = -1; 13302 var result = ''; 13303 while (++index < length) { 13304 var codePoint = codePoints[index]; 13305 if (codePoint <= 0xffff) { 13306 codeUnits.push(codePoint); 13307 } 13308 else { 13309 codePoint -= 0x10000; 13310 codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00); 13311 } 13312 if (index + 1 === length || codeUnits.length > 0x4000) { 13313 result += String.fromCharCode.apply(String, codeUnits); 13314 codeUnits.length = 0; 13315 } 13316 } 13317 return result; 13318 }; 13319 var UnicodeTrie = createTrieFromBase64(base64); 13320 var BREAK_NOT_ALLOWED = 'Ã'; 13321 var BREAK_ALLOWED = '÷'; 13322 var codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); }; 13323 var _graphemeBreakAtIndex = function (_codePoints, classTypes, index) { 13324 var prevIndex = index - 2; 13325 var prev = classTypes[prevIndex]; 13326 var current = classTypes[index - 1]; 13327 var next = classTypes[index]; 13328 // GB3 Do not break between a CR and LF 13329 if (current === CR && next === LF) { 13330 return BREAK_NOT_ALLOWED; 13331 } 13332 // GB4 Otherwise, break before and after controls. 13333 if (current === CR || current === LF || current === Control) { 13334 return BREAK_ALLOWED; 13335 } 13336 // GB5 13337 if (next === CR || next === LF || next === Control) { 13338 return BREAK_ALLOWED; 13339 }
vendor: 193,516 bytes, lines 13340-17058
13340 // Do not break Hangul syllable sequences. 13341 // GB6 13342 if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) { 13343 return BREAK_NOT_ALLOWED; 13344 } 13345 // GB7 13346 if ((current === LV || current === V) && (next === V || next === T)) { 13347 return BREAK_NOT_ALLOWED; 13348 } 13349 // GB8 13350 if ((current === LVT || current === T) && next === T) { 13351 return BREAK_NOT_ALLOWED; 13352 } 13353 // GB9 Do not break before extending characters or ZWJ. 13354 if (next === ZWJ || next === Extend) { 13355 return BREAK_NOT_ALLOWED; 13356 } 13357 // Do not break before SpacingMarks, or after Prepend characters. 13358 // GB9a 13359 if (next === SpacingMark) { 13360 return BREAK_NOT_ALLOWED; 13361 } 13362 // GB9a 13363 if (current === Prepend) { 13364 return BREAK_NOT_ALLOWED; 13365 } 13366 // GB11 Do not break within emoji modifier sequences or emoji zwj sequences. 13367 if (current === ZWJ && next === Extended_Pictographic) { 13368 while (prev === Extend) { 13369 prev = classTypes[--prevIndex]; 13370 } 13371 if (prev === Extended_Pictographic) { 13372 return BREAK_NOT_ALLOWED; 13373 } 13374 } 13375 // GB12 Do not break within emoji flag sequences. 13376 // That is, do not break between regional indicator (RI) symbols 13377 // if there is an odd number of RI characters before the break point. 13378 if (current === RI && next === RI) { 13379 var countRI = 0; 13380 while (prev === RI) { 13381 countRI++; 13382 prev = classTypes[--prevIndex]; 13383 } 13384 if (countRI % 2 === 0) { 13385 return BREAK_NOT_ALLOWED; 13386 } 13387 } 13388 return BREAK_ALLOWED; 13389 }; 13390 var GraphemeBreaker = function (str) { 13391 var codePoints = toCodePoints(str); 13392 var length = codePoints.length; 13393 var index = 0; 13394 var lastEnd = 0; 13395 var classTypes = codePoints.map(codePointToClass); 13396 return { 13397 next: function () { 13398 if (index >= length) { 13399 return { done: true, value: null }; 13400 } 13401 var graphemeBreak = BREAK_NOT_ALLOWED; 13402 while (index < length && 13403 (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { } 13404 if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) { 13405 var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index)); 13406 lastEnd = index; 13407 return { value: value, done: false }; 13408 } 13409 return { done: true, value: null }; 13410 }, 13411 }; 13412 }; 13413 var splitGraphemes = function (str) { 13414 var breaker = GraphemeBreaker(str); 13415 var graphemes = []; 13416 var bk; 13417 while (!(bk = breaker.next()).done) { 13418 if (bk.value) { 13419 graphemes.push(bk.value.slice()); 13420 } 13421 } 13422 return graphemes; 13423 }; 13424 13425 var testRangeBounds = function (document) { 13426 var TEST_HEIGHT = 123; 13427 if (document.createRange) { 13428 var range = document.createRange(); 13429 if (range.getBoundingClientRect) { 13430 var testElement = document.createElement('boundtest'); 13431 testElement.style.height = TEST_HEIGHT + "px"; 13432 testElement.style.display = 'block'; 13433 document.body.appendChild(testElement); 13434 range.selectNode(testElement); 13435 var rangeBounds = range.getBoundingClientRect(); 13436 var rangeHeight = Math.round(rangeBounds.height); 13437 document.body.removeChild(testElement); 13438 if (rangeHeight === TEST_HEIGHT) { 13439 return true; 13440 } 13441 } 13442 } 13443 return false; 13444 }; 13445 var testIOSLineBreak = function (document) { 13446 var testElement = document.createElement('boundtest'); 13447 testElement.style.width = '50px'; 13448 testElement.style.display = 'block'; 13449 testElement.style.fontSize = '12px'; 13450 testElement.style.letterSpacing = '0px'; 13451 testElement.style.wordSpacing = '0px'; 13452 document.body.appendChild(testElement); 13453 var range = document.createRange(); 13454 testElement.innerHTML = typeof ''.repeat === 'function' ? '👨'.repeat(10) : ''; 13455 var node = testElement.firstChild; 13456 var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); }); 13457 var offset = 0; 13458 var prev = {}; 13459 // ios 13 does not handle range getBoundingClientRect line changes correctly #2177 13460 var supports = textList.every(function (text, i) { 13461 range.setStart(node, offset); 13462 range.setEnd(node, offset + text.length); 13463 var rect = range.getBoundingClientRect(); 13464 offset += text.length; 13465 var boundAhead = rect.x > prev.x || rect.y > prev.y; 13466 prev = rect; 13467 if (i === 0) { 13468 return true; 13469 } 13470 return boundAhead; 13471 }); 13472 document.body.removeChild(testElement); 13473 return supports; 13474 }; 13475 var testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; }; 13476 var testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; }; 13477 var testSVG = function (document) { 13478 var img = new Image(); 13479 var canvas = document.createElement('canvas'); 13480 var ctx = canvas.getContext('2d'); 13481 if (!ctx) { 13482 return false; 13483 } 13484 img.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>"; 13485 try { 13486 ctx.drawImage(img, 0, 0); 13487 canvas.toDataURL(); 13488 } 13489 catch (e) { 13490 return false; 13491 } 13492 return true; 13493 }; 13494 var isGreenPixel = function (data) { 13495 return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255; 13496 }; 13497 var testForeignObject = function (document) { 13498 var canvas = document.createElement('canvas'); 13499 var size = 100; 13500 canvas.width = size; 13501 canvas.height = size; 13502 var ctx = canvas.getContext('2d'); 13503 if (!ctx) { 13504 return Promise.reject(false); 13505 } 13506 ctx.fillStyle = 'rgb(0, 255, 0)'; 13507 ctx.fillRect(0, 0, size, size); 13508 var img = new Image(); 13509 var greenImageSrc = canvas.toDataURL(); 13510 img.src = greenImageSrc; 13511 var svg = createForeignObjectSVG(size, size, 0, 0, img); 13512 ctx.fillStyle = 'red'; 13513 ctx.fillRect(0, 0, size, size); 13514 return loadSerializedSVG$1(svg) 13515 .then(function (img) { 13516 ctx.drawImage(img, 0, 0); 13517 var data = ctx.getImageData(0, 0, size, size).data; 13518 ctx.fillStyle = 'red'; 13519 ctx.fillRect(0, 0, size, size); 13520 var node = document.createElement('div'); 13521 node.style.backgroundImage = "url(" + greenImageSrc + ")"; 13522 node.style.height = size + "px"; 13523 // Firefox 55 does not render inline <img /> tags 13524 return isGreenPixel(data) 13525 ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node)) 13526 : Promise.reject(false); 13527 }) 13528 .then(function (img) { 13529 ctx.drawImage(img, 0, 0); 13530 // Edge does not render background-images 13531 return isGreenPixel(ctx.getImageData(0, 0, size, size).data); 13532 }) 13533 .catch(function () { return false; }); 13534 }; 13535 var createForeignObjectSVG = function (width, height, x, y, node) { 13536 var xmlns = 'http://www.w3.org/2000/svg'; 13537 var svg = document.createElementNS(xmlns, 'svg'); 13538 var foreignObject = document.createElementNS(xmlns, 'foreignObject'); 13539 svg.setAttributeNS(null, 'width', width.toString()); 13540 svg.setAttributeNS(null, 'height', height.toString()); 13541 foreignObject.setAttributeNS(null, 'width', '100%'); 13542 foreignObject.setAttributeNS(null, 'height', '100%'); 13543 foreignObject.setAttributeNS(null, 'x', x.toString()); 13544 foreignObject.setAttributeNS(null, 'y', y.toString()); 13545 foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true'); 13546 svg.appendChild(foreignObject); 13547 foreignObject.appendChild(node); 13548 return svg; 13549 }; 13550 var loadSerializedSVG$1 = function (svg) { 13551 return new Promise(function (resolve, reject) { 13552 var img = new Image(); 13553 img.onload = function () { return resolve(img); }; 13554 img.onerror = reject; 13555 img.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(svg)); 13556 }); 13557 }; 13558 var FEATURES = { 13559 get SUPPORT_RANGE_BOUNDS() { 13560 var value = testRangeBounds(document); 13561 Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value }); 13562 return value; 13563 }, 13564 get SUPPORT_WORD_BREAKING() { 13565 var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document); 13566 Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value }); 13567 return value; 13568 }, 13569 get SUPPORT_SVG_DRAWING() { 13570 var value = testSVG(document); 13571 Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value }); 13572 return value; 13573 }, 13574 get SUPPORT_FOREIGNOBJECT_DRAWING() { 13575 var value = typeof Array.from === 'function' && typeof window.fetch === 'function' 13576 ? testForeignObject(document) 13577 : Promise.resolve(false); 13578 Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value }); 13579 return value; 13580 }, 13581 get SUPPORT_CORS_IMAGES() { 13582 var value = testCORS(); 13583 Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value }); 13584 return value; 13585 }, 13586 get SUPPORT_RESPONSE_TYPE() { 13587 var value = testResponseType(); 13588 Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value }); 13589 return value; 13590 }, 13591 get SUPPORT_CORS_XHR() { 13592 var value = 'withCredentials' in new XMLHttpRequest(); 13593 Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value }); 13594 return value; 13595 }, 13596 get SUPPORT_NATIVE_TEXT_SEGMENTATION() { 13597 // eslint-disable-next-line @typescript-eslint/no-explicit-any 13598 var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter); 13599 Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value }); 13600 return value; 13601 } 13602 }; 13603 13604 var TextBounds = /** @class */ (function () { 13605 function TextBounds(text, bounds) { 13606 this.text = text; 13607 this.bounds = bounds; 13608 } 13609 return TextBounds; 13610 }()); 13611 var parseTextBounds = function (context, value, styles, node) { 13612 var textList = breakText(value, styles); 13613 var textBounds = []; 13614 var offset = 0; 13615 textList.forEach(function (text) { 13616 if (styles.textDecorationLine.length || text.trim().length > 0) { 13617 if (FEATURES.SUPPORT_RANGE_BOUNDS) { 13618 var clientRects = createRange(node, offset, text.length).getClientRects(); 13619 if (clientRects.length > 1) { 13620 var subSegments = segmentGraphemes(text); 13621 var subOffset_1 = 0; 13622 subSegments.forEach(function (subSegment) { 13623 textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects()))); 13624 subOffset_1 += subSegment.length; 13625 }); 13626 } 13627 else { 13628 textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects))); 13629 } 13630 } 13631 else { 13632 var replacementNode = node.splitText(text.length); 13633 textBounds.push(new TextBounds(text, getWrapperBounds(context, node))); 13634 node = replacementNode; 13635 } 13636 } 13637 else if (!FEATURES.SUPPORT_RANGE_BOUNDS) { 13638 node = node.splitText(text.length); 13639 } 13640 offset += text.length; 13641 }); 13642 return textBounds; 13643 }; 13644 var getWrapperBounds = function (context, node) { 13645 var ownerDocument = node.ownerDocument; 13646 if (ownerDocument) { 13647 var wrapper = ownerDocument.createElement('html2canvaswrapper'); 13648 wrapper.appendChild(node.cloneNode(true)); 13649 var parentNode = node.parentNode; 13650 if (parentNode) { 13651 parentNode.replaceChild(wrapper, node); 13652 var bounds = parseBounds(context, wrapper); 13653 if (wrapper.firstChild) { 13654 parentNode.replaceChild(wrapper.firstChild, wrapper); 13655 } 13656 return bounds; 13657 } 13658 } 13659 return Bounds.EMPTY; 13660 }; 13661 var createRange = function (node, offset, length) { 13662 var ownerDocument = node.ownerDocument; 13663 if (!ownerDocument) { 13664 throw new Error('Node has no owner document'); 13665 } 13666 var range = ownerDocument.createRange(); 13667 range.setStart(node, offset); 13668 range.setEnd(node, offset + length); 13669 return range; 13670 }; 13671 var segmentGraphemes = function (value) { 13672 if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) { 13673 // eslint-disable-next-line @typescript-eslint/no-explicit-any 13674 var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' }); 13675 // eslint-disable-next-line @typescript-eslint/no-explicit-any 13676 return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; }); 13677 } 13678 return splitGraphemes(value); 13679 }; 13680 var segmentWords = function (value, styles) { 13681 if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) { 13682 // eslint-disable-next-line @typescript-eslint/no-explicit-any 13683 var segmenter = new Intl.Segmenter(void 0, { 13684 granularity: 'word' 13685 }); 13686 // eslint-disable-next-line @typescript-eslint/no-explicit-any 13687 return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; }); 13688 } 13689 return breakWords(value, styles); 13690 }; 13691 var breakText = function (value, styles) { 13692 return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles); 13693 }; 13694 // https://drafts.csswg.org/css-text/#word-separator 13695 var wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091]; 13696 var breakWords = function (str, styles) { 13697 var breaker = LineBreaker(str, { 13698 lineBreak: styles.lineBreak, 13699 wordBreak: styles.overflowWrap === "break-word" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak 13700 }); 13701 var words = []; 13702 var bk; 13703 var _loop_1 = function () { 13704 if (bk.value) { 13705 var value = bk.value.slice(); 13706 var codePoints = toCodePoints$1(value); 13707 var word_1 = ''; 13708 codePoints.forEach(function (codePoint) { 13709 if (wordSeparators.indexOf(codePoint) === -1) { 13710 word_1 += fromCodePoint$1(codePoint); 13711 } 13712 else { 13713 if (word_1.length) { 13714 words.push(word_1); 13715 } 13716 words.push(fromCodePoint$1(codePoint)); 13717 word_1 = ''; 13718 } 13719 }); 13720 if (word_1.length) { 13721 words.push(word_1); 13722 } 13723 } 13724 }; 13725 while (!(bk = breaker.next()).done) { 13726 _loop_1(); 13727 } 13728 return words; 13729 }; 13730 13731 var TextContainer = /** @class */ (function () { 13732 function TextContainer(context, node, styles) { 13733 this.text = transform(node.data, styles.textTransform); 13734 this.textBounds = parseTextBounds(context, this.text, styles, node); 13735 } 13736 return TextContainer; 13737 }()); 13738 var transform = function (text, transform) { 13739 switch (transform) { 13740 case 1 /* LOWERCASE */: 13741 return text.toLowerCase(); 13742 case 3 /* CAPITALIZE */: 13743 return text.replace(CAPITALIZE, capitalize); 13744 case 2 /* UPPERCASE */: 13745 return text.toUpperCase(); 13746 default: 13747 return text; 13748 } 13749 }; 13750 var CAPITALIZE = /(^|\s|:|-|\(|\))([a-z])/g; 13751 var capitalize = function (m, p1, p2) { 13752 if (m.length > 0) { 13753 return p1 + p2.toUpperCase(); 13754 } 13755 return m; 13756 }; 13757 13758 var ImageElementContainer = /** @class */ (function (_super) { 13759 __extends(ImageElementContainer, _super); 13760 function ImageElementContainer(context, img) { 13761 var _this = _super.call(this, context, img) || this; 13762 _this.src = img.currentSrc || img.src; 13763 _this.intrinsicWidth = img.naturalWidth; 13764 _this.intrinsicHeight = img.naturalHeight; 13765 _this.context.cache.addImage(_this.src); 13766 return _this; 13767 } 13768 return ImageElementContainer; 13769 }(ElementContainer)); 13770 13771 var CanvasElementContainer = /** @class */ (function (_super) { 13772 __extends(CanvasElementContainer, _super); 13773 function CanvasElementContainer(context, canvas) { 13774 var _this = _super.call(this, context, canvas) || this; 13775 _this.canvas = canvas; 13776 _this.intrinsicWidth = canvas.width; 13777 _this.intrinsicHeight = canvas.height; 13778 return _this; 13779 } 13780 return CanvasElementContainer; 13781 }(ElementContainer)); 13782 13783 var SVGElementContainer = /** @class */ (function (_super) { 13784 __extends(SVGElementContainer, _super); 13785 function SVGElementContainer(context, img) { 13786 var _this = _super.call(this, context, img) || this; 13787 var s = new XMLSerializer(); 13788 var bounds = parseBounds(context, img); 13789 img.setAttribute('width', bounds.width + "px"); 13790 img.setAttribute('height', bounds.height + "px"); 13791 _this.svg = "data:image/svg+xml," + encodeURIComponent(s.serializeToString(img)); 13792 _this.intrinsicWidth = img.width.baseVal.value; 13793 _this.intrinsicHeight = img.height.baseVal.value; 13794 _this.context.cache.addImage(_this.svg); 13795 return _this; 13796 } 13797 return SVGElementContainer; 13798 }(ElementContainer)); 13799 13800 var LIElementContainer = /** @class */ (function (_super) { 13801 __extends(LIElementContainer, _super); 13802 function LIElementContainer(context, element) { 13803 var _this = _super.call(this, context, element) || this; 13804 _this.value = element.value; 13805 return _this; 13806 } 13807 return LIElementContainer; 13808 }(ElementContainer)); 13809 13810 var OLElementContainer = /** @class */ (function (_super) { 13811 __extends(OLElementContainer, _super); 13812 function OLElementContainer(context, element) { 13813 var _this = _super.call(this, context, element) || this; 13814 _this.start = element.start; 13815 _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true; 13816 return _this; 13817 } 13818 return OLElementContainer; 13819 }(ElementContainer)); 13820 13821 var CHECKBOX_BORDER_RADIUS = [ 13822 { 13823 type: 15 /* DIMENSION_TOKEN */, 13824 flags: 0, 13825 unit: 'px', 13826 number: 3 13827 } 13828 ]; 13829 var RADIO_BORDER_RADIUS = [ 13830 { 13831 type: 16 /* PERCENTAGE_TOKEN */, 13832 flags: 0, 13833 number: 50 13834 } 13835 ]; 13836 var reformatInputBounds = function (bounds) { 13837 if (bounds.width > bounds.height) { 13838 return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height); 13839 } 13840 else if (bounds.width < bounds.height) { 13841 return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width); 13842 } 13843 return bounds; 13844 }; 13845 var getInputValue = function (node) { 13846 var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\u2022') : node.value; 13847 return value.length === 0 ? node.placeholder || '' : value; 13848 }; 13849 var CHECKBOX = 'checkbox'; 13850 var RADIO = 'radio'; 13851 var PASSWORD = 'password'; 13852 var INPUT_COLOR = 0x2a2a2aff; 13853 var InputElementContainer = /** @class */ (function (_super) { 13854 __extends(InputElementContainer, _super); 13855 function InputElementContainer(context, input) { 13856 var _this = _super.call(this, context, input) || this; 13857 _this.type = input.type.toLowerCase(); 13858 _this.checked = input.checked; 13859 _this.value = getInputValue(input); 13860 if (_this.type === CHECKBOX || _this.type === RADIO) { 13861 _this.styles.backgroundColor = 0xdededeff; 13862 _this.styles.borderTopColor = 13863 _this.styles.borderRightColor = 13864 _this.styles.borderBottomColor = 13865 _this.styles.borderLeftColor = 13866 0xa5a5a5ff; 13867 _this.styles.borderTopWidth = 13868 _this.styles.borderRightWidth = 13869 _this.styles.borderBottomWidth = 13870 _this.styles.borderLeftWidth = 13871 1; 13872 _this.styles.borderTopStyle = 13873 _this.styles.borderRightStyle = 13874 _this.styles.borderBottomStyle = 13875 _this.styles.borderLeftStyle = 13876 1 /* SOLID */; 13877 _this.styles.backgroundClip = [0 /* BORDER_BOX */]; 13878 _this.styles.backgroundOrigin = [0 /* BORDER_BOX */]; 13879 _this.bounds = reformatInputBounds(_this.bounds); 13880 } 13881 switch (_this.type) { 13882 case CHECKBOX: 13883 _this.styles.borderTopRightRadius = 13884 _this.styles.borderTopLeftRadius = 13885 _this.styles.borderBottomRightRadius = 13886 _this.styles.borderBottomLeftRadius = 13887 CHECKBOX_BORDER_RADIUS; 13888 break; 13889 case RADIO: 13890 _this.styles.borderTopRightRadius = 13891 _this.styles.borderTopLeftRadius = 13892 _this.styles.borderBottomRightRadius = 13893 _this.styles.borderBottomLeftRadius = 13894 RADIO_BORDER_RADIUS; 13895 break; 13896 } 13897 return _this; 13898 } 13899 return InputElementContainer; 13900 }(ElementContainer)); 13901 13902 var SelectElementContainer = /** @class */ (function (_super) { 13903 __extends(SelectElementContainer, _super); 13904 function SelectElementContainer(context, element) { 13905 var _this = _super.call(this, context, element) || this; 13906 var option = element.options[element.selectedIndex || 0]; 13907 _this.value = option ? option.text || '' : ''; 13908 return _this; 13909 } 13910 return SelectElementContainer; 13911 }(ElementContainer)); 13912 13913 var TextareaElementContainer = /** @class */ (function (_super) { 13914 __extends(TextareaElementContainer, _super); 13915 function TextareaElementContainer(context, element) { 13916 var _this = _super.call(this, context, element) || this; 13917 _this.value = element.value; 13918 return _this; 13919 } 13920 return TextareaElementContainer; 13921 }(ElementContainer)); 13922 13923 var IFrameElementContainer = /** @class */ (function (_super) { 13924 __extends(IFrameElementContainer, _super); 13925 function IFrameElementContainer(context, iframe) { 13926 var _this = _super.call(this, context, iframe) || this; 13927 _this.src = iframe.src; 13928 _this.width = parseInt(iframe.width, 10) || 0; 13929 _this.height = parseInt(iframe.height, 10) || 0; 13930 _this.backgroundColor = _this.styles.backgroundColor; 13931 try { 13932 if (iframe.contentWindow && 13933 iframe.contentWindow.document && 13934 iframe.contentWindow.document.documentElement) { 13935 _this.tree = parseTree(context, iframe.contentWindow.document.documentElement); 13936 // http://www.w3.org/TR/css3-background/#special-backgrounds 13937 var documentBackgroundColor = iframe.contentWindow.document.documentElement 13938 ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor) 13939 : COLORS.TRANSPARENT; 13940 var bodyBackgroundColor = iframe.contentWindow.document.body 13941 ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor) 13942 : COLORS.TRANSPARENT; 13943 _this.backgroundColor = isTransparent(documentBackgroundColor) 13944 ? isTransparent(bodyBackgroundColor) 13945 ? _this.styles.backgroundColor 13946 : bodyBackgroundColor 13947 : documentBackgroundColor; 13948 } 13949 } 13950 catch (e) { } 13951 return _this; 13952 } 13953 return IFrameElementContainer; 13954 }(ElementContainer)); 13955 13956 var LIST_OWNERS = ['OL', 'UL', 'MENU']; 13957 var parseNodeTree = function (context, node, parent, root) { 13958 for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) { 13959 nextNode = childNode.nextSibling; 13960 if (isTextNode(childNode) && childNode.data.trim().length > 0) { 13961 parent.textNodes.push(new TextContainer(context, childNode, parent.styles)); 13962 } 13963 else if (isElementNode(childNode)) { 13964 if (isSlotElement(childNode) && childNode.assignedNodes) { 13965 childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); }); 13966 } 13967 else { 13968 var container = createContainer(context, childNode); 13969 if (container.styles.isVisible()) { 13970 if (createsRealStackingContext(childNode, container, root)) { 13971 container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */; 13972 } 13973 else if (createsStackingContext(container.styles)) { 13974 container.flags |= 2 /* CREATES_STACKING_CONTEXT */; 13975 } 13976 if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) { 13977 container.flags |= 8 /* IS_LIST_OWNER */; 13978 } 13979 parent.elements.push(container); 13980 childNode.slot; 13981 if (childNode.shadowRoot) { 13982 parseNodeTree(context, childNode.shadowRoot, container, root); 13983 } 13984 else if (!isTextareaElement(childNode) && 13985 !isSVGElement(childNode) && 13986 !isSelectElement(childNode)) { 13987 parseNodeTree(context, childNode, container, root); 13988 } 13989 } 13990 } 13991 } 13992 } 13993 }; 13994 var createContainer = function (context, element) { 13995 if (isImageElement(element)) { 13996 return new ImageElementContainer(context, element); 13997 } 13998 if (isCanvasElement(element)) { 13999 return new CanvasElementContainer(context, element); 14000 } 14001 if (isSVGElement(element)) { 14002 return new SVGElementContainer(context, element); 14003 } 14004 if (isLIElement(element)) { 14005 return new LIElementContainer(context, element); 14006 } 14007 if (isOLElement(element)) { 14008 return new OLElementContainer(context, element); 14009 } 14010 if (isInputElement(element)) { 14011 return new InputElementContainer(context, element); 14012 } 14013 if (isSelectElement(element)) { 14014 return new SelectElementContainer(context, element); 14015 } 14016 if (isTextareaElement(element)) { 14017 return new TextareaElementContainer(context, element); 14018 } 14019 if (isIFrameElement(element)) { 14020 return new IFrameElementContainer(context, element); 14021 } 14022 return new ElementContainer(context, element); 14023 }; 14024 var parseTree = function (context, element) { 14025 var container = createContainer(context, element); 14026 container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */; 14027 parseNodeTree(context, element, container, container); 14028 return container; 14029 }; 14030 var createsRealStackingContext = function (node, container, root) { 14031 return (container.styles.isPositionedWithZIndex() || 14032 container.styles.opacity < 1 || 14033 container.styles.isTransformed() || 14034 (isBodyElement(node) && root.styles.isTransparent())); 14035 }; 14036 var createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); }; 14037 var isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; }; 14038 var isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; }; 14039 var isHTMLElementNode = function (node) { 14040 return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node); 14041 }; 14042 var isSVGElementNode = function (element) { 14043 return typeof element.className === 'object'; 14044 }; 14045 var isLIElement = function (node) { return node.tagName === 'LI'; }; 14046 var isOLElement = function (node) { return node.tagName === 'OL'; }; 14047 var isInputElement = function (node) { return node.tagName === 'INPUT'; }; 14048 var isHTMLElement = function (node) { return node.tagName === 'HTML'; }; 14049 var isSVGElement = function (node) { return node.tagName === 'svg'; }; 14050 var isBodyElement = function (node) { return node.tagName === 'BODY'; }; 14051 var isCanvasElement = function (node) { return node.tagName === 'CANVAS'; }; 14052 var isVideoElement = function (node) { return node.tagName === 'VIDEO'; }; 14053 var isImageElement = function (node) { return node.tagName === 'IMG'; }; 14054 var isIFrameElement = function (node) { return node.tagName === 'IFRAME'; }; 14055 var isStyleElement = function (node) { return node.tagName === 'STYLE'; }; 14056 var isScriptElement = function (node) { return node.tagName === 'SCRIPT'; }; 14057 var isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; }; 14058 var isSelectElement = function (node) { return node.tagName === 'SELECT'; }; 14059 var isSlotElement = function (node) { return node.tagName === 'SLOT'; }; 14060 // https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name 14061 var isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; }; 14062 14063 var CounterState = /** @class */ (function () { 14064 function CounterState() { 14065 this.counters = {}; 14066 } 14067 CounterState.prototype.getCounterValue = function (name) { 14068 var counter = this.counters[name]; 14069 if (counter && counter.length) { 14070 return counter[counter.length - 1]; 14071 } 14072 return 1; 14073 }; 14074 CounterState.prototype.getCounterValues = function (name) { 14075 var counter = this.counters[name]; 14076 return counter ? counter : []; 14077 }; 14078 CounterState.prototype.pop = function (counters) { 14079 var _this = this; 14080 counters.forEach(function (counter) { return _this.counters[counter].pop(); }); 14081 }; 14082 CounterState.prototype.parse = function (style) { 14083 var _this = this; 14084 var counterIncrement = style.counterIncrement; 14085 var counterReset = style.counterReset; 14086 var canReset = true; 14087 if (counterIncrement !== null) { 14088 counterIncrement.forEach(function (entry) { 14089 var counter = _this.counters[entry.counter]; 14090 if (counter && entry.increment !== 0) { 14091 canReset = false; 14092 if (!counter.length) { 14093 counter.push(1); 14094 } 14095 counter[Math.max(0, counter.length - 1)] += entry.increment; 14096 } 14097 }); 14098 } 14099 var counterNames = []; 14100 if (canReset) { 14101 counterReset.forEach(function (entry) { 14102 var counter = _this.counters[entry.counter]; 14103 counterNames.push(entry.counter); 14104 if (!counter) { 14105 counter = _this.counters[entry.counter] = []; 14106 } 14107 counter.push(entry.reset); 14108 }); 14109 } 14110 return counterNames; 14111 }; 14112 return CounterState; 14113 }()); 14114 var ROMAN_UPPER = { 14115 integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1], 14116 values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'] 14117 }; 14118 var ARMENIAN = { 14119 integers: [ 14120 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 14121 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 14122 ], 14123 values: [ 14124 'Õ', 14125 'Õ', 14126 'Õ', 14127 'Õ', 14128 'Õ', 14129 'Õ', 14130 'Õ', 14131 'Õ', 14132 'Õ', 14133 'Õ', 14134 'Õ', 14135 'Õ', 14136 'Õ', 14137 'Õ', 14138 'Õ', 14139 'Õ ', 14140 'Õ', 14141 'Õ', 14142 'Õ', 14143 'Õ', 14144 'Õ', 14145 'Ô¿', 14146 'Ô¾', 14147 'Ô½', 14148 'Ô¼', 14149 'Ô»', 14150 'Ôº', 14151 'Ô¹', 14152 'Ô¸', 14153 'Ô·', 14154 'Ô¶', 14155 'Ôµ', 14156 'Ô´', 14157 'Ô³', 14158 'Ô²', 14159 'Ô±' 14160 ] 14161 }; 14162 var HEBREW = { 14163 integers: [ 14164 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 14165 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 14166 ], 14167 values: [ 14168 '×׳', 14169 '×׳', 14170 '×׳', 14171 '×׳', 14172 '×׳', 14173 '×׳', 14174 '×׳', 14175 '×׳', 14176 '×׳', 14177 '×׳', 14178 'ת', 14179 'ש', 14180 'ר', 14181 '×§', 14182 'צ', 14183 'פ', 14184 '×¢', 14185 'ס', 14186 '× ', 14187 '×', 14188 '×', 14189 '×', 14190 '××', 14191 '××', 14192 '××', 14193 '××', 14194 '××', 14195 '×', 14196 '×', 14197 '×', 14198 '×', 14199 '×', 14200 '×', 14201 '×', 14202 '×', 14203 '×', 14204 '×' 14205 ] 14206 }; 14207 var GEORGIAN = { 14208 integers: [ 14209 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 14210 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 14211 ], 14212 values: [ 14213 'áµ', 14214 'á°', 14215 'á¯', 14216 'á´', 14217 'á®', 14218 'á', 14219 'á¬', 14220 'á«', 14221 'áª', 14222 'á©', 14223 'á¨', 14224 'á§', 14225 'á¦', 14226 'á¥', 14227 'á¤', 14228 'á³', 14229 'á¢', 14230 'á¡', 14231 'á ', 14232 'á', 14233 'á', 14234 'á', 14235 'á²', 14236 'á', 14237 'á', 14238 'á', 14239 'á', 14240 'á', 14241 'á', 14242 'á±', 14243 'á', 14244 'á', 14245 'á', 14246 'á', 14247 'á', 14248 'á', 14249 'á' 14250 ] 14251 }; 14252 var createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) { 14253 if (value < min || value > max) { 14254 return createCounterText(value, fallback, suffix.length > 0); 14255 } 14256 return (symbols.integers.reduce(function (string, integer, index) { 14257 while (value >= integer) { 14258 value -= integer; 14259 string += symbols.values[index]; 14260 } 14261 return string; 14262 }, '') + suffix); 14263 }; 14264 var createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) { 14265 var string = ''; 14266 do { 14267 if (!isNumeric) { 14268 value--; 14269 } 14270 string = resolver(value) + string; 14271 value /= codePointRangeLength; 14272 } while (value * codePointRangeLength >= codePointRangeLength); 14273 return string; 14274 }; 14275 var createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) { 14276 var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1; 14277 return ((value < 0 ? '-' : '') + 14278 (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) { 14279 return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart); 14280 }) + 14281 suffix)); 14282 }; 14283 var createCounterStyleFromSymbols = function (value, symbols, suffix) { 14284 if (suffix === void 0) { suffix = '. '; } 14285 var codePointRangeLength = symbols.length; 14286 return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix); 14287 }; 14288 var CJK_ZEROS = 1 << 0; 14289 var CJK_TEN_COEFFICIENTS = 1 << 1; 14290 var CJK_TEN_HIGH_COEFFICIENTS = 1 << 2; 14291 var CJK_HUNDRED_COEFFICIENTS = 1 << 3; 14292 var createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) { 14293 if (value < -9999 || value > 9999) { 14294 return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0); 14295 } 14296 var tmp = Math.abs(value); 14297 var string = suffix; 14298 if (tmp === 0) { 14299 return numbers[0] + string; 14300 } 14301 for (var digit = 0; tmp > 0 && digit <= 4; digit++) { 14302 var coefficient = tmp % 10; 14303 if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') { 14304 string = numbers[coefficient] + string; 14305 } 14306 else if (coefficient > 1 || 14307 (coefficient === 1 && digit === 0) || 14308 (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) || 14309 (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) || 14310 (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) { 14311 string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string; 14312 } 14313 else if (coefficient === 1 && digit > 0) { 14314 string = multipliers[digit - 1] + string; 14315 } 14316 tmp = Math.floor(tmp / 10); 14317 } 14318 return (value < 0 ? negativeSign : '') + string; 14319 }; 14320 var CHINESE_INFORMAL_MULTIPLIERS = 'åç¾åè¬'; 14321 var CHINESE_FORMAL_MULTIPLIERS = 'æ¾ä½°ä»è¬'; 14322 var JAPANESE_NEGATIVE = 'ãã¤ãã¹'; 14323 var KOREAN_NEGATIVE = 'ë§ì´ëì¤'; 14324 var createCounterText = function (value, type, appendSuffix) { 14325 var defaultSuffix = appendSuffix ? '. ' : ''; 14326 var cjkSuffix = appendSuffix ? 'ã' : ''; 14327 var koreanSuffix = appendSuffix ? ', ' : ''; 14328 var spaceSuffix = appendSuffix ? ' ' : ''; 14329 switch (type) { 14330 case 0 /* DISC */: 14331 return 'â¢' + spaceSuffix; 14332 case 1 /* CIRCLE */: 14333 return 'â¦' + spaceSuffix; 14334 case 2 /* SQUARE */: 14335 return 'â¾' + spaceSuffix; 14336 case 5 /* DECIMAL_LEADING_ZERO */: 14337 var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix); 14338 return string.length < 4 ? "0" + string : string; 14339 case 4 /* CJK_DECIMAL */: 14340 return createCounterStyleFromSymbols(value, 'ãä¸äºä¸åäºå ä¸å «ä¹', cjkSuffix); 14341 case 6 /* LOWER_ROMAN */: 14342 return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase(); 14343 case 7 /* UPPER_ROMAN */: 14344 return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix); 14345 case 8 /* LOWER_GREEK */: 14346 return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix); 14347 case 9 /* LOWER_ALPHA */: 14348 return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix); 14349 case 10 /* UPPER_ALPHA */: 14350 return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix); 14351 case 11 /* ARABIC_INDIC */: 14352 return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix); 14353 case 12 /* ARMENIAN */: 14354 case 49 /* UPPER_ARMENIAN */: 14355 return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix); 14356 case 35 /* LOWER_ARMENIAN */: 14357 return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase(); 14358 case 13 /* BENGALI */: 14359 return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix); 14360 case 14 /* CAMBODIAN */: 14361 case 30 /* KHMER */: 14362 return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix); 14363 case 15 /* CJK_EARTHLY_BRANCH */: 14364 return createCounterStyleFromSymbols(value, 'åä¸å¯ å¯è¾°å·³åæªç³é æäº¥', cjkSuffix); 14365 case 16 /* CJK_HEAVENLY_STEM */: 14366 return createCounterStyleFromSymbols(value, 'ç²ä¹ä¸ä¸æå·±åºè¾å£¬ç¸', cjkSuffix); 14367 case 17 /* CJK_IDEOGRAPHIC */: 14368 case 48 /* TRAD_CHINESE_INFORMAL */: 14369 return createCJKCounter(value, 'é¶ä¸äºä¸åäºå ä¸å «ä¹', CHINESE_INFORMAL_MULTIPLIERS, 'è² ', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); 14370 case 47 /* TRAD_CHINESE_FORMAL */: 14371 return createCJKCounter(value, 'é¶å£¹è²³åèä¼é¸ææç', CHINESE_FORMAL_MULTIPLIERS, 'è² ', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); 14372 case 42 /* SIMP_CHINESE_INFORMAL */: 14373 return createCJKCounter(value, 'é¶ä¸äºä¸åäºå ä¸å «ä¹', CHINESE_INFORMAL_MULTIPLIERS, 'è´', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); 14374 case 41 /* SIMP_CHINESE_FORMAL */: 14375 return createCJKCounter(value, 'é¶å£¹è´°åèä¼éææç', CHINESE_FORMAL_MULTIPLIERS, 'è´', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); 14376 case 26 /* JAPANESE_INFORMAL */: 14377 return createCJKCounter(value, 'ãä¸äºä¸åäºå ä¸å «ä¹', 'åç¾åä¸', JAPANESE_NEGATIVE, cjkSuffix, 0); 14378 case 25 /* JAPANESE_FORMAL */: 14379 return createCJKCounter(value, 'é¶å£±å¼ååä¼å ä¸å «ä¹', 'æ¾ç¾åä¸', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); 14380 case 31 /* KOREAN_HANGUL_FORMAL */: 14381 return createCJKCounter(value, 'ìì¼ì´ì¼ì¬ì¤ì¡ì¹ í구', 'ìë°±ì²ë§', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); 14382 case 33 /* KOREAN_HANJA_INFORMAL */: 14383 return createCJKCounter(value, 'é¶ä¸äºä¸åäºå ä¸å «ä¹', 'åç¾åè¬', KOREAN_NEGATIVE, koreanSuffix, 0); 14384 case 32 /* KOREAN_HANJA_FORMAL */: 14385 return createCJKCounter(value, 'é¶å£¹è²³ååäºå ä¸å «ä¹', 'æ¾ç¾å', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); 14386 case 18 /* DEVANAGARI */: 14387 return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix); 14388 case 20 /* GEORGIAN */: 14389 return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix); 14390 case 21 /* GUJARATI */: 14391 return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix); 14392 case 22 /* GURMUKHI */: 14393 return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix); 14394 case 22 /* HEBREW */: 14395 return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix); 14396 case 23 /* HIRAGANA */: 14397 return createCounterStyleFromSymbols(value, 'ããããããããããããããããã¡ã¤ã¦ã¨ãªã«ã¬ãã®ã¯ã²ãµã¸ã»ã¾ã¿ãããããããããããããããã'); 14398 case 24 /* HIRAGANA_IROHA */: 14399 return createCounterStyleFromSymbols(value, 'ããã¯ã«ã»ã¸ã¨ã¡ãã¬ããããããããã¤ããªããããã®ãããã¾ããµããã¦ãããããã¿ããã²ããã'); 14400 case 27 /* KANNADA */: 14401 return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix); 14402 case 28 /* KATAKANA */: 14403 return createCounterStyleFromSymbols(value, 'ã¢ã¤ã¦ã¨ãªã«ãã¯ã±ã³ãµã·ã¹ã»ã½ã¿ããããããããããããããããã ã¡ã¢ã¤ã¦ã¨ã©ãªã«ã¬ãã¯ã°ã±ã²ã³', cjkSuffix); 14404 case 29 /* KATAKANA_IROHA */: 14405 return createCounterStyleFromSymbols(value, 'ã¤ããããããããªãã«ã²ã¯ã«ã¨ã¿ã¬ã½ãããã©ã ã¦ã°ããªã¯ã¤ãã±ãã³ã¨ãã¢ãµãã¦ã¡ãã·ã±ãã¢ã»ã¹', cjkSuffix); 14406 case 34 /* LAO */: 14407 return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix); 14408 case 37 /* MONGOLIAN */: 14409 return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix); 14410 case 38 /* MYANMAR */: 14411 return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix); 14412 case 39 /* ORIYA */: 14413 return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix); 14414 case 40 /* PERSIAN */: 14415 return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix); 14416 case 43 /* TAMIL */: 14417 return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix); 14418 case 44 /* TELUGU */: 14419 return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix); 14420 case 45 /* THAI */: 14421 return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix); 14422 case 46 /* TIBETAN */: 14423 return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix); 14424 case 3 /* DECIMAL */: 14425 default: 14426 return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix); 14427 } 14428 }; 14429 14430 var IGNORE_ATTRIBUTE = 'data-html2canvas-ignore'; 14431 var DocumentCloner = /** @class */ (function () { 14432 function DocumentCloner(context, element, options) { 14433 this.context = context; 14434 this.options = options; 14435 this.scrolledElements = []; 14436 this.referenceElement = element; 14437 this.counters = new CounterState(); 14438 this.quoteDepth = 0; 14439 if (!element.ownerDocument) { 14440 throw new Error('Cloned element does not have an owner document'); 14441 } 14442 this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false); 14443 } 14444 DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) { 14445 var _this = this; 14446 var iframe = createIFrameContainer(ownerDocument, windowSize); 14447 if (!iframe.contentWindow) { 14448 return Promise.reject("Unable to find iframe window"); 14449 } 14450 var scrollX = ownerDocument.defaultView.pageXOffset; 14451 var scrollY = ownerDocument.defaultView.pageYOffset; 14452 var cloneWindow = iframe.contentWindow; 14453 var documentClone = cloneWindow.document; 14454 /* Chrome doesn't detect relative background-images assigned in inline <style> sheets when fetched through getComputedStyle 14455 if window url is about:blank, we can assign the url to current by writing onto the document 14456 */ 14457 var iframeLoad = iframeLoader(iframe).then(function () { return __awaiter(_this, void 0, void 0, function () { 14458 var onclone, referenceElement; 14459 return __generator(this, function (_a) { 14460 switch (_a.label) { 14461 case 0: 14462 this.scrolledElements.forEach(restoreNodeScroll); 14463 if (cloneWindow) { 14464 cloneWindow.scrollTo(windowSize.left, windowSize.top); 14465 if (/(iPad|iPhone|iPod)/g.test(navigator.userAgent) && 14466 (cloneWindow.scrollY !== windowSize.top || cloneWindow.scrollX !== windowSize.left)) { 14467 this.context.logger.warn('Unable to restore scroll position for cloned document'); 14468 this.context.windowBounds = this.context.windowBounds.add(cloneWindow.scrollX - windowSize.left, cloneWindow.scrollY - windowSize.top, 0, 0); 14469 } 14470 } 14471 onclone = this.options.onclone; 14472 referenceElement = this.clonedReferenceElement; 14473 if (typeof referenceElement === 'undefined') { 14474 return [2 /*return*/, Promise.reject("Error finding the " + this.referenceElement.nodeName + " in the cloned document")]; 14475 } 14476 if (!(documentClone.fonts && documentClone.fonts.ready)) return [3 /*break*/, 2]; 14477 return [4 /*yield*/, documentClone.fonts.ready]; 14478 case 1: 14479 _a.sent(); 14480 _a.label = 2; 14481 case 2: 14482 if (!/(AppleWebKit)/g.test(navigator.userAgent)) return [3 /*break*/, 4]; 14483 return [4 /*yield*/, imagesReady(documentClone)]; 14484 case 3: 14485 _a.sent(); 14486 _a.label = 4; 14487 case 4: 14488 if (typeof onclone === 'function') { 14489 return [2 /*return*/, Promise.resolve() 14490 .then(function () { return onclone(documentClone, referenceElement); }) 14491 .then(function () { return iframe; })]; 14492 } 14493 return [2 /*return*/, iframe]; 14494 } 14495 }); 14496 }); }); 14497 documentClone.open(); 14498 documentClone.write(serializeDoctype(document.doctype) + "<html></html>"); 14499 // Chrome scrolls the parent document for some reason after the write to the cloned window??? 14500 restoreOwnerScroll(this.referenceElement.ownerDocument, scrollX, scrollY); 14501 documentClone.replaceChild(documentClone.adoptNode(this.documentElement), documentClone.documentElement); 14502 documentClone.close(); 14503 return iframeLoad; 14504 }; 14505 DocumentCloner.prototype.createElementClone = function (node) { 14506 if (isDebugging(node, 2 /* CLONE */)) { 14507 debugger; 14508 } 14509 if (isCanvasElement(node)) { 14510 return this.createCanvasClone(node); 14511 } 14512 if (isVideoElement(node)) { 14513 return this.createVideoClone(node); 14514 } 14515 if (isStyleElement(node)) { 14516 return this.createStyleClone(node); 14517 } 14518 var clone = node.cloneNode(false); 14519 if (isImageElement(clone)) { 14520 if (isImageElement(node) && node.currentSrc && node.currentSrc !== node.src) { 14521 clone.src = node.currentSrc; 14522 clone.srcset = ''; 14523 } 14524 if (clone.loading === 'lazy') { 14525 clone.loading = 'eager'; 14526 } 14527 } 14528 if (isCustomElement(clone)) { 14529 return this.createCustomElementClone(clone); 14530 } 14531 return clone; 14532 }; 14533 DocumentCloner.prototype.createCustomElementClone = function (node) { 14534 var clone = document.createElement('html2canvascustomelement'); 14535 copyCSSStyles(node.style, clone); 14536 return clone; 14537 }; 14538 DocumentCloner.prototype.createStyleClone = function (node) { 14539 try { 14540 var sheet = node.sheet; 14541 if (sheet && sheet.cssRules) { 14542 var css = [].slice.call(sheet.cssRules, 0).reduce(function (css, rule) { 14543 if (rule && typeof rule.cssText === 'string') { 14544 return css + rule.cssText; 14545 } 14546 return css; 14547 }, ''); 14548 var style = node.cloneNode(false); 14549 style.textContent = css; 14550 return style; 14551 } 14552 } 14553 catch (e) { 14554 // accessing node.sheet.cssRules throws a DOMException 14555 this.context.logger.error('Unable to access cssRules property', e); 14556 if (e.name !== 'SecurityError') { 14557 throw e; 14558 } 14559 } 14560 return node.cloneNode(false); 14561 }; 14562 DocumentCloner.prototype.createCanvasClone = function (canvas) { 14563 var _a; 14564 if (this.options.inlineImages && canvas.ownerDocument) { 14565 var img = canvas.ownerDocument.createElement('img'); 14566 try { 14567 img.src = canvas.toDataURL(); 14568 return img; 14569 } 14570 catch (e) { 14571 this.context.logger.info("Unable to inline canvas contents, canvas is tainted", canvas); 14572 } 14573 } 14574 var clonedCanvas = canvas.cloneNode(false); 14575 try { 14576 clonedCanvas.width = canvas.width; 14577 clonedCanvas.height = canvas.height; 14578 var ctx = canvas.getContext('2d'); 14579 var clonedCtx = clonedCanvas.getContext('2d'); 14580 if (clonedCtx) { 14581 if (!this.options.allowTaint && ctx) { 14582 clonedCtx.putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0); 14583 } 14584 else { 14585 var gl = (_a = canvas.getContext('webgl2')) !== null && _a !== void 0 ? _a : canvas.getContext('webgl'); 14586 if (gl) { 14587 var attribs = gl.getContextAttributes(); 14588 if ((attribs === null || attribs === void 0 ? void 0 : attribs.preserveDrawingBuffer) === false) { 14589 this.context.logger.warn('Unable to clone WebGL context as it has preserveDrawingBuffer=false', canvas); 14590 } 14591 } 14592 clonedCtx.drawImage(canvas, 0, 0); 14593 } 14594 } 14595 return clonedCanvas; 14596 } 14597 catch (e) { 14598 this.context.logger.info("Unable to clone canvas as it is tainted", canvas); 14599 } 14600 return clonedCanvas; 14601 }; 14602 DocumentCloner.prototype.createVideoClone = function (video) { 14603 var canvas = video.ownerDocument.createElement('canvas'); 14604 canvas.width = video.offsetWidth; 14605 canvas.height = video.offsetHeight; 14606 var ctx = canvas.getContext('2d'); 14607 try { 14608 if (ctx) { 14609 ctx.drawImage(video, 0, 0, canvas.width, canvas.height); 14610 if (!this.options.allowTaint) { 14611 ctx.getImageData(0, 0, canvas.width, canvas.height); 14612 } 14613 } 14614 return canvas; 14615 } 14616 catch (e) { 14617 this.context.logger.info("Unable to clone video as it is tainted", video); 14618 } 14619 var blankCanvas = video.ownerDocument.createElement('canvas'); 14620 blankCanvas.width = video.offsetWidth; 14621 blankCanvas.height = video.offsetHeight; 14622 return blankCanvas; 14623 }; 14624 DocumentCloner.prototype.appendChildNode = function (clone, child, copyStyles) { 14625 if (!isElementNode(child) || 14626 (!isScriptElement(child) && 14627 !child.hasAttribute(IGNORE_ATTRIBUTE) && 14628 (typeof this.options.ignoreElements !== 'function' || !this.options.ignoreElements(child)))) { 14629 if (!this.options.copyStyles || !isElementNode(child) || !isStyleElement(child)) { 14630 clone.appendChild(this.cloneNode(child, copyStyles)); 14631 } 14632 } 14633 }; 14634 DocumentCloner.prototype.cloneChildNodes = function (node, clone, copyStyles) { 14635 var _this = this; 14636 for (var child = node.shadowRoot ? node.shadowRoot.firstChild : node.firstChild; child; child = child.nextSibling) { 14637 if (isElementNode(child) && isSlotElement(child) && typeof child.assignedNodes === 'function') { 14638 var assignedNodes = child.assignedNodes(); 14639 if (assignedNodes.length) { 14640 assignedNodes.forEach(function (assignedNode) { return _this.appendChildNode(clone, assignedNode, copyStyles); }); 14641 } 14642 } 14643 else { 14644 this.appendChildNode(clone, child, copyStyles); 14645 } 14646 } 14647 }; 14648 DocumentCloner.prototype.cloneNode = function (node, copyStyles) { 14649 if (isTextNode(node)) { 14650 return document.createTextNode(node.data); 14651 } 14652 if (!node.ownerDocument) { 14653 return node.cloneNode(false); 14654 } 14655 var window = node.ownerDocument.defaultView; 14656 if (window && isElementNode(node) && (isHTMLElementNode(node) || isSVGElementNode(node))) { 14657 var clone = this.createElementClone(node); 14658 clone.style.transitionProperty = 'none'; 14659 var style = window.getComputedStyle(node); 14660 var styleBefore = window.getComputedStyle(node, ':before'); 14661 var styleAfter = window.getComputedStyle(node, ':after'); 14662 if (this.referenceElement === node && isHTMLElementNode(clone)) { 14663 this.clonedReferenceElement = clone; 14664 } 14665 if (isBodyElement(clone)) { 14666 createPseudoHideStyles(clone); 14667 } 14668 var counters = this.counters.parse(new CSSParsedCounterDeclaration(this.context, style)); 14669 var before = this.resolvePseudoContent(node, clone, styleBefore, PseudoElementType.BEFORE); 14670 if (isCustomElement(node)) { 14671 copyStyles = true; 14672 } 14673 if (!isVideoElement(node)) { 14674 this.cloneChildNodes(node, clone, copyStyles); 14675 } 14676 if (before) { 14677 clone.insertBefore(before, clone.firstChild); 14678 } 14679 var after = this.resolvePseudoContent(node, clone, styleAfter, PseudoElementType.AFTER); 14680 if (after) { 14681 clone.appendChild(after); 14682 } 14683 this.counters.pop(counters); 14684 if ((style && (this.options.copyStyles || isSVGElementNode(node)) && !isIFrameElement(node)) || 14685 copyStyles) { 14686 copyCSSStyles(style, clone); 14687 } 14688 if (node.scrollTop !== 0 || node.scrollLeft !== 0) { 14689 this.scrolledElements.push([clone, node.scrollLeft, node.scrollTop]); 14690 } 14691 if ((isTextareaElement(node) || isSelectElement(node)) && 14692 (isTextareaElement(clone) || isSelectElement(clone))) { 14693 clone.value = node.value; 14694 } 14695 return clone; 14696 } 14697 return node.cloneNode(false); 14698 }; 14699 DocumentCloner.prototype.resolvePseudoContent = function (node, clone, style, pseudoElt) { 14700 var _this = this; 14701 if (!style) { 14702 return; 14703 } 14704 var value = style.content; 14705 var document = clone.ownerDocument; 14706 if (!document || !value || value === 'none' || value === '-moz-alt-content' || style.display === 'none') { 14707 return; 14708 } 14709 this.counters.parse(new CSSParsedCounterDeclaration(this.context, style)); 14710 var declaration = new CSSParsedPseudoDeclaration(this.context, style); 14711 var anonymousReplacedElement = document.createElement('html2canvaspseudoelement'); 14712 copyCSSStyles(style, anonymousReplacedElement); 14713 declaration.content.forEach(function (token) { 14714 if (token.type === 0 /* STRING_TOKEN */) { 14715 anonymousReplacedElement.appendChild(document.createTextNode(token.value)); 14716 } 14717 else if (token.type === 22 /* URL_TOKEN */) { 14718 var img = document.createElement('img'); 14719 img.src = token.value; 14720 img.style.opacity = '1'; 14721 anonymousReplacedElement.appendChild(img); 14722 } 14723 else if (token.type === 18 /* FUNCTION */) { 14724 if (token.name === 'attr') { 14725 var attr = token.values.filter(isIdentToken); 14726 if (attr.length) { 14727 anonymousReplacedElement.appendChild(document.createTextNode(node.getAttribute(attr[0].value) || '')); 14728 } 14729 } 14730 else if (token.name === 'counter') { 14731 var _a = token.values.filter(nonFunctionArgSeparator), counter = _a[0], counterStyle = _a[1]; 14732 if (counter && isIdentToken(counter)) { 14733 var counterState = _this.counters.getCounterValue(counter.value); 14734 var counterType = counterStyle && isIdentToken(counterStyle) 14735 ? listStyleType.parse(_this.context, counterStyle.value) 14736 : 3 /* DECIMAL */; 14737 anonymousReplacedElement.appendChild(document.createTextNode(createCounterText(counterState, counterType, false))); 14738 } 14739 } 14740 else if (token.name === 'counters') { 14741 var _b = token.values.filter(nonFunctionArgSeparator), counter = _b[0], delim = _b[1], counterStyle = _b[2]; 14742 if (counter && isIdentToken(counter)) { 14743 var counterStates = _this.counters.getCounterValues(counter.value); 14744 var counterType_1 = counterStyle && isIdentToken(counterStyle) 14745 ? listStyleType.parse(_this.context, counterStyle.value) 14746 : 3 /* DECIMAL */; 14747 var separator = delim && delim.type === 0 /* STRING_TOKEN */ ? delim.value : ''; 14748 var text = counterStates 14749 .map(function (value) { return createCounterText(value, counterType_1, false); }) 14750 .join(separator); 14751 anonymousReplacedElement.appendChild(document.createTextNode(text)); 14752 } 14753 } 14754 else ; 14755 } 14756 else if (token.type === 20 /* IDENT_TOKEN */) { 14757 switch (token.value) { 14758 case 'open-quote': 14759 anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, _this.quoteDepth++, true))); 14760 break; 14761 case 'close-quote': 14762 anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes, --_this.quoteDepth, false))); 14763 break; 14764 default: 14765 // safari doesn't parse string tokens correctly because of lack of quotes 14766 anonymousReplacedElement.appendChild(document.createTextNode(token.value)); 14767 } 14768 } 14769 }); 14770 anonymousReplacedElement.className = PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + " " + PSEUDO_HIDE_ELEMENT_CLASS_AFTER; 14771 var newClassName = pseudoElt === PseudoElementType.BEFORE 14772 ? " " + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE 14773 : " " + PSEUDO_HIDE_ELEMENT_CLASS_AFTER; 14774 if (isSVGElementNode(clone)) { 14775 clone.className.baseValue += newClassName; 14776 } 14777 else { 14778 clone.className += newClassName; 14779 } 14780 return anonymousReplacedElement; 14781 }; 14782 DocumentCloner.destroy = function (container) { 14783 if (container.parentNode) { 14784 container.parentNode.removeChild(container); 14785 return true; 14786 } 14787 return false; 14788 }; 14789 return DocumentCloner; 14790 }()); 14791 var PseudoElementType; 14792 (function (PseudoElementType) { 14793 PseudoElementType[PseudoElementType["BEFORE"] = 0] = "BEFORE"; 14794 PseudoElementType[PseudoElementType["AFTER"] = 1] = "AFTER"; 14795 })(PseudoElementType || (PseudoElementType = {})); 14796 var createIFrameContainer = function (ownerDocument, bounds) { 14797 var cloneIframeContainer = ownerDocument.createElement('iframe'); 14798 cloneIframeContainer.className = 'html2canvas-container'; 14799 cloneIframeContainer.style.visibility = 'hidden'; 14800 cloneIframeContainer.style.position = 'fixed'; 14801 cloneIframeContainer.style.left = '-10000px'; 14802 cloneIframeContainer.style.top = '0px'; 14803 cloneIframeContainer.style.border = '0'; 14804 cloneIframeContainer.width = bounds.width.toString(); 14805 cloneIframeContainer.height = bounds.height.toString(); 14806 cloneIframeContainer.scrolling = 'no'; // ios won't scroll without it 14807 cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE, 'true'); 14808 ownerDocument.body.appendChild(cloneIframeContainer); 14809 return cloneIframeContainer; 14810 }; 14811 var imageReady = function (img) { 14812 return new Promise(function (resolve) { 14813 if (img.complete) { 14814 resolve(); 14815 return; 14816 } 14817 if (!img.src) { 14818 resolve(); 14819 return; 14820 } 14821 img.onload = resolve; 14822 img.onerror = resolve; 14823 }); 14824 }; 14825 var imagesReady = function (document) { 14826 return Promise.all([].slice.call(document.images, 0).map(imageReady)); 14827 }; 14828 var iframeLoader = function (iframe) { 14829 return new Promise(function (resolve, reject) { 14830 var cloneWindow = iframe.contentWindow; 14831 if (!cloneWindow) { 14832 return reject("No window assigned for iframe"); 14833 } 14834 var documentClone = cloneWindow.document; 14835 cloneWindow.onload = iframe.onload = function () { 14836 cloneWindow.onload = iframe.onload = null; 14837 var interval = setInterval(function () { 14838 if (documentClone.body.childNodes.length > 0 && documentClone.readyState === 'complete') { 14839 clearInterval(interval); 14840 resolve(iframe); 14841 } 14842 }, 50); 14843 }; 14844 }); 14845 }; 14846 var ignoredStyleProperties = [ 14847 'all', 14848 'd', 14849 'content' // Safari shows pseudoelements if content is set 14850 ]; 14851 var copyCSSStyles = function (style, target) { 14852 // Edge does not provide value for cssText 14853 for (var i = style.length - 1; i >= 0; i--) { 14854 var property = style.item(i); 14855 if (ignoredStyleProperties.indexOf(property) === -1) { 14856 target.style.setProperty(property, style.getPropertyValue(property)); 14857 } 14858 } 14859 return target; 14860 }; 14861 var serializeDoctype = function (doctype) { 14862 var str = ''; 14863 if (doctype) { 14864 str += '<!DOCTYPE '; 14865 if (doctype.name) { 14866 str += doctype.name; 14867 } 14868 if (doctype.internalSubset) { 14869 str += doctype.internalSubset; 14870 } 14871 if (doctype.publicId) { 14872 str += "\"" + doctype.publicId + "\""; 14873 } 14874 if (doctype.systemId) { 14875 str += "\"" + doctype.systemId + "\""; 14876 } 14877 str += '>'; 14878 } 14879 return str; 14880 }; 14881 var restoreOwnerScroll = function (ownerDocument, x, y) { 14882 if (ownerDocument && 14883 ownerDocument.defaultView && 14884 (x !== ownerDocument.defaultView.pageXOffset || y !== ownerDocument.defaultView.pageYOffset)) { 14885 ownerDocument.defaultView.scrollTo(x, y); 14886 } 14887 }; 14888 var restoreNodeScroll = function (_a) { 14889 var element = _a[0], x = _a[1], y = _a[2]; 14890 element.scrollLeft = x; 14891 element.scrollTop = y; 14892 }; 14893 var PSEUDO_BEFORE = ':before'; 14894 var PSEUDO_AFTER = ':after'; 14895 var PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = '___html2canvas___pseudoelement_before'; 14896 var PSEUDO_HIDE_ELEMENT_CLASS_AFTER = '___html2canvas___pseudoelement_after'; 14897 var PSEUDO_HIDE_ELEMENT_STYLE = "{\n content: \"\" !important;\n display: none !important;\n}"; 14898 var createPseudoHideStyles = function (body) { 14899 createStyles(body, "." + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + PSEUDO_BEFORE + PSEUDO_HIDE_ELEMENT_STYLE + "\n ." + PSEUDO_HIDE_ELEMENT_CLASS_AFTER + PSEUDO_AFTER + PSEUDO_HIDE_ELEMENT_STYLE); 14900 }; 14901 var createStyles = function (body, styles) { 14902 var document = body.ownerDocument; 14903 if (document) { 14904 var style = document.createElement('style'); 14905 style.textContent = styles; 14906 body.appendChild(style); 14907 } 14908 }; 14909 14910 var CacheStorage = /** @class */ (function () { 14911 function CacheStorage() { 14912 } 14913 CacheStorage.getOrigin = function (url) { 14914 var link = CacheStorage._link; 14915 if (!link) { 14916 return 'about:blank'; 14917 } 14918 link.href = url; 14919 link.href = link.href; // IE9, LOL! - http://jsfiddle.net/niklasvh/2e48b/ 14920 return link.protocol + link.hostname + link.port; 14921 }; 14922 CacheStorage.isSameOrigin = function (src) { 14923 return CacheStorage.getOrigin(src) === CacheStorage._origin; 14924 }; 14925 CacheStorage.setContext = function (window) { 14926 CacheStorage._link = window.document.createElement('a'); 14927 CacheStorage._origin = CacheStorage.getOrigin(window.location.href); 14928 }; 14929 CacheStorage._origin = 'about:blank'; 14930 return CacheStorage; 14931 }()); 14932 var Cache = /** @class */ (function () { 14933 function Cache(context, _options) { 14934 this.context = context; 14935 this._options = _options; 14936 // eslint-disable-next-line @typescript-eslint/no-explicit-any 14937 this._cache = {}; 14938 } 14939 Cache.prototype.addImage = function (src) { 14940 var result = Promise.resolve(); 14941 if (this.has(src)) { 14942 return result; 14943 } 14944 if (isBlobImage(src) || isRenderable(src)) { 14945 (this._cache[src] = this.loadImage(src)).catch(function () { 14946 // prevent unhandled rejection 14947 }); 14948 return result; 14949 } 14950 return result; 14951 }; 14952 // eslint-disable-next-line @typescript-eslint/no-explicit-any 14953 Cache.prototype.match = function (src) { 14954 return this._cache[src]; 14955 }; 14956 Cache.prototype.loadImage = function (key) { 14957 return __awaiter(this, void 0, void 0, function () { 14958 var isSameOrigin, useCORS, useProxy, src; 14959 var _this = this; 14960 return __generator(this, function (_a) { 14961 switch (_a.label) { 14962 case 0: 14963 isSameOrigin = CacheStorage.isSameOrigin(key); 14964 useCORS = !isInlineImage(key) && this._options.useCORS === true && FEATURES.SUPPORT_CORS_IMAGES && !isSameOrigin; 14965 useProxy = !isInlineImage(key) && 14966 !isSameOrigin && 14967 !isBlobImage(key) && 14968 typeof this._options.proxy === 'string' && 14969 FEATURES.SUPPORT_CORS_XHR && 14970 !useCORS; 14971 if (!isSameOrigin && 14972 this._options.allowTaint === false && 14973 !isInlineImage(key) && 14974 !isBlobImage(key) && 14975 !useProxy && 14976 !useCORS) { 14977 return [2 /*return*/]; 14978 } 14979 src = key; 14980 if (!useProxy) return [3 /*break*/, 2]; 14981 return [4 /*yield*/, this.proxy(src)]; 14982 case 1: 14983 src = _a.sent(); 14984 _a.label = 2; 14985 case 2: 14986 this.context.logger.debug("Added image " + key.substring(0, 256)); 14987 return [4 /*yield*/, new Promise(function (resolve, reject) { 14988 var img = new Image(); 14989 img.onload = function () { return resolve(img); }; 14990 img.onerror = reject; 14991 //ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous 14992 if (isInlineBase64Image(src) || useCORS) { 14993 img.crossOrigin = 'anonymous'; 14994 } 14995 img.src = src; 14996 if (img.complete === true) { 14997 // Inline XML images may fail to parse, throwing an Error later on 14998 setTimeout(function () { return resolve(img); }, 500); 14999 } 15000 if (_this._options.imageTimeout > 0) { 15001 setTimeout(function () { return reject("Timed out (" + _this._options.imageTimeout + "ms) loading image"); }, _this._options.imageTimeout); 15002 } 15003 })]; 15004 case 3: return [2 /*return*/, _a.sent()]; 15005 } 15006 }); 15007 }); 15008 }; 15009 Cache.prototype.has = function (key) { 15010 return typeof this._cache[key] !== 'undefined'; 15011 }; 15012 Cache.prototype.keys = function () { 15013 return Promise.resolve(Object.keys(this._cache)); 15014 }; 15015 Cache.prototype.proxy = function (src) { 15016 var _this = this; 15017 var proxy = this._options.proxy; 15018 if (!proxy) { 15019 throw new Error('No proxy defined'); 15020 } 15021 var key = src.substring(0, 256); 15022 return new Promise(function (resolve, reject) { 15023 var responseType = FEATURES.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text'; 15024 var xhr = new XMLHttpRequest(); 15025 xhr.onload = function () { 15026 if (xhr.status === 200) { 15027 if (responseType === 'text') { 15028 resolve(xhr.response); 15029 } 15030 else { 15031 var reader_1 = new FileReader(); 15032 reader_1.addEventListener('load', function () { return resolve(reader_1.result); }, false); 15033 reader_1.addEventListener('error', function (e) { return reject(e); }, false); 15034 reader_1.readAsDataURL(xhr.response); 15035 } 15036 } 15037 else { 15038 reject("Failed to proxy resource " + key + " with status code " + xhr.status); 15039 } 15040 }; 15041 xhr.onerror = reject; 15042 var queryString = proxy.indexOf('?') > -1 ? '&' : '?'; 15043 xhr.open('GET', "" + proxy + queryString + "url=" + encodeURIComponent(src) + "&responseType=" + responseType); 15044 if (responseType !== 'text' && xhr instanceof XMLHttpRequest) { 15045 xhr.responseType = responseType; 15046 } 15047 if (_this._options.imageTimeout) { 15048 var timeout_1 = _this._options.imageTimeout; 15049 xhr.timeout = timeout_1; 15050 xhr.ontimeout = function () { return reject("Timed out (" + timeout_1 + "ms) proxying " + key); }; 15051 } 15052 xhr.send(); 15053 }); 15054 }; 15055 return Cache; 15056 }()); 15057 var INLINE_SVG = /^data:image\/svg\+xml/i; 15058 var INLINE_BASE64 = /^data:image\/.*;base64,/i; 15059 var INLINE_IMG = /^data:image\/.*/i; 15060 var isRenderable = function (src) { return FEATURES.SUPPORT_SVG_DRAWING || !isSVG(src); }; 15061 var isInlineImage = function (src) { return INLINE_IMG.test(src); }; 15062 var isInlineBase64Image = function (src) { return INLINE_BASE64.test(src); }; 15063 var isBlobImage = function (src) { return src.substr(0, 4) === 'blob'; }; 15064 var isSVG = function (src) { return src.substr(-3).toLowerCase() === 'svg' || INLINE_SVG.test(src); }; 15065 15066 var Vector = /** @class */ (function () { 15067 function Vector(x, y) { 15068 this.type = 0 /* VECTOR */; 15069 this.x = x; 15070 this.y = y; 15071 } 15072 Vector.prototype.add = function (deltaX, deltaY) { 15073 return new Vector(this.x + deltaX, this.y + deltaY); 15074 }; 15075 return Vector; 15076 }()); 15077 15078 var lerp = function (a, b, t) { 15079 return new Vector(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t); 15080 }; 15081 var BezierCurve = /** @class */ (function () { 15082 function BezierCurve(start, startControl, endControl, end) { 15083 this.type = 1 /* BEZIER_CURVE */; 15084 this.start = start; 15085 this.startControl = startControl; 15086 this.endControl = endControl; 15087 this.end = end; 15088 } 15089 BezierCurve.prototype.subdivide = function (t, firstHalf) { 15090 var ab = lerp(this.start, this.startControl, t); 15091 var bc = lerp(this.startControl, this.endControl, t); 15092 var cd = lerp(this.endControl, this.end, t); 15093 var abbc = lerp(ab, bc, t); 15094 var bccd = lerp(bc, cd, t); 15095 var dest = lerp(abbc, bccd, t); 15096 return firstHalf ? new BezierCurve(this.start, ab, abbc, dest) : new BezierCurve(dest, bccd, cd, this.end); 15097 }; 15098 BezierCurve.prototype.add = function (deltaX, deltaY) { 15099 return new BezierCurve(this.start.add(deltaX, deltaY), this.startControl.add(deltaX, deltaY), this.endControl.add(deltaX, deltaY), this.end.add(deltaX, deltaY)); 15100 }; 15101 BezierCurve.prototype.reverse = function () { 15102 return new BezierCurve(this.end, this.endControl, this.startControl, this.start); 15103 }; 15104 return BezierCurve; 15105 }()); 15106 var isBezierCurve = function (path) { return path.type === 1 /* BEZIER_CURVE */; }; 15107 15108 var BoundCurves = /** @class */ (function () { 15109 function BoundCurves(element) { 15110 var styles = element.styles; 15111 var bounds = element.bounds; 15112 var _a = getAbsoluteValueForTuple(styles.borderTopLeftRadius, bounds.width, bounds.height), tlh = _a[0], tlv = _a[1]; 15113 var _b = getAbsoluteValueForTuple(styles.borderTopRightRadius, bounds.width, bounds.height), trh = _b[0], trv = _b[1]; 15114 var _c = getAbsoluteValueForTuple(styles.borderBottomRightRadius, bounds.width, bounds.height), brh = _c[0], brv = _c[1]; 15115 var _d = getAbsoluteValueForTuple(styles.borderBottomLeftRadius, bounds.width, bounds.height), blh = _d[0], blv = _d[1]; 15116 var factors = []; 15117 factors.push((tlh + trh) / bounds.width); 15118 factors.push((blh + brh) / bounds.width); 15119 factors.push((tlv + blv) / bounds.height); 15120 factors.push((trv + brv) / bounds.height); 15121 var maxFactor = Math.max.apply(Math, factors); 15122 if (maxFactor > 1) { 15123 tlh /= maxFactor; 15124 tlv /= maxFactor; 15125 trh /= maxFactor; 15126 trv /= maxFactor; 15127 brh /= maxFactor; 15128 brv /= maxFactor; 15129 blh /= maxFactor; 15130 blv /= maxFactor; 15131 } 15132 var topWidth = bounds.width - trh; 15133 var rightHeight = bounds.height - brv; 15134 var bottomWidth = bounds.width - brh; 15135 var leftHeight = bounds.height - blv; 15136 var borderTopWidth = styles.borderTopWidth; 15137 var borderRightWidth = styles.borderRightWidth; 15138 var borderBottomWidth = styles.borderBottomWidth; 15139 var borderLeftWidth = styles.borderLeftWidth; 15140 var paddingTop = getAbsoluteValue(styles.paddingTop, element.bounds.width); 15141 var paddingRight = getAbsoluteValue(styles.paddingRight, element.bounds.width); 15142 var paddingBottom = getAbsoluteValue(styles.paddingBottom, element.bounds.width); 15143 var paddingLeft = getAbsoluteValue(styles.paddingLeft, element.bounds.width); 15144 this.topLeftBorderDoubleOuterBox = 15145 tlh > 0 || tlv > 0 15146 ? getCurvePoints(bounds.left + borderLeftWidth / 3, bounds.top + borderTopWidth / 3, tlh - borderLeftWidth / 3, tlv - borderTopWidth / 3, CORNER.TOP_LEFT) 15147 : new Vector(bounds.left + borderLeftWidth / 3, bounds.top + borderTopWidth / 3); 15148 this.topRightBorderDoubleOuterBox = 15149 tlh > 0 || tlv > 0 15150 ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth / 3, trh - borderRightWidth / 3, trv - borderTopWidth / 3, CORNER.TOP_RIGHT) 15151 : new Vector(bounds.left + bounds.width - borderRightWidth / 3, bounds.top + borderTopWidth / 3); 15152 this.bottomRightBorderDoubleOuterBox = 15153 brh > 0 || brv > 0 15154 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth / 3, brv - borderBottomWidth / 3, CORNER.BOTTOM_RIGHT) 15155 : new Vector(bounds.left + bounds.width - borderRightWidth / 3, bounds.top + bounds.height - borderBottomWidth / 3); 15156 this.bottomLeftBorderDoubleOuterBox = 15157 blh > 0 || blv > 0 15158 ? getCurvePoints(bounds.left + borderLeftWidth / 3, bounds.top + leftHeight, blh - borderLeftWidth / 3, blv - borderBottomWidth / 3, CORNER.BOTTOM_LEFT) 15159 : new Vector(bounds.left + borderLeftWidth / 3, bounds.top + bounds.height - borderBottomWidth / 3); 15160 this.topLeftBorderDoubleInnerBox = 15161 tlh > 0 || tlv > 0 15162 ? getCurvePoints(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3, tlh - (borderLeftWidth * 2) / 3, tlv - (borderTopWidth * 2) / 3, CORNER.TOP_LEFT) 15163 : new Vector(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3); 15164 this.topRightBorderDoubleInnerBox = 15165 tlh > 0 || tlv > 0 15166 ? getCurvePoints(bounds.left + topWidth, bounds.top + (borderTopWidth * 2) / 3, trh - (borderRightWidth * 2) / 3, trv - (borderTopWidth * 2) / 3, CORNER.TOP_RIGHT) 15167 : new Vector(bounds.left + bounds.width - (borderRightWidth * 2) / 3, bounds.top + (borderTopWidth * 2) / 3); 15168 this.bottomRightBorderDoubleInnerBox = 15169 brh > 0 || brv > 0 15170 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - (borderRightWidth * 2) / 3, brv - (borderBottomWidth * 2) / 3, CORNER.BOTTOM_RIGHT) 15171 : new Vector(bounds.left + bounds.width - (borderRightWidth * 2) / 3, bounds.top + bounds.height - (borderBottomWidth * 2) / 3); 15172 this.bottomLeftBorderDoubleInnerBox = 15173 blh > 0 || blv > 0 15174 ? getCurvePoints(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + leftHeight, blh - (borderLeftWidth * 2) / 3, blv - (borderBottomWidth * 2) / 3, CORNER.BOTTOM_LEFT) 15175 : new Vector(bounds.left + (borderLeftWidth * 2) / 3, bounds.top + bounds.height - (borderBottomWidth * 2) / 3); 15176 this.topLeftBorderStroke = 15177 tlh > 0 || tlv > 0 15178 ? getCurvePoints(bounds.left + borderLeftWidth / 2, bounds.top + borderTopWidth / 2, tlh - borderLeftWidth / 2, tlv - borderTopWidth / 2, CORNER.TOP_LEFT) 15179 : new Vector(bounds.left + borderLeftWidth / 2, bounds.top + borderTopWidth / 2); 15180 this.topRightBorderStroke = 15181 tlh > 0 || tlv > 0 15182 ? getCurvePoints(bounds.left + topWidth, bounds.top + borderTopWidth / 2, trh - borderRightWidth / 2, trv - borderTopWidth / 2, CORNER.TOP_RIGHT) 15183 : new Vector(bounds.left + bounds.width - borderRightWidth / 2, bounds.top + borderTopWidth / 2); 15184 this.bottomRightBorderStroke = 15185 brh > 0 || brv > 0 15186 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh - borderRightWidth / 2, brv - borderBottomWidth / 2, CORNER.BOTTOM_RIGHT) 15187 : new Vector(bounds.left + bounds.width - borderRightWidth / 2, bounds.top + bounds.height - borderBottomWidth / 2); 15188 this.bottomLeftBorderStroke = 15189 blh > 0 || blv > 0 15190 ? getCurvePoints(bounds.left + borderLeftWidth / 2, bounds.top + leftHeight, blh - borderLeftWidth / 2, blv - borderBottomWidth / 2, CORNER.BOTTOM_LEFT) 15191 : new Vector(bounds.left + borderLeftWidth / 2, bounds.top + bounds.height - borderBottomWidth / 2); 15192 this.topLeftBorderBox = 15193 tlh > 0 || tlv > 0 15194 ? getCurvePoints(bounds.left, bounds.top, tlh, tlv, CORNER.TOP_LEFT) 15195 : new Vector(bounds.left, bounds.top); 15196 this.topRightBorderBox = 15197 trh > 0 || trv > 0 15198 ? getCurvePoints(bounds.left + topWidth, bounds.top, trh, trv, CORNER.TOP_RIGHT) 15199 : new Vector(bounds.left + bounds.width, bounds.top); 15200 this.bottomRightBorderBox = 15201 brh > 0 || brv > 0 15202 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh, brv, CORNER.BOTTOM_RIGHT) 15203 : new Vector(bounds.left + bounds.width, bounds.top + bounds.height); 15204 this.bottomLeftBorderBox = 15205 blh > 0 || blv > 0 15206 ? getCurvePoints(bounds.left, bounds.top + leftHeight, blh, blv, CORNER.BOTTOM_LEFT) 15207 : new Vector(bounds.left, bounds.top + bounds.height); 15208 this.topLeftPaddingBox = 15209 tlh > 0 || tlv > 0 15210 ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + borderTopWidth, Math.max(0, tlh - borderLeftWidth), Math.max(0, tlv - borderTopWidth), CORNER.TOP_LEFT) 15211 : new Vector(bounds.left + borderLeftWidth, bounds.top + borderTopWidth); 15212 this.topRightPaddingBox = 15213 trh > 0 || trv > 0 15214 ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width - borderRightWidth), bounds.top + borderTopWidth, topWidth > bounds.width + borderRightWidth ? 0 : Math.max(0, trh - borderRightWidth), Math.max(0, trv - borderTopWidth), CORNER.TOP_RIGHT) 15215 : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + borderTopWidth); 15216 this.bottomRightPaddingBox = 15217 brh > 0 || brv > 0 15218 ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - borderLeftWidth), bounds.top + Math.min(rightHeight, bounds.height - borderBottomWidth), Math.max(0, brh - borderRightWidth), Math.max(0, brv - borderBottomWidth), CORNER.BOTTOM_RIGHT) 15219 : new Vector(bounds.left + bounds.width - borderRightWidth, bounds.top + bounds.height - borderBottomWidth); 15220 this.bottomLeftPaddingBox = 15221 blh > 0 || blv > 0 15222 ? getCurvePoints(bounds.left + borderLeftWidth, bounds.top + Math.min(leftHeight, bounds.height - borderBottomWidth), Math.max(0, blh - borderLeftWidth), Math.max(0, blv - borderBottomWidth), CORNER.BOTTOM_LEFT) 15223 : new Vector(bounds.left + borderLeftWidth, bounds.top + bounds.height - borderBottomWidth); 15224 this.topLeftContentBox = 15225 tlh > 0 || tlv > 0 15226 ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop, Math.max(0, tlh - (borderLeftWidth + paddingLeft)), Math.max(0, tlv - (borderTopWidth + paddingTop)), CORNER.TOP_LEFT) 15227 : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + borderTopWidth + paddingTop); 15228 this.topRightContentBox = 15229 trh > 0 || trv > 0 15230 ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width + borderLeftWidth + paddingLeft), bounds.top + borderTopWidth + paddingTop, topWidth > bounds.width + borderLeftWidth + paddingLeft ? 0 : trh - borderLeftWidth + paddingLeft, trv - (borderTopWidth + paddingTop), CORNER.TOP_RIGHT) 15231 : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + borderTopWidth + paddingTop); 15232 this.bottomRightContentBox = 15233 brh > 0 || brv > 0 15234 ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - (borderLeftWidth + paddingLeft)), bounds.top + Math.min(rightHeight, bounds.height + borderTopWidth + paddingTop), Math.max(0, brh - (borderRightWidth + paddingRight)), brv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_RIGHT) 15235 : new Vector(bounds.left + bounds.width - (borderRightWidth + paddingRight), bounds.top + bounds.height - (borderBottomWidth + paddingBottom)); 15236 this.bottomLeftContentBox = 15237 blh > 0 || blv > 0 15238 ? getCurvePoints(bounds.left + borderLeftWidth + paddingLeft, bounds.top + leftHeight, Math.max(0, blh - (borderLeftWidth + paddingLeft)), blv - (borderBottomWidth + paddingBottom), CORNER.BOTTOM_LEFT) 15239 : new Vector(bounds.left + borderLeftWidth + paddingLeft, bounds.top + bounds.height - (borderBottomWidth + paddingBottom)); 15240 } 15241 return BoundCurves; 15242 }()); 15243 var CORNER; 15244 (function (CORNER) { 15245 CORNER[CORNER["TOP_LEFT"] = 0] = "TOP_LEFT"; 15246 CORNER[CORNER["TOP_RIGHT"] = 1] = "TOP_RIGHT"; 15247 CORNER[CORNER["BOTTOM_RIGHT"] = 2] = "BOTTOM_RIGHT"; 15248 CORNER[CORNER["BOTTOM_LEFT"] = 3] = "BOTTOM_LEFT"; 15249 })(CORNER || (CORNER = {})); 15250 var getCurvePoints = function (x, y, r1, r2, position) { 15251 var kappa = 4 * ((Math.sqrt(2) - 1) / 3); 15252 var ox = r1 * kappa; // control point offset horizontal 15253 var oy = r2 * kappa; // control point offset vertical 15254 var xm = x + r1; // x-middle 15255 var ym = y + r2; // y-middle 15256 switch (position) { 15257 case CORNER.TOP_LEFT: 15258 return new BezierCurve(new Vector(x, ym), new Vector(x, ym - oy), new Vector(xm - ox, y), new Vector(xm, y)); 15259 case CORNER.TOP_RIGHT: 15260 return new BezierCurve(new Vector(x, y), new Vector(x + ox, y), new Vector(xm, ym - oy), new Vector(xm, ym)); 15261 case CORNER.BOTTOM_RIGHT: 15262 return new BezierCurve(new Vector(xm, y), new Vector(xm, y + oy), new Vector(x + ox, ym), new Vector(x, ym)); 15263 case CORNER.BOTTOM_LEFT: 15264 default: 15265 return new BezierCurve(new Vector(xm, ym), new Vector(xm - ox, ym), new Vector(x, y + oy), new Vector(x, y)); 15266 } 15267 }; 15268 var calculateBorderBoxPath = function (curves) { 15269 return [curves.topLeftBorderBox, curves.topRightBorderBox, curves.bottomRightBorderBox, curves.bottomLeftBorderBox]; 15270 }; 15271 var calculateContentBoxPath = function (curves) { 15272 return [ 15273 curves.topLeftContentBox, 15274 curves.topRightContentBox, 15275 curves.bottomRightContentBox, 15276 curves.bottomLeftContentBox 15277 ]; 15278 }; 15279 var calculatePaddingBoxPath = function (curves) { 15280 return [ 15281 curves.topLeftPaddingBox, 15282 curves.topRightPaddingBox, 15283 curves.bottomRightPaddingBox, 15284 curves.bottomLeftPaddingBox 15285 ]; 15286 }; 15287 15288 var TransformEffect = /** @class */ (function () { 15289 function TransformEffect(offsetX, offsetY, matrix) { 15290 this.offsetX = offsetX; 15291 this.offsetY = offsetY; 15292 this.matrix = matrix; 15293 this.type = 0 /* TRANSFORM */; 15294 this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */; 15295 } 15296 return TransformEffect; 15297 }()); 15298 var ClipEffect = /** @class */ (function () { 15299 function ClipEffect(path, target) { 15300 this.path = path; 15301 this.target = target; 15302 this.type = 1 /* CLIP */; 15303 } 15304 return ClipEffect; 15305 }()); 15306 var OpacityEffect = /** @class */ (function () { 15307 function OpacityEffect(opacity) { 15308 this.opacity = opacity; 15309 this.type = 2 /* OPACITY */; 15310 this.target = 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */; 15311 } 15312 return OpacityEffect; 15313 }()); 15314 var isTransformEffect = function (effect) { 15315 return effect.type === 0 /* TRANSFORM */; 15316 }; 15317 var isClipEffect = function (effect) { return effect.type === 1 /* CLIP */; }; 15318 var isOpacityEffect = function (effect) { return effect.type === 2 /* OPACITY */; }; 15319 15320 var equalPath = function (a, b) { 15321 if (a.length === b.length) { 15322 return a.some(function (v, i) { return v === b[i]; }); 15323 } 15324 return false; 15325 }; 15326 var transformPath = function (path, deltaX, deltaY, deltaW, deltaH) { 15327 return path.map(function (point, index) { 15328 switch (index) { 15329 case 0: 15330 return point.add(deltaX, deltaY); 15331 case 1: 15332 return point.add(deltaX + deltaW, deltaY); 15333 case 2: 15334 return point.add(deltaX + deltaW, deltaY + deltaH); 15335 case 3: 15336 return point.add(deltaX, deltaY + deltaH); 15337 } 15338 return point; 15339 }); 15340 }; 15341 15342 var StackingContext = /** @class */ (function () { 15343 function StackingContext(container) { 15344 this.element = container; 15345 this.inlineLevel = []; 15346 this.nonInlineLevel = []; 15347 this.negativeZIndex = []; 15348 this.zeroOrAutoZIndexOrTransformedOrOpacity = []; 15349 this.positiveZIndex = []; 15350 this.nonPositionedFloats = []; 15351 this.nonPositionedInlineLevel = []; 15352 } 15353 return StackingContext; 15354 }()); 15355 var ElementPaint = /** @class */ (function () { 15356 function ElementPaint(container, parent) { 15357 this.container = container; 15358 this.parent = parent; 15359 this.effects = []; 15360 this.curves = new BoundCurves(this.container); 15361 if (this.container.styles.opacity < 1) { 15362 this.effects.push(new OpacityEffect(this.container.styles.opacity)); 15363 } 15364 if (this.container.styles.transform !== null) { 15365 var offsetX = this.container.bounds.left + this.container.styles.transformOrigin[0].number; 15366 var offsetY = this.container.bounds.top + this.container.styles.transformOrigin[1].number; 15367 var matrix = this.container.styles.transform; 15368 this.effects.push(new TransformEffect(offsetX, offsetY, matrix)); 15369 } 15370 if (this.container.styles.overflowX !== 0 /* VISIBLE */) { 15371 var borderBox = calculateBorderBoxPath(this.curves); 15372 var paddingBox = calculatePaddingBoxPath(this.curves); 15373 if (equalPath(borderBox, paddingBox)) { 15374 this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */)); 15375 } 15376 else { 15377 this.effects.push(new ClipEffect(borderBox, 2 /* BACKGROUND_BORDERS */)); 15378 this.effects.push(new ClipEffect(paddingBox, 4 /* CONTENT */)); 15379 } 15380 } 15381 } 15382 ElementPaint.prototype.getEffects = function (target) { 15383 var inFlow = [2 /* ABSOLUTE */, 3 /* FIXED */].indexOf(this.container.styles.position) === -1; 15384 var parent = this.parent; 15385 var effects = this.effects.slice(0); 15386 while (parent) { 15387 var croplessEffects = parent.effects.filter(function (effect) { return !isClipEffect(effect); }); 15388 if (inFlow || parent.container.styles.position !== 0 /* STATIC */ || !parent.parent) { 15389 effects.unshift.apply(effects, croplessEffects); 15390 inFlow = [2 /* ABSOLUTE */, 3 /* FIXED */].indexOf(parent.container.styles.position) === -1; 15391 if (parent.container.styles.overflowX !== 0 /* VISIBLE */) { 15392 var borderBox = calculateBorderBoxPath(parent.curves); 15393 var paddingBox = calculatePaddingBoxPath(parent.curves); 15394 if (!equalPath(borderBox, paddingBox)) { 15395 effects.unshift(new ClipEffect(paddingBox, 2 /* BACKGROUND_BORDERS */ | 4 /* CONTENT */)); 15396 } 15397 } 15398 } 15399 else { 15400 effects.unshift.apply(effects, croplessEffects); 15401 } 15402 parent = parent.parent; 15403 } 15404 return effects.filter(function (effect) { return contains(effect.target, target); }); 15405 }; 15406 return ElementPaint; 15407 }()); 15408 var parseStackTree = function (parent, stackingContext, realStackingContext, listItems) { 15409 parent.container.elements.forEach(function (child) { 15410 var treatAsRealStackingContext = contains(child.flags, 4 /* CREATES_REAL_STACKING_CONTEXT */); 15411 var createsStackingContext = contains(child.flags, 2 /* CREATES_STACKING_CONTEXT */); 15412 var paintContainer = new ElementPaint(child, parent); 15413 if (contains(child.styles.display, 2048 /* LIST_ITEM */)) { 15414 listItems.push(paintContainer); 15415 } 15416 var listOwnerItems = contains(child.flags, 8 /* IS_LIST_OWNER */) ? [] : listItems; 15417 if (treatAsRealStackingContext || createsStackingContext) { 15418 var parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext; 15419 var stack = new StackingContext(paintContainer); 15420 if (child.styles.isPositioned() || child.styles.opacity < 1 || child.styles.isTransformed()) { 15421 var order_1 = child.styles.zIndex.order; 15422 if (order_1 < 0) { 15423 var index_1 = 0; 15424 parentStack.negativeZIndex.some(function (current, i) { 15425 if (order_1 > current.element.container.styles.zIndex.order) { 15426 index_1 = i; 15427 return false; 15428 } 15429 else if (index_1 > 0) { 15430 return true; 15431 } 15432 return false; 15433 }); 15434 parentStack.negativeZIndex.splice(index_1, 0, stack); 15435 } 15436 else if (order_1 > 0) { 15437 var index_2 = 0; 15438 parentStack.positiveZIndex.some(function (current, i) { 15439 if (order_1 >= current.element.container.styles.zIndex.order) { 15440 index_2 = i + 1; 15441 return false; 15442 } 15443 else if (index_2 > 0) { 15444 return true; 15445 } 15446 return false; 15447 }); 15448 parentStack.positiveZIndex.splice(index_2, 0, stack); 15449 } 15450 else { 15451 parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack); 15452 } 15453 } 15454 else { 15455 if (child.styles.isFloating()) { 15456 parentStack.nonPositionedFloats.push(stack); 15457 } 15458 else { 15459 parentStack.nonPositionedInlineLevel.push(stack); 15460 } 15461 } 15462 parseStackTree(paintContainer, stack, treatAsRealStackingContext ? stack : realStackingContext, listOwnerItems); 15463 } 15464 else { 15465 if (child.styles.isInlineLevel()) { 15466 stackingContext.inlineLevel.push(paintContainer); 15467 } 15468 else { 15469 stackingContext.nonInlineLevel.push(paintContainer); 15470 } 15471 parseStackTree(paintContainer, stackingContext, realStackingContext, listOwnerItems); 15472 } 15473 if (contains(child.flags, 8 /* IS_LIST_OWNER */)) { 15474 processListItems(child, listOwnerItems); 15475 } 15476 }); 15477 }; 15478 var processListItems = function (owner, elements) { 15479 var numbering = owner instanceof OLElementContainer ? owner.start : 1; 15480 var reversed = owner instanceof OLElementContainer ? owner.reversed : false; 15481 for (var i = 0; i < elements.length; i++) { 15482 var item = elements[i]; 15483 if (item.container instanceof LIElementContainer && 15484 typeof item.container.value === 'number' && 15485 item.container.value !== 0) { 15486 numbering = item.container.value; 15487 } 15488 item.listValue = createCounterText(numbering, item.container.styles.listStyleType, true); 15489 numbering += reversed ? -1 : 1; 15490 } 15491 }; 15492 var parseStackingContexts = function (container) { 15493 var paintContainer = new ElementPaint(container, null); 15494 var root = new StackingContext(paintContainer); 15495 var listItems = []; 15496 parseStackTree(paintContainer, root, root, listItems); 15497 processListItems(paintContainer.container, listItems); 15498 return root; 15499 }; 15500 15501 var parsePathForBorder = function (curves, borderSide) { 15502 switch (borderSide) { 15503 case 0: 15504 return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftPaddingBox, curves.topRightBorderBox, curves.topRightPaddingBox); 15505 case 1: 15506 return createPathFromCurves(curves.topRightBorderBox, curves.topRightPaddingBox, curves.bottomRightBorderBox, curves.bottomRightPaddingBox); 15507 case 2: 15508 return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox); 15509 case 3: 15510 default: 15511 return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftPaddingBox, curves.topLeftBorderBox, curves.topLeftPaddingBox); 15512 } 15513 }; 15514 var parsePathForBorderDoubleOuter = function (curves, borderSide) { 15515 switch (borderSide) { 15516 case 0: 15517 return createPathFromCurves(curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox, curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox); 15518 case 1: 15519 return createPathFromCurves(curves.topRightBorderBox, curves.topRightBorderDoubleOuterBox, curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox); 15520 case 2: 15521 return createPathFromCurves(curves.bottomRightBorderBox, curves.bottomRightBorderDoubleOuterBox, curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox); 15522 case 3: 15523 default: 15524 return createPathFromCurves(curves.bottomLeftBorderBox, curves.bottomLeftBorderDoubleOuterBox, curves.topLeftBorderBox, curves.topLeftBorderDoubleOuterBox); 15525 } 15526 }; 15527 var parsePathForBorderDoubleInner = function (curves, borderSide) { 15528 switch (borderSide) { 15529 case 0: 15530 return createPathFromCurves(curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox, curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox); 15531 case 1: 15532 return createPathFromCurves(curves.topRightBorderDoubleInnerBox, curves.topRightPaddingBox, curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox); 15533 case 2: 15534 return createPathFromCurves(curves.bottomRightBorderDoubleInnerBox, curves.bottomRightPaddingBox, curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox); 15535 case 3: 15536 default: 15537 return createPathFromCurves(curves.bottomLeftBorderDoubleInnerBox, curves.bottomLeftPaddingBox, curves.topLeftBorderDoubleInnerBox, curves.topLeftPaddingBox); 15538 } 15539 }; 15540 var parsePathForBorderStroke = function (curves, borderSide) { 15541 switch (borderSide) { 15542 case 0: 15543 return createStrokePathFromCurves(curves.topLeftBorderStroke, curves.topRightBorderStroke); 15544 case 1: 15545 return createStrokePathFromCurves(curves.topRightBorderStroke, curves.bottomRightBorderStroke); 15546 case 2: 15547 return createStrokePathFromCurves(curves.bottomRightBorderStroke, curves.bottomLeftBorderStroke); 15548 case 3: 15549 default: 15550 return createStrokePathFromCurves(curves.bottomLeftBorderStroke, curves.topLeftBorderStroke); 15551 } 15552 }; 15553 var createStrokePathFromCurves = function (outer1, outer2) { 15554 var path = []; 15555 if (isBezierCurve(outer1)) { 15556 path.push(outer1.subdivide(0.5, false)); 15557 } 15558 else { 15559 path.push(outer1); 15560 } 15561 if (isBezierCurve(outer2)) { 15562 path.push(outer2.subdivide(0.5, true)); 15563 } 15564 else { 15565 path.push(outer2); 15566 } 15567 return path; 15568 }; 15569 var createPathFromCurves = function (outer1, inner1, outer2, inner2) { 15570 var path = []; 15571 if (isBezierCurve(outer1)) { 15572 path.push(outer1.subdivide(0.5, false)); 15573 } 15574 else { 15575 path.push(outer1); 15576 } 15577 if (isBezierCurve(outer2)) { 15578 path.push(outer2.subdivide(0.5, true)); 15579 } 15580 else { 15581 path.push(outer2); 15582 } 15583 if (isBezierCurve(inner2)) { 15584 path.push(inner2.subdivide(0.5, true).reverse()); 15585 } 15586 else { 15587 path.push(inner2); 15588 } 15589 if (isBezierCurve(inner1)) { 15590 path.push(inner1.subdivide(0.5, false).reverse()); 15591 } 15592 else { 15593 path.push(inner1); 15594 } 15595 return path; 15596 }; 15597 15598 var paddingBox = function (element) { 15599 var bounds = element.bounds; 15600 var styles = element.styles; 15601 return bounds.add(styles.borderLeftWidth, styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth), -(styles.borderTopWidth + styles.borderBottomWidth)); 15602 }; 15603 var contentBox = function (element) { 15604 var styles = element.styles; 15605 var bounds = element.bounds; 15606 var paddingLeft = getAbsoluteValue(styles.paddingLeft, bounds.width); 15607 var paddingRight = getAbsoluteValue(styles.paddingRight, bounds.width); 15608 var paddingTop = getAbsoluteValue(styles.paddingTop, bounds.width); 15609 var paddingBottom = getAbsoluteValue(styles.paddingBottom, bounds.width); 15610 return bounds.add(paddingLeft + styles.borderLeftWidth, paddingTop + styles.borderTopWidth, -(styles.borderRightWidth + styles.borderLeftWidth + paddingLeft + paddingRight), -(styles.borderTopWidth + styles.borderBottomWidth + paddingTop + paddingBottom)); 15611 }; 15612 15613 var calculateBackgroundPositioningArea = function (backgroundOrigin, element) { 15614 if (backgroundOrigin === 0 /* BORDER_BOX */) { 15615 return element.bounds; 15616 } 15617 if (backgroundOrigin === 2 /* CONTENT_BOX */) { 15618 return contentBox(element); 15619 } 15620 return paddingBox(element); 15621 }; 15622 var calculateBackgroundPaintingArea = function (backgroundClip, element) { 15623 if (backgroundClip === 0 /* BORDER_BOX */) { 15624 return element.bounds; 15625 } 15626 if (backgroundClip === 2 /* CONTENT_BOX */) { 15627 return contentBox(element); 15628 } 15629 return paddingBox(element); 15630 }; 15631 var calculateBackgroundRendering = function (container, index, intrinsicSize) { 15632 var backgroundPositioningArea = calculateBackgroundPositioningArea(getBackgroundValueForIndex(container.styles.backgroundOrigin, index), container); 15633 var backgroundPaintingArea = calculateBackgroundPaintingArea(getBackgroundValueForIndex(container.styles.backgroundClip, index), container); 15634 var backgroundImageSize = calculateBackgroundSize(getBackgroundValueForIndex(container.styles.backgroundSize, index), intrinsicSize, backgroundPositioningArea); 15635 var sizeWidth = backgroundImageSize[0], sizeHeight = backgroundImageSize[1]; 15636 var position = getAbsoluteValueForTuple(getBackgroundValueForIndex(container.styles.backgroundPosition, index), backgroundPositioningArea.width - sizeWidth, backgroundPositioningArea.height - sizeHeight); 15637 var path = calculateBackgroundRepeatPath(getBackgroundValueForIndex(container.styles.backgroundRepeat, index), position, backgroundImageSize, backgroundPositioningArea, backgroundPaintingArea); 15638 var offsetX = Math.round(backgroundPositioningArea.left + position[0]); 15639 var offsetY = Math.round(backgroundPositioningArea.top + position[1]); 15640 return [path, offsetX, offsetY, sizeWidth, sizeHeight]; 15641 }; 15642 var isAuto = function (token) { return isIdentToken(token) && token.value === BACKGROUND_SIZE.AUTO; }; 15643 var hasIntrinsicValue = function (value) { return typeof value === 'number'; }; 15644 var calculateBackgroundSize = function (size, _a, bounds) { 15645 var intrinsicWidth = _a[0], intrinsicHeight = _a[1], intrinsicProportion = _a[2]; 15646 var first = size[0], second = size[1]; 15647 if (!first) { 15648 return [0, 0]; 15649 } 15650 if (isLengthPercentage(first) && second && isLengthPercentage(second)) { 15651 return [getAbsoluteValue(first, bounds.width), getAbsoluteValue(second, bounds.height)]; 15652 } 15653 var hasIntrinsicProportion = hasIntrinsicValue(intrinsicProportion); 15654 if (isIdentToken(first) && (first.value === BACKGROUND_SIZE.CONTAIN || first.value === BACKGROUND_SIZE.COVER)) { 15655 if (hasIntrinsicValue(intrinsicProportion)) { 15656 var targetRatio = bounds.width / bounds.height; 15657 return targetRatio < intrinsicProportion !== (first.value === BACKGROUND_SIZE.COVER) 15658 ? [bounds.width, bounds.width / intrinsicProportion] 15659 : [bounds.height * intrinsicProportion, bounds.height]; 15660 } 15661 return [bounds.width, bounds.height]; 15662 } 15663 var hasIntrinsicWidth = hasIntrinsicValue(intrinsicWidth); 15664 var hasIntrinsicHeight = hasIntrinsicValue(intrinsicHeight); 15665 var hasIntrinsicDimensions = hasIntrinsicWidth || hasIntrinsicHeight; 15666 // If the background-size is auto or auto auto: 15667 if (isAuto(first) && (!second || isAuto(second))) { 15668 // If the image has both horizontal and vertical intrinsic dimensions, it's rendered at that size. 15669 if (hasIntrinsicWidth && hasIntrinsicHeight) { 15670 return [intrinsicWidth, intrinsicHeight]; 15671 } 15672 // If the image has no intrinsic dimensions and has no intrinsic proportions, 15673 // it's rendered at the size of the background positioning area. 15674 if (!hasIntrinsicProportion && !hasIntrinsicDimensions) { 15675 return [bounds.width, bounds.height]; 15676 } 15677 // TODO If the image has no intrinsic dimensions but has intrinsic proportions, it's rendered as if contain had been specified instead. 15678 // If the image has only one intrinsic dimension and has intrinsic proportions, it's rendered at the size corresponding to that one dimension. 15679 // The other dimension is computed using the specified dimension and the intrinsic proportions. 15680 if (hasIntrinsicDimensions && hasIntrinsicProportion) { 15681 var width_1 = hasIntrinsicWidth 15682 ? intrinsicWidth 15683 : intrinsicHeight * intrinsicProportion; 15684 var height_1 = hasIntrinsicHeight 15685 ? intrinsicHeight 15686 : intrinsicWidth / intrinsicProportion; 15687 return [width_1, height_1]; 15688 } 15689 // If the image has only one intrinsic dimension but has no intrinsic proportions, 15690 // it's rendered using the specified dimension and the other dimension of the background positioning area. 15691 var width_2 = hasIntrinsicWidth ? intrinsicWidth : bounds.width; 15692 var height_2 = hasIntrinsicHeight ? intrinsicHeight : bounds.height; 15693 return [width_2, height_2]; 15694 } 15695 // If the image has intrinsic proportions, it's stretched to the specified dimension. 15696 // The unspecified dimension is computed using the specified dimension and the intrinsic proportions. 15697 if (hasIntrinsicProportion) { 15698 var width_3 = 0; 15699 var height_3 = 0; 15700 if (isLengthPercentage(first)) { 15701 width_3 = getAbsoluteValue(first, bounds.width); 15702 } 15703 else if (isLengthPercentage(second)) { 15704 height_3 = getAbsoluteValue(second, bounds.height); 15705 } 15706 if (isAuto(first)) { 15707 width_3 = height_3 * intrinsicProportion; 15708 } 15709 else if (!second || isAuto(second)) { 15710 height_3 = width_3 / intrinsicProportion; 15711 } 15712 return [width_3, height_3]; 15713 } 15714 // If the image has no intrinsic proportions, it's stretched to the specified dimension. 15715 // The unspecified dimension is computed using the image's corresponding intrinsic dimension, 15716 // if there is one. If there is no such intrinsic dimension, 15717 // it becomes the corresponding dimension of the background positioning area. 15718 var width = null; 15719 var height = null; 15720 if (isLengthPercentage(first)) { 15721 width = getAbsoluteValue(first, bounds.width); 15722 } 15723 else if (second && isLengthPercentage(second)) { 15724 height = getAbsoluteValue(second, bounds.height); 15725 } 15726 if (width !== null && (!second || isAuto(second))) { 15727 height = 15728 hasIntrinsicWidth && hasIntrinsicHeight 15729 ? (width / intrinsicWidth) * intrinsicHeight 15730 : bounds.height; 15731 } 15732 if (height !== null && isAuto(first)) { 15733 width = 15734 hasIntrinsicWidth && hasIntrinsicHeight 15735 ? (height / intrinsicHeight) * intrinsicWidth 15736 : bounds.width; 15737 } 15738 if (width !== null && height !== null) { 15739 return [width, height]; 15740 } 15741 throw new Error("Unable to calculate background-size for element"); 15742 }; 15743 var getBackgroundValueForIndex = function (values, index) { 15744 var value = values[index]; 15745 if (typeof value === 'undefined') { 15746 return values[0]; 15747 } 15748 return value; 15749 }; 15750 var calculateBackgroundRepeatPath = function (repeat, _a, _b, backgroundPositioningArea, backgroundPaintingArea) { 15751 var x = _a[0], y = _a[1]; 15752 var width = _b[0], height = _b[1]; 15753 switch (repeat) { 15754 case 2 /* REPEAT_X */: 15755 return [ 15756 new Vector(Math.round(backgroundPositioningArea.left), Math.round(backgroundPositioningArea.top + y)), 15757 new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(backgroundPositioningArea.top + y)), 15758 new Vector(Math.round(backgroundPositioningArea.left + backgroundPositioningArea.width), Math.round(height + backgroundPositioningArea.top + y)), 15759 new Vector(Math.round(backgroundPositioningArea.left), Math.round(height + backgroundPositioningArea.top + y)) 15760 ]; 15761 case 3 /* REPEAT_Y */: 15762 return [ 15763 new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top)), 15764 new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top)), 15765 new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top)), 15766 new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.height + backgroundPositioningArea.top)) 15767 ]; 15768 case 1 /* NO_REPEAT */: 15769 return [ 15770 new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y)), 15771 new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y)), 15772 new Vector(Math.round(backgroundPositioningArea.left + x + width), Math.round(backgroundPositioningArea.top + y + height)), 15773 new Vector(Math.round(backgroundPositioningArea.left + x), Math.round(backgroundPositioningArea.top + y + height)) 15774 ]; 15775 default: 15776 return [ 15777 new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.top)), 15778 new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.top)), 15779 new Vector(Math.round(backgroundPaintingArea.left + backgroundPaintingArea.width), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top)), 15780 new Vector(Math.round(backgroundPaintingArea.left), Math.round(backgroundPaintingArea.height + backgroundPaintingArea.top)) 15781 ]; 15782 } 15783 }; 15784 15785 var SMALL_IMAGE = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; 15786 15787 var SAMPLE_TEXT = 'Hidden Text'; 15788 var FontMetrics = /** @class */ (function () { 15789 function FontMetrics(document) { 15790 this._data = {}; 15791 this._document = document; 15792 } 15793 FontMetrics.prototype.parseMetrics = function (fontFamily, fontSize) { 15794 var container = this._document.createElement('div'); 15795 var img = this._document.createElement('img'); 15796 var span = this._document.createElement('span'); 15797 var body = this._document.body; 15798 container.style.visibility = 'hidden'; 15799 container.style.fontFamily = fontFamily; 15800 container.style.fontSize = fontSize; 15801 container.style.margin = '0'; 15802 container.style.padding = '0'; 15803 container.style.whiteSpace = 'nowrap'; 15804 body.appendChild(container); 15805 img.src = SMALL_IMAGE; 15806 img.width = 1; 15807 img.height = 1; 15808 img.style.margin = '0'; 15809 img.style.padding = '0'; 15810 img.style.verticalAlign = 'baseline'; 15811 span.style.fontFamily = fontFamily; 15812 span.style.fontSize = fontSize; 15813 span.style.margin = '0'; 15814 span.style.padding = '0'; 15815 span.appendChild(this._document.createTextNode(SAMPLE_TEXT)); 15816 container.appendChild(span); 15817 container.appendChild(img); 15818 var baseline = img.offsetTop - span.offsetTop + 2; 15819 container.removeChild(span); 15820 container.appendChild(this._document.createTextNode(SAMPLE_TEXT)); 15821 container.style.lineHeight = 'normal'; 15822 img.style.verticalAlign = 'super'; 15823 var middle = img.offsetTop - container.offsetTop + 2; 15824 body.removeChild(container); 15825 return { baseline: baseline, middle: middle }; 15826 }; 15827 FontMetrics.prototype.getMetrics = function (fontFamily, fontSize) { 15828 var key = fontFamily + " " + fontSize; 15829 if (typeof this._data[key] === 'undefined') { 15830 this._data[key] = this.parseMetrics(fontFamily, fontSize); 15831 } 15832 return this._data[key]; 15833 }; 15834 return FontMetrics; 15835 }()); 15836 15837 var Renderer = /** @class */ (function () { 15838 function Renderer(context, options) { 15839 this.context = context; 15840 this.options = options; 15841 } 15842 return Renderer; 15843 }()); 15844 15845 var MASK_OFFSET = 10000; 15846 var CanvasRenderer = /** @class */ (function (_super) { 15847 __extends(CanvasRenderer, _super); 15848 function CanvasRenderer(context, options) { 15849 var _this = _super.call(this, context, options) || this; 15850 _this._activeEffects = []; 15851 _this.canvas = options.canvas ? options.canvas : document.createElement('canvas'); 15852 _this.ctx = _this.canvas.getContext('2d'); 15853 if (!options.canvas) { 15854 _this.canvas.width = Math.floor(options.width * options.scale); 15855 _this.canvas.height = Math.floor(options.height * options.scale); 15856 _this.canvas.style.width = options.width + "px"; 15857 _this.canvas.style.height = options.height + "px"; 15858 } 15859 _this.fontMetrics = new FontMetrics(document); 15860 _this.ctx.scale(_this.options.scale, _this.options.scale); 15861 _this.ctx.translate(-options.x, -options.y); 15862 _this.ctx.textBaseline = 'bottom'; 15863 _this._activeEffects = []; 15864 _this.context.logger.debug("Canvas renderer initialized (" + options.width + "x" + options.height + ") with scale " + options.scale); 15865 return _this; 15866 } 15867 CanvasRenderer.prototype.applyEffects = function (effects) { 15868 var _this = this; 15869 while (this._activeEffects.length) { 15870 this.popEffect(); 15871 } 15872 effects.forEach(function (effect) { return _this.applyEffect(effect); }); 15873 }; 15874 CanvasRenderer.prototype.applyEffect = function (effect) { 15875 this.ctx.save(); 15876 if (isOpacityEffect(effect)) { 15877 this.ctx.globalAlpha = effect.opacity; 15878 } 15879 if (isTransformEffect(effect)) { 15880 this.ctx.translate(effect.offsetX, effect.offsetY); 15881 this.ctx.transform(effect.matrix[0], effect.matrix[1], effect.matrix[2], effect.matrix[3], effect.matrix[4], effect.matrix[5]); 15882 this.ctx.translate(-effect.offsetX, -effect.offsetY); 15883 } 15884 if (isClipEffect(effect)) { 15885 this.path(effect.path); 15886 this.ctx.clip(); 15887 } 15888 this._activeEffects.push(effect); 15889 }; 15890 CanvasRenderer.prototype.popEffect = function () { 15891 this._activeEffects.pop(); 15892 this.ctx.restore(); 15893 }; 15894 CanvasRenderer.prototype.renderStack = function (stack) { 15895 return __awaiter(this, void 0, void 0, function () { 15896 var styles; 15897 return __generator(this, function (_a) { 15898 switch (_a.label) { 15899 case 0: 15900 styles = stack.element.container.styles; 15901 if (!styles.isVisible()) return [3 /*break*/, 2]; 15902 return [4 /*yield*/, this.renderStackContent(stack)]; 15903 case 1: 15904 _a.sent(); 15905 _a.label = 2; 15906 case 2: return [2 /*return*/]; 15907 } 15908 }); 15909 }); 15910 }; 15911 CanvasRenderer.prototype.renderNode = function (paint) { 15912 return __awaiter(this, void 0, void 0, function () { 15913 return __generator(this, function (_a) { 15914 switch (_a.label) { 15915 case 0: 15916 if (contains(paint.container.flags, 16 /* DEBUG_RENDER */)) { 15917 debugger; 15918 } 15919 if (!paint.container.styles.isVisible()) return [3 /*break*/, 3]; 15920 return [4 /*yield*/, this.renderNodeBackgroundAndBorders(paint)]; 15921 case 1: 15922 _a.sent(); 15923 return [4 /*yield*/, this.renderNodeContent(paint)]; 15924 case 2: 15925 _a.sent(); 15926 _a.label = 3; 15927 case 3: return [2 /*return*/]; 15928 } 15929 }); 15930 }); 15931 }; 15932 CanvasRenderer.prototype.renderTextWithLetterSpacing = function (text, letterSpacing, baseline) { 15933 var _this = this; 15934 if (letterSpacing === 0) { 15935 this.ctx.fillText(text.text, text.bounds.left, text.bounds.top + baseline); 15936 } 15937 else { 15938 var letters = segmentGraphemes(text.text); 15939 letters.reduce(function (left, letter) { 15940 _this.ctx.fillText(letter, left, text.bounds.top + baseline); 15941 return left + _this.ctx.measureText(letter).width; 15942 }, text.bounds.left); 15943 } 15944 }; 15945 CanvasRenderer.prototype.createFontStyle = function (styles) { 15946 var fontVariant = styles.fontVariant 15947 .filter(function (variant) { return variant === 'normal' || variant === 'small-caps'; }) 15948 .join(''); 15949 var fontFamily = fixIOSSystemFonts(styles.fontFamily).join(', '); 15950 var fontSize = isDimensionToken(styles.fontSize) 15951 ? "" + styles.fontSize.number + styles.fontSize.unit 15952 : styles.fontSize.number + "px"; 15953 return [ 15954 [styles.fontStyle, fontVariant, styles.fontWeight, fontSize, fontFamily].join(' '), 15955 fontFamily, 15956 fontSize 15957 ]; 15958 }; 15959 CanvasRenderer.prototype.renderTextNode = function (text, styles) { 15960 return __awaiter(this, void 0, void 0, function () { 15961 var _a, font, fontFamily, fontSize, _b, baseline, middle, paintOrder; 15962 var _this = this; 15963 return __generator(this, function (_c) { 15964 _a = this.createFontStyle(styles), font = _a[0], fontFamily = _a[1], fontSize = _a[2]; 15965 this.ctx.font = font; 15966 this.ctx.direction = styles.direction === 1 /* RTL */ ? 'rtl' : 'ltr'; 15967 this.ctx.textAlign = 'left'; 15968 this.ctx.textBaseline = 'alphabetic'; 15969 _b = this.fontMetrics.getMetrics(fontFamily, fontSize), baseline = _b.baseline, middle = _b.middle; 15970 paintOrder = styles.paintOrder; 15971 text.textBounds.forEach(function (text) { 15972 paintOrder.forEach(function (paintOrderLayer) { 15973 switch (paintOrderLayer) { 15974 case 0 /* FILL */: 15975 _this.ctx.fillStyle = asString(styles.color); 15976 _this.renderTextWithLetterSpacing(text, styles.letterSpacing, baseline); 15977 var textShadows = styles.textShadow; 15978 if (textShadows.length && text.text.trim().length) { 15979 textShadows 15980 .slice(0) 15981 .reverse() 15982 .forEach(function (textShadow) { 15983 _this.ctx.shadowColor = asString(textShadow.color); 15984 _this.ctx.shadowOffsetX = textShadow.offsetX.number * _this.options.scale; 15985 _this.ctx.shadowOffsetY = textShadow.offsetY.number * _this.options.scale; 15986 _this.ctx.shadowBlur = textShadow.blur.number; 15987 _this.renderTextWithLetterSpacing(text, styles.letterSpacing, baseline); 15988 }); 15989 _this.ctx.shadowColor = ''; 15990 _this.ctx.shadowOffsetX = 0; 15991 _this.ctx.shadowOffsetY = 0; 15992 _this.ctx.shadowBlur = 0; 15993 } 15994 if (styles.textDecorationLine.length) { 15995 _this.ctx.fillStyle = asString(styles.textDecorationColor || styles.color); 15996 styles.textDecorationLine.forEach(function (textDecorationLine) { 15997 switch (textDecorationLine) { 15998 case 1 /* UNDERLINE */: 15999 // Draws a line at the baseline of the font 16000 // TODO As some browsers display the line as more than 1px if the font-size is big, 16001 // need to take that into account both in position and size 16002 _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top + baseline), text.bounds.width, 1); 16003 break; 16004 case 2 /* OVERLINE */: 16005 _this.ctx.fillRect(text.bounds.left, Math.round(text.bounds.top), text.bounds.width, 1); 16006 break; 16007 case 3 /* LINE_THROUGH */: 16008 // TODO try and find exact position for line-through 16009 _this.ctx.fillRect(text.bounds.left, Math.ceil(text.bounds.top + middle), text.bounds.width, 1); 16010 break; 16011 } 16012 }); 16013 } 16014 break; 16015 case 1 /* STROKE */: 16016 if (styles.webkitTextStrokeWidth && text.text.trim().length) { 16017 _this.ctx.strokeStyle = asString(styles.webkitTextStrokeColor); 16018 _this.ctx.lineWidth = styles.webkitTextStrokeWidth; 16019 // eslint-disable-next-line @typescript-eslint/no-explicit-any 16020 _this.ctx.lineJoin = !!window.chrome ? 'miter' : 'round'; 16021 _this.ctx.strokeText(text.text, text.bounds.left, text.bounds.top + baseline); 16022 } 16023 _this.ctx.strokeStyle = ''; 16024 _this.ctx.lineWidth = 0; 16025 _this.ctx.lineJoin = 'miter'; 16026 break; 16027 } 16028 }); 16029 }); 16030 return [2 /*return*/]; 16031 }); 16032 }); 16033 }; 16034 CanvasRenderer.prototype.renderReplacedElement = function (container, curves, image) { 16035 if (image && container.intrinsicWidth > 0 && container.intrinsicHeight > 0) { 16036 var box = contentBox(container); 16037 var path = calculatePaddingBoxPath(curves); 16038 this.path(path); 16039 this.ctx.save(); 16040 this.ctx.clip(); 16041 this.ctx.drawImage(image, 0, 0, container.intrinsicWidth, container.intrinsicHeight, box.left, box.top, box.width, box.height); 16042 this.ctx.restore(); 16043 } 16044 }; 16045 CanvasRenderer.prototype.renderNodeContent = function (paint) { 16046 return __awaiter(this, void 0, void 0, function () { 16047 var container, curves, styles, _i, _a, child, image, image, iframeRenderer, canvas, size, _b, fontFamily, fontSize, baseline, bounds, x, textBounds, img, image, url, fontFamily, bounds; 16048 return __generator(this, function (_c) { 16049 switch (_c.label) { 16050 case 0: 16051 this.applyEffects(paint.getEffects(4 /* CONTENT */)); 16052 container = paint.container; 16053 curves = paint.curves; 16054 styles = container.styles; 16055 _i = 0, _a = container.textNodes; 16056 _c.label = 1; 16057 case 1: 16058 if (!(_i < _a.length)) return [3 /*break*/, 4]; 16059 child = _a[_i]; 16060 return [4 /*yield*/, this.renderTextNode(child, styles)]; 16061 case 2: 16062 _c.sent(); 16063 _c.label = 3; 16064 case 3: 16065 _i++; 16066 return [3 /*break*/, 1]; 16067 case 4: 16068 if (!(container instanceof ImageElementContainer)) return [3 /*break*/, 8]; 16069 _c.label = 5; 16070 case 5: 16071 _c.trys.push([5, 7, , 8]); 16072 return [4 /*yield*/, this.context.cache.match(container.src)]; 16073 case 6: 16074 image = _c.sent(); 16075 this.renderReplacedElement(container, curves, image); 16076 return [3 /*break*/, 8]; 16077 case 7: 16078 _c.sent(); 16079 this.context.logger.error("Error loading image " + container.src); 16080 return [3 /*break*/, 8]; 16081 case 8: 16082 if (container instanceof CanvasElementContainer) { 16083 this.renderReplacedElement(container, curves, container.canvas); 16084 } 16085 if (!(container instanceof SVGElementContainer)) return [3 /*break*/, 12]; 16086 _c.label = 9; 16087 case 9: 16088 _c.trys.push([9, 11, , 12]); 16089 return [4 /*yield*/, this.context.cache.match(container.svg)]; 16090 case 10: 16091 image = _c.sent(); 16092 this.renderReplacedElement(container, curves, image); 16093 return [3 /*break*/, 12]; 16094 case 11: 16095 _c.sent(); 16096 this.context.logger.error("Error loading svg " + container.svg.substring(0, 255)); 16097 return [3 /*break*/, 12]; 16098 case 12: 16099 if (!(container instanceof IFrameElementContainer && container.tree)) return [3 /*break*/, 14]; 16100 iframeRenderer = new CanvasRenderer(this.context, { 16101 scale: this.options.scale, 16102 backgroundColor: container.backgroundColor, 16103 x: 0, 16104 y: 0, 16105 width: container.width, 16106 height: container.height 16107 }); 16108 return [4 /*yield*/, iframeRenderer.render(container.tree)]; 16109 case 13: 16110 canvas = _c.sent(); 16111 if (container.width && container.height) { 16112 this.ctx.drawImage(canvas, 0, 0, container.width, container.height, container.bounds.left, container.bounds.top, container.bounds.width, container.bounds.height); 16113 } 16114 _c.label = 14; 16115 case 14: 16116 if (container instanceof InputElementContainer) { 16117 size = Math.min(container.bounds.width, container.bounds.height); 16118 if (container.type === CHECKBOX) { 16119 if (container.checked) { 16120 this.ctx.save(); 16121 this.path([ 16122 new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79), 16123 new Vector(container.bounds.left + size * 0.16, container.bounds.top + size * 0.5549), 16124 new Vector(container.bounds.left + size * 0.27347, container.bounds.top + size * 0.44071), 16125 new Vector(container.bounds.left + size * 0.39694, container.bounds.top + size * 0.5649), 16126 new Vector(container.bounds.left + size * 0.72983, container.bounds.top + size * 0.23), 16127 new Vector(container.bounds.left + size * 0.84, container.bounds.top + size * 0.34085), 16128 new Vector(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79) 16129 ]); 16130 this.ctx.fillStyle = asString(INPUT_COLOR); 16131 this.ctx.fill(); 16132 this.ctx.restore(); 16133 } 16134 } 16135 else if (container.type === RADIO) { 16136 if (container.checked) { 16137 this.ctx.save(); 16138 this.ctx.beginPath(); 16139 this.ctx.arc(container.bounds.left + size / 2, container.bounds.top + size / 2, size / 4, 0, Math.PI * 2, true); 16140 this.ctx.fillStyle = asString(INPUT_COLOR); 16141 this.ctx.fill(); 16142 this.ctx.restore(); 16143 } 16144 } 16145 } 16146 if (isTextInputElement(container) && container.value.length) { 16147 _b = this.createFontStyle(styles), fontFamily = _b[0], fontSize = _b[1]; 16148 baseline = this.fontMetrics.getMetrics(fontFamily, fontSize).baseline; 16149 this.ctx.font = fontFamily; 16150 this.ctx.fillStyle = asString(styles.color); 16151 this.ctx.textBaseline = 'alphabetic'; 16152 this.ctx.textAlign = canvasTextAlign(container.styles.textAlign); 16153 bounds = contentBox(container); 16154 x = 0; 16155 switch (container.styles.textAlign) { 16156 case 1 /* CENTER */: 16157 x += bounds.width / 2; 16158 break; 16159 case 2 /* RIGHT */: 16160 x += bounds.width; 16161 break; 16162 } 16163 textBounds = bounds.add(x, 0, 0, -bounds.height / 2 + 1); 16164 this.ctx.save(); 16165 this.path([ 16166 new Vector(bounds.left, bounds.top), 16167 new Vector(bounds.left + bounds.width, bounds.top), 16168 new Vector(bounds.left + bounds.width, bounds.top + bounds.height), 16169 new Vector(bounds.left, bounds.top + bounds.height) 16170 ]); 16171 this.ctx.clip(); 16172 this.renderTextWithLetterSpacing(new TextBounds(container.value, textBounds), styles.letterSpacing, baseline); 16173 this.ctx.restore(); 16174 this.ctx.textBaseline = 'alphabetic'; 16175 this.ctx.textAlign = 'left'; 16176 } 16177 if (!contains(container.styles.display, 2048 /* LIST_ITEM */)) return [3 /*break*/, 20]; 16178 if (!(container.styles.listStyleImage !== null)) return [3 /*break*/, 19]; 16179 img = container.styles.listStyleImage; 16180 if (!(img.type === 0 /* URL */)) return [3 /*break*/, 18]; 16181 image = void 0; 16182 url = img.url; 16183 _c.label = 15; 16184 case 15: 16185 _c.trys.push([15, 17, , 18]); 16186 return [4 /*yield*/, this.context.cache.match(url)]; 16187 case 16: 16188 image = _c.sent(); 16189 this.ctx.drawImage(image, container.bounds.left - (image.width + 10), container.bounds.top); 16190 return [3 /*break*/, 18]; 16191 case 17: 16192 _c.sent(); 16193 this.context.logger.error("Error loading list-style-image " + url); 16194 return [3 /*break*/, 18]; 16195 case 18: return [3 /*break*/, 20]; 16196 case 19: 16197 if (paint.listValue && container.styles.listStyleType !== -1 /* NONE */) { 16198 fontFamily = this.createFontStyle(styles)[0]; 16199 this.ctx.font = fontFamily; 16200 this.ctx.fillStyle = asString(styles.color); 16201 this.ctx.textBaseline = 'middle'; 16202 this.ctx.textAlign = 'right'; 16203 bounds = new Bounds(container.bounds.left, container.bounds.top + getAbsoluteValue(container.styles.paddingTop, container.bounds.width), container.bounds.width, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 1); 16204 this.renderTextWithLetterSpacing(new TextBounds(paint.listValue, bounds), styles.letterSpacing, computeLineHeight(styles.lineHeight, styles.fontSize.number) / 2 + 2); 16205 this.ctx.textBaseline = 'bottom'; 16206 this.ctx.textAlign = 'left'; 16207 } 16208 _c.label = 20; 16209 case 20: return [2 /*return*/]; 16210 } 16211 }); 16212 }); 16213 }; 16214 CanvasRenderer.prototype.renderStackContent = function (stack) { 16215 return __awaiter(this, void 0, void 0, function () { 16216 var _i, _a, child, _b, _c, child, _d, _e, child, _f, _g, child, _h, _j, child, _k, _l, child, _m, _o, child; 16217 return __generator(this, function (_p) { 16218 switch (_p.label) { 16219 case 0: 16220 if (contains(stack.element.container.flags, 16 /* DEBUG_RENDER */)) { 16221 debugger; 16222 } 16223 // https://www.w3.org/TR/css-position-3/#painting-order 16224 // 1. the background and borders of the element forming the stacking context. 16225 return [4 /*yield*/, this.renderNodeBackgroundAndBorders(stack.element)]; 16226 case 1: 16227 // https://www.w3.org/TR/css-position-3/#painting-order 16228 // 1. the background and borders of the element forming the stacking context. 16229 _p.sent(); 16230 _i = 0, _a = stack.negativeZIndex; 16231 _p.label = 2; 16232 case 2: 16233 if (!(_i < _a.length)) return [3 /*break*/, 5]; 16234 child = _a[_i]; 16235 return [4 /*yield*/, this.renderStack(child)]; 16236 case 3: 16237 _p.sent(); 16238 _p.label = 4; 16239 case 4: 16240 _i++; 16241 return [3 /*break*/, 2]; 16242 case 5: 16243 // 3. For all its in-flow, non-positioned, block-level descendants in tree order: 16244 return [4 /*yield*/, this.renderNodeContent(stack.element)]; 16245 case 6: 16246 // 3. For all its in-flow, non-positioned, block-level descendants in tree order: 16247 _p.sent(); 16248 _b = 0, _c = stack.nonInlineLevel; 16249 _p.label = 7; 16250 case 7: 16251 if (!(_b < _c.length)) return [3 /*break*/, 10]; 16252 child = _c[_b]; 16253 return [4 /*yield*/, this.renderNode(child)]; 16254 case 8: 16255 _p.sent(); 16256 _p.label = 9; 16257 case 9: 16258 _b++; 16259 return [3 /*break*/, 7]; 16260 case 10: 16261 _d = 0, _e = stack.nonPositionedFloats; 16262 _p.label = 11; 16263 case 11: 16264 if (!(_d < _e.length)) return [3 /*break*/, 14]; 16265 child = _e[_d]; 16266 return [4 /*yield*/, this.renderStack(child)]; 16267 case 12: 16268 _p.sent(); 16269 _p.label = 13; 16270 case 13: 16271 _d++; 16272 return [3 /*break*/, 11]; 16273 case 14: 16274 _f = 0, _g = stack.nonPositionedInlineLevel; 16275 _p.label = 15; 16276 case 15: 16277 if (!(_f < _g.length)) return [3 /*break*/, 18]; 16278 child = _g[_f]; 16279 return [4 /*yield*/, this.renderStack(child)]; 16280 case 16: 16281 _p.sent(); 16282 _p.label = 17; 16283 case 17: 16284 _f++; 16285 return [3 /*break*/, 15]; 16286 case 18: 16287 _h = 0, _j = stack.inlineLevel; 16288 _p.label = 19; 16289 case 19: 16290 if (!(_h < _j.length)) return [3 /*break*/, 22]; 16291 child = _j[_h]; 16292 return [4 /*yield*/, this.renderNode(child)]; 16293 case 20: 16294 _p.sent(); 16295 _p.label = 21; 16296 case 21: 16297 _h++; 16298 return [3 /*break*/, 19]; 16299 case 22: 16300 _k = 0, _l = stack.zeroOrAutoZIndexOrTransformedOrOpacity; 16301 _p.label = 23; 16302 case 23: 16303 if (!(_k < _l.length)) return [3 /*break*/, 26]; 16304 child = _l[_k]; 16305 return [4 /*yield*/, this.renderStack(child)]; 16306 case 24: 16307 _p.sent(); 16308 _p.label = 25; 16309 case 25: 16310 _k++; 16311 return [3 /*break*/, 23]; 16312 case 26: 16313 _m = 0, _o = stack.positiveZIndex; 16314 _p.label = 27; 16315 case 27: 16316 if (!(_m < _o.length)) return [3 /*break*/, 30]; 16317 child = _o[_m]; 16318 return [4 /*yield*/, this.renderStack(child)]; 16319 case 28: 16320 _p.sent(); 16321 _p.label = 29; 16322 case 29: 16323 _m++; 16324 return [3 /*break*/, 27]; 16325 case 30: return [2 /*return*/]; 16326 } 16327 }); 16328 }); 16329 }; 16330 CanvasRenderer.prototype.mask = function (paths) { 16331 this.ctx.beginPath(); 16332 this.ctx.moveTo(0, 0); 16333 this.ctx.lineTo(this.canvas.width, 0); 16334 this.ctx.lineTo(this.canvas.width, this.canvas.height); 16335 this.ctx.lineTo(0, this.canvas.height); 16336 this.ctx.lineTo(0, 0); 16337 this.formatPath(paths.slice(0).reverse()); 16338 this.ctx.closePath(); 16339 }; 16340 CanvasRenderer.prototype.path = function (paths) { 16341 this.ctx.beginPath(); 16342 this.formatPath(paths); 16343 this.ctx.closePath(); 16344 }; 16345 CanvasRenderer.prototype.formatPath = function (paths) { 16346 var _this = this; 16347 paths.forEach(function (point, index) { 16348 var start = isBezierCurve(point) ? point.start : point; 16349 if (index === 0) { 16350 _this.ctx.moveTo(start.x, start.y); 16351 } 16352 else { 16353 _this.ctx.lineTo(start.x, start.y); 16354 } 16355 if (isBezierCurve(point)) { 16356 _this.ctx.bezierCurveTo(point.startControl.x, point.startControl.y, point.endControl.x, point.endControl.y, point.end.x, point.end.y); 16357 } 16358 }); 16359 }; 16360 CanvasRenderer.prototype.renderRepeat = function (path, pattern, offsetX, offsetY) { 16361 this.path(path); 16362 this.ctx.fillStyle = pattern; 16363 this.ctx.translate(offsetX, offsetY); 16364 this.ctx.fill(); 16365 this.ctx.translate(-offsetX, -offsetY); 16366 }; 16367 CanvasRenderer.prototype.resizeImage = function (image, width, height) { 16368 var _a; 16369 if (image.width === width && image.height === height) { 16370 return image; 16371 } 16372 var ownerDocument = (_a = this.canvas.ownerDocument) !== null && _a !== void 0 ? _a : document; 16373 var canvas = ownerDocument.createElement('canvas'); 16374 canvas.width = Math.max(1, width); 16375 canvas.height = Math.max(1, height); 16376 var ctx = canvas.getContext('2d'); 16377 ctx.drawImage(image, 0, 0, image.width, image.height, 0, 0, width, height); 16378 return canvas; 16379 }; 16380 CanvasRenderer.prototype.renderBackgroundImage = function (container) { 16381 return __awaiter(this, void 0, void 0, function () { 16382 var index, _loop_1, this_1, _i, _a, backgroundImage; 16383 return __generator(this, function (_b) { 16384 switch (_b.label) { 16385 case 0: 16386 index = container.styles.backgroundImage.length - 1; 16387 _loop_1 = function (backgroundImage) { 16388 var image, url, _c, path, x, y, width, height, pattern, _d, path, x, y, width, height, _e, lineLength, x0, x1, y0, y1, canvas, ctx, gradient_1, pattern, _f, path, left, top_1, width, height, position, x, y, _g, rx, ry, radialGradient_1, midX, midY, f, invF; 16389 return __generator(this, function (_h) { 16390 switch (_h.label) { 16391 case 0: 16392 if (!(backgroundImage.type === 0 /* URL */)) return [3 /*break*/, 5]; 16393 image = void 0; 16394 url = backgroundImage.url; 16395 _h.label = 1; 16396 case 1: 16397 _h.trys.push([1, 3, , 4]); 16398 return [4 /*yield*/, this_1.context.cache.match(url)]; 16399 case 2: 16400 image = _h.sent(); 16401 return [3 /*break*/, 4]; 16402 case 3: 16403 _h.sent(); 16404 this_1.context.logger.error("Error loading background-image " + url); 16405 return [3 /*break*/, 4]; 16406 case 4: 16407 if (image) { 16408 _c = calculateBackgroundRendering(container, index, [ 16409 image.width, 16410 image.height, 16411 image.width / image.height 16412 ]), path = _c[0], x = _c[1], y = _c[2], width = _c[3], height = _c[4]; 16413 pattern = this_1.ctx.createPattern(this_1.resizeImage(image, width, height), 'repeat'); 16414 this_1.renderRepeat(path, pattern, x, y); 16415 } 16416 return [3 /*break*/, 6]; 16417 case 5: 16418 if (isLinearGradient(backgroundImage)) { 16419 _d = calculateBackgroundRendering(container, index, [null, null, null]), path = _d[0], x = _d[1], y = _d[2], width = _d[3], height = _d[4]; 16420 _e = calculateGradientDirection(backgroundImage.angle, width, height), lineLength = _e[0], x0 = _e[1], x1 = _e[2], y0 = _e[3], y1 = _e[4]; 16421 canvas = document.createElement('canvas'); 16422 canvas.width = width; 16423 canvas.height = height; 16424 ctx = canvas.getContext('2d'); 16425 gradient_1 = ctx.createLinearGradient(x0, y0, x1, y1); 16426 processColorStops(backgroundImage.stops, lineLength).forEach(function (colorStop) { 16427 return gradient_1.addColorStop(colorStop.stop, asString(colorStop.color)); 16428 }); 16429 ctx.fillStyle = gradient_1; 16430 ctx.fillRect(0, 0, width, height); 16431 if (width > 0 && height > 0) { 16432 pattern = this_1.ctx.createPattern(canvas, 'repeat'); 16433 this_1.renderRepeat(path, pattern, x, y); 16434 } 16435 } 16436 else if (isRadialGradient(backgroundImage)) { 16437 _f = calculateBackgroundRendering(container, index, [ 16438 null, 16439 null, 16440 null 16441 ]), path = _f[0], left = _f[1], top_1 = _f[2], width = _f[3], height = _f[4]; 16442 position = backgroundImage.position.length === 0 ? [FIFTY_PERCENT] : backgroundImage.position; 16443 x = getAbsoluteValue(position[0], width); 16444 y = getAbsoluteValue(position[position.length - 1], height); 16445 _g = calculateRadius(backgroundImage, x, y, width, height), rx = _g[0], ry = _g[1]; 16446 if (rx > 0 && ry > 0) { 16447 radialGradient_1 = this_1.ctx.createRadialGradient(left + x, top_1 + y, 0, left + x, top_1 + y, rx); 16448 processColorStops(backgroundImage.stops, rx * 2).forEach(function (colorStop) { 16449 return radialGradient_1.addColorStop(colorStop.stop, asString(colorStop.color)); 16450 }); 16451 this_1.path(path); 16452 this_1.ctx.fillStyle = radialGradient_1; 16453 if (rx !== ry) { 16454 midX = container.bounds.left + 0.5 * container.bounds.width; 16455 midY = container.bounds.top + 0.5 * container.bounds.height; 16456 f = ry / rx; 16457 invF = 1 / f; 16458 this_1.ctx.save(); 16459 this_1.ctx.translate(midX, midY); 16460 this_1.ctx.transform(1, 0, 0, f, 0, 0); 16461 this_1.ctx.translate(-midX, -midY); 16462 this_1.ctx.fillRect(left, invF * (top_1 - midY) + midY, width, height * invF); 16463 this_1.ctx.restore(); 16464 } 16465 else { 16466 this_1.ctx.fill(); 16467 } 16468 } 16469 } 16470 _h.label = 6; 16471 case 6: 16472 index--; 16473 return [2 /*return*/]; 16474 } 16475 }); 16476 }; 16477 this_1 = this; 16478 _i = 0, _a = container.styles.backgroundImage.slice(0).reverse(); 16479 _b.label = 1; 16480 case 1: 16481 if (!(_i < _a.length)) return [3 /*break*/, 4]; 16482 backgroundImage = _a[_i]; 16483 return [5 /*yield**/, _loop_1(backgroundImage)]; 16484 case 2: 16485 _b.sent(); 16486 _b.label = 3; 16487 case 3: 16488 _i++; 16489 return [3 /*break*/, 1]; 16490 case 4: return [2 /*return*/]; 16491 } 16492 }); 16493 }); 16494 }; 16495 CanvasRenderer.prototype.renderSolidBorder = function (color, side, curvePoints) { 16496 return __awaiter(this, void 0, void 0, function () { 16497 return __generator(this, function (_a) { 16498 this.path(parsePathForBorder(curvePoints, side)); 16499 this.ctx.fillStyle = asString(color); 16500 this.ctx.fill(); 16501 return [2 /*return*/]; 16502 }); 16503 }); 16504 }; 16505 CanvasRenderer.prototype.renderDoubleBorder = function (color, width, side, curvePoints) { 16506 return __awaiter(this, void 0, void 0, function () { 16507 var outerPaths, innerPaths; 16508 return __generator(this, function (_a) { 16509 switch (_a.label) { 16510 case 0: 16511 if (!(width < 3)) return [3 /*break*/, 2]; 16512 return [4 /*yield*/, this.renderSolidBorder(color, side, curvePoints)]; 16513 case 1: 16514 _a.sent(); 16515 return [2 /*return*/]; 16516 case 2: 16517 outerPaths = parsePathForBorderDoubleOuter(curvePoints, side); 16518 this.path(outerPaths); 16519 this.ctx.fillStyle = asString(color); 16520 this.ctx.fill(); 16521 innerPaths = parsePathForBorderDoubleInner(curvePoints, side); 16522 this.path(innerPaths); 16523 this.ctx.fill(); 16524 return [2 /*return*/]; 16525 } 16526 }); 16527 }); 16528 }; 16529 CanvasRenderer.prototype.renderNodeBackgroundAndBorders = function (paint) { 16530 return __awaiter(this, void 0, void 0, function () { 16531 var styles, hasBackground, borders, backgroundPaintingArea, side, _i, borders_1, border; 16532 var _this = this; 16533 return __generator(this, function (_a) { 16534 switch (_a.label) { 16535 case 0: 16536 this.applyEffects(paint.getEffects(2 /* BACKGROUND_BORDERS */)); 16537 styles = paint.container.styles; 16538 hasBackground = !isTransparent(styles.backgroundColor) || styles.backgroundImage.length; 16539 borders = [ 16540 { style: styles.borderTopStyle, color: styles.borderTopColor, width: styles.borderTopWidth }, 16541 { style: styles.borderRightStyle, color: styles.borderRightColor, width: styles.borderRightWidth }, 16542 { style: styles.borderBottomStyle, color: styles.borderBottomColor, width: styles.borderBottomWidth }, 16543 { style: styles.borderLeftStyle, color: styles.borderLeftColor, width: styles.borderLeftWidth } 16544 ]; 16545 backgroundPaintingArea = calculateBackgroundCurvedPaintingArea(getBackgroundValueForIndex(styles.backgroundClip, 0), paint.curves); 16546 if (!(hasBackground || styles.boxShadow.length)) return [3 /*break*/, 2]; 16547 this.ctx.save(); 16548 this.path(backgroundPaintingArea); 16549 this.ctx.clip(); 16550 if (!isTransparent(styles.backgroundColor)) { 16551 this.ctx.fillStyle = asString(styles.backgroundColor); 16552 this.ctx.fill(); 16553 } 16554 return [4 /*yield*/, this.renderBackgroundImage(paint.container)]; 16555 case 1: 16556 _a.sent(); 16557 this.ctx.restore(); 16558 styles.boxShadow 16559 .slice(0) 16560 .reverse() 16561 .forEach(function (shadow) { 16562 _this.ctx.save(); 16563 var borderBoxArea = calculateBorderBoxPath(paint.curves); 16564 var maskOffset = shadow.inset ? 0 : MASK_OFFSET; 16565 var shadowPaintingArea = transformPath(borderBoxArea, -maskOffset + (shadow.inset ? 1 : -1) * shadow.spread.number, (shadow.inset ? 1 : -1) * shadow.spread.number, shadow.spread.number * (shadow.inset ? -2 : 2), shadow.spread.number * (shadow.inset ? -2 : 2)); 16566 if (shadow.inset) { 16567 _this.path(borderBoxArea); 16568 _this.ctx.clip(); 16569 _this.mask(shadowPaintingArea); 16570 } 16571 else { 16572 _this.mask(borderBoxArea); 16573 _this.ctx.clip(); 16574 _this.path(shadowPaintingArea); 16575 } 16576 _this.ctx.shadowOffsetX = shadow.offsetX.number + maskOffset; 16577 _this.ctx.shadowOffsetY = shadow.offsetY.number; 16578 _this.ctx.shadowColor = asString(shadow.color); 16579 _this.ctx.shadowBlur = shadow.blur.number; 16580 _this.ctx.fillStyle = shadow.inset ? asString(shadow.color) : 'rgba(0,0,0,1)'; 16581 _this.ctx.fill(); 16582 _this.ctx.restore(); 16583 }); 16584 _a.label = 2; 16585 case 2: 16586 side = 0; 16587 _i = 0, borders_1 = borders; 16588 _a.label = 3; 16589 case 3: 16590 if (!(_i < borders_1.length)) return [3 /*break*/, 13]; 16591 border = borders_1[_i]; 16592 if (!(border.style !== 0 /* NONE */ && !isTransparent(border.color) && border.width > 0)) return [3 /*break*/, 11]; 16593 if (!(border.style === 2 /* DASHED */)) return [3 /*break*/, 5]; 16594 return [4 /*yield*/, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 2 /* DASHED */)]; 16595 case 4: 16596 _a.sent(); 16597 return [3 /*break*/, 11]; 16598 case 5: 16599 if (!(border.style === 3 /* DOTTED */)) return [3 /*break*/, 7]; 16600 return [4 /*yield*/, this.renderDashedDottedBorder(border.color, border.width, side, paint.curves, 3 /* DOTTED */)]; 16601 case 6: 16602 _a.sent(); 16603 return [3 /*break*/, 11]; 16604 case 7: 16605 if (!(border.style === 4 /* DOUBLE */)) return [3 /*break*/, 9]; 16606 return [4 /*yield*/, this.renderDoubleBorder(border.color, border.width, side, paint.curves)]; 16607 case 8: 16608 _a.sent(); 16609 return [3 /*break*/, 11]; 16610 case 9: return [4 /*yield*/, this.renderSolidBorder(border.color, side, paint.curves)]; 16611 case 10: 16612 _a.sent(); 16613 _a.label = 11; 16614 case 11: 16615 side++; 16616 _a.label = 12; 16617 case 12: 16618 _i++; 16619 return [3 /*break*/, 3]; 16620 case 13: return [2 /*return*/]; 16621 } 16622 }); 16623 }); 16624 }; 16625 CanvasRenderer.prototype.renderDashedDottedBorder = function (color, width, side, curvePoints, style) { 16626 return __awaiter(this, void 0, void 0, function () { 16627 var strokePaths, boxPaths, startX, startY, endX, endY, length, dashLength, spaceLength, useLineDash, multiplier, numberOfDashes, minSpace, maxSpace, path1, path2, path1, path2; 16628 return __generator(this, function (_a) { 16629 this.ctx.save(); 16630 strokePaths = parsePathForBorderStroke(curvePoints, side); 16631 boxPaths = parsePathForBorder(curvePoints, side); 16632 if (style === 2 /* DASHED */) { 16633 this.path(boxPaths); 16634 this.ctx.clip(); 16635 } 16636 if (isBezierCurve(boxPaths[0])) { 16637 startX = boxPaths[0].start.x; 16638 startY = boxPaths[0].start.y; 16639 } 16640 else { 16641 startX = boxPaths[0].x; 16642 startY = boxPaths[0].y; 16643 } 16644 if (isBezierCurve(boxPaths[1])) { 16645 endX = boxPaths[1].end.x; 16646 endY = boxPaths[1].end.y; 16647 } 16648 else { 16649 endX = boxPaths[1].x; 16650 endY = boxPaths[1].y; 16651 } 16652 if (side === 0 || side === 2) { 16653 length = Math.abs(startX - endX); 16654 } 16655 else { 16656 length = Math.abs(startY - endY); 16657 } 16658 this.ctx.beginPath(); 16659 if (style === 3 /* DOTTED */) { 16660 this.formatPath(strokePaths); 16661 } 16662 else { 16663 this.formatPath(boxPaths.slice(0, 2)); 16664 } 16665 dashLength = width < 3 ? width * 3 : width * 2; 16666 spaceLength = width < 3 ? width * 2 : width; 16667 if (style === 3 /* DOTTED */) { 16668 dashLength = width; 16669 spaceLength = width; 16670 } 16671 useLineDash = true; 16672 if (length <= dashLength * 2) { 16673 useLineDash = false; 16674 } 16675 else if (length <= dashLength * 2 + spaceLength) { 16676 multiplier = length / (2 * dashLength + spaceLength); 16677 dashLength *= multiplier; 16678 spaceLength *= multiplier; 16679 } 16680 else { 16681 numberOfDashes = Math.floor((length + spaceLength) / (dashLength + spaceLength)); 16682 minSpace = (length - numberOfDashes * dashLength) / (numberOfDashes - 1); 16683 maxSpace = (length - (numberOfDashes + 1) * dashLength) / numberOfDashes; 16684 spaceLength = 16685 maxSpace <= 0 || Math.abs(spaceLength - minSpace) < Math.abs(spaceLength - maxSpace) 16686 ? minSpace 16687 : maxSpace; 16688 } 16689 if (useLineDash) { 16690 if (style === 3 /* DOTTED */) { 16691 this.ctx.setLineDash([0, dashLength + spaceLength]); 16692 } 16693 else { 16694 this.ctx.setLineDash([dashLength, spaceLength]); 16695 } 16696 } 16697 if (style === 3 /* DOTTED */) { 16698 this.ctx.lineCap = 'round'; 16699 this.ctx.lineWidth = width; 16700 } 16701 else { 16702 this.ctx.lineWidth = width * 2 + 1.1; 16703 } 16704 this.ctx.strokeStyle = asString(color); 16705 this.ctx.stroke(); 16706 this.ctx.setLineDash([]); 16707 // dashed round edge gap 16708 if (style === 2 /* DASHED */) { 16709 if (isBezierCurve(boxPaths[0])) { 16710 path1 = boxPaths[3]; 16711 path2 = boxPaths[0]; 16712 this.ctx.beginPath(); 16713 this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]); 16714 this.ctx.stroke(); 16715 } 16716 if (isBezierCurve(boxPaths[1])) { 16717 path1 = boxPaths[1]; 16718 path2 = boxPaths[2]; 16719 this.ctx.beginPath(); 16720 this.formatPath([new Vector(path1.end.x, path1.end.y), new Vector(path2.start.x, path2.start.y)]); 16721 this.ctx.stroke(); 16722 } 16723 } 16724 this.ctx.restore(); 16725 return [2 /*return*/]; 16726 }); 16727 }); 16728 }; 16729 CanvasRenderer.prototype.render = function (element) { 16730 return __awaiter(this, void 0, void 0, function () { 16731 var stack; 16732 return __generator(this, function (_a) { 16733 switch (_a.label) { 16734 case 0: 16735 if (this.options.backgroundColor) { 16736 this.ctx.fillStyle = asString(this.options.backgroundColor); 16737 this.ctx.fillRect(this.options.x, this.options.y, this.options.width, this.options.height); 16738 } 16739 stack = parseStackingContexts(element); 16740 return [4 /*yield*/, this.renderStack(stack)]; 16741 case 1: 16742 _a.sent(); 16743 this.applyEffects([]); 16744 return [2 /*return*/, this.canvas]; 16745 } 16746 }); 16747 }); 16748 }; 16749 return CanvasRenderer; 16750 }(Renderer)); 16751 var isTextInputElement = function (container) { 16752 if (container instanceof TextareaElementContainer) { 16753 return true; 16754 } 16755 else if (container instanceof SelectElementContainer) { 16756 return true; 16757 } 16758 else if (container instanceof InputElementContainer && container.type !== RADIO && container.type !== CHECKBOX) { 16759 return true; 16760 } 16761 return false; 16762 }; 16763 var calculateBackgroundCurvedPaintingArea = function (clip, curves) { 16764 switch (clip) { 16765 case 0 /* BORDER_BOX */: 16766 return calculateBorderBoxPath(curves); 16767 case 2 /* CONTENT_BOX */: 16768 return calculateContentBoxPath(curves); 16769 case 1 /* PADDING_BOX */: 16770 default: 16771 return calculatePaddingBoxPath(curves); 16772 } 16773 }; 16774 var canvasTextAlign = function (textAlign) { 16775 switch (textAlign) { 16776 case 1 /* CENTER */: 16777 return 'center'; 16778 case 2 /* RIGHT */: 16779 return 'right'; 16780 case 0 /* LEFT */: 16781 default: 16782 return 'left'; 16783 } 16784 }; 16785 // see https://github.com/niklasvh/html2canvas/pull/2645 16786 var iOSBrokenFonts = ['-apple-system', 'system-ui']; 16787 var fixIOSSystemFonts = function (fontFamilies) { 16788 return /iPhone OS 15_(0|1)/.test(window.navigator.userAgent) 16789 ? fontFamilies.filter(function (fontFamily) { return iOSBrokenFonts.indexOf(fontFamily) === -1; }) 16790 : fontFamilies; 16791 }; 16792 16793 var ForeignObjectRenderer = /** @class */ (function (_super) { 16794 __extends(ForeignObjectRenderer, _super); 16795 function ForeignObjectRenderer(context, options) { 16796 var _this = _super.call(this, context, options) || this; 16797 _this.canvas = options.canvas ? options.canvas : document.createElement('canvas'); 16798 _this.ctx = _this.canvas.getContext('2d'); 16799 _this.options = options; 16800 _this.canvas.width = Math.floor(options.width * options.scale); 16801 _this.canvas.height = Math.floor(options.height * options.scale); 16802 _this.canvas.style.width = options.width + "px"; 16803 _this.canvas.style.height = options.height + "px"; 16804 _this.ctx.scale(_this.options.scale, _this.options.scale); 16805 _this.ctx.translate(-options.x, -options.y); 16806 _this.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized (" + options.width + "x" + options.height + " at " + options.x + "," + options.y + ") with scale " + options.scale); 16807 return _this; 16808 } 16809 ForeignObjectRenderer.prototype.render = function (element) { 16810 return __awaiter(this, void 0, void 0, function () { 16811 var svg, img; 16812 return __generator(this, function (_a) { 16813 switch (_a.label) { 16814 case 0: 16815 svg = createForeignObjectSVG(this.options.width * this.options.scale, this.options.height * this.options.scale, this.options.scale, this.options.scale, element); 16816 return [4 /*yield*/, loadSerializedSVG(svg)]; 16817 case 1: 16818 img = _a.sent(); 16819 if (this.options.backgroundColor) { 16820 this.ctx.fillStyle = asString(this.options.backgroundColor); 16821 this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale); 16822 } 16823 this.ctx.drawImage(img, -this.options.x * this.options.scale, -this.options.y * this.options.scale); 16824 return [2 /*return*/, this.canvas]; 16825 } 16826 }); 16827 }); 16828 }; 16829 return ForeignObjectRenderer; 16830 }(Renderer)); 16831 var loadSerializedSVG = function (svg) { 16832 return new Promise(function (resolve, reject) { 16833 var img = new Image(); 16834 img.onload = function () { 16835 resolve(img); 16836 }; 16837 img.onerror = reject; 16838 img.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(new XMLSerializer().serializeToString(svg)); 16839 }); 16840 }; 16841 16842 var Logger = /** @class */ (function () { 16843 function Logger(_a) { 16844 var id = _a.id, enabled = _a.enabled; 16845 this.id = id; 16846 this.enabled = enabled; 16847 this.start = Date.now(); 16848 } 16849 // eslint-disable-next-line @typescript-eslint/no-explicit-any 16850 Logger.prototype.debug = function () { 16851 var args = []; 16852 for (var _i = 0; _i < arguments.length; _i++) { 16853 args[_i] = arguments[_i]; 16854 } 16855 if (this.enabled) { 16856 // eslint-disable-next-line no-console 16857 if (typeof window !== 'undefined' && window.console && typeof console.debug === 'function') { 16858 // eslint-disable-next-line no-console 16859 console.debug.apply(console, __spreadArray([this.id, this.getTime() + "ms"], args)); 16860 } 16861 else { 16862 this.info.apply(this, args); 16863 } 16864 } 16865 }; 16866 Logger.prototype.getTime = function () { 16867 return Date.now() - this.start; 16868 }; 16869 // eslint-disable-next-line @typescript-eslint/no-explicit-any 16870 Logger.prototype.info = function () { 16871 var args = []; 16872 for (var _i = 0; _i < arguments.length; _i++) { 16873 args[_i] = arguments[_i]; 16874 } 16875 if (this.enabled) { 16876 // eslint-disable-next-line no-console 16877 if (typeof window !== 'undefined' && window.console && typeof console.info === 'function') { 16878 // eslint-disable-next-line no-console 16879 console.info.apply(console, __spreadArray([this.id, this.getTime() + "ms"], args)); 16880 } 16881 } 16882 }; 16883 // eslint-disable-next-line @typescript-eslint/no-explicit-any 16884 Logger.prototype.warn = function () { 16885 var args = []; 16886 for (var _i = 0; _i < arguments.length; _i++) { 16887 args[_i] = arguments[_i]; 16888 } 16889 if (this.enabled) { 16890 // eslint-disable-next-line no-console 16891 if (typeof window !== 'undefined' && window.console && typeof console.warn === 'function') { 16892 // eslint-disable-next-line no-console 16893 console.warn.apply(console, __spreadArray([this.id, this.getTime() + "ms"], args)); 16894 } 16895 else { 16896 this.info.apply(this, args); 16897 } 16898 } 16899 }; 16900 // eslint-disable-next-line @typescript-eslint/no-explicit-any 16901 Logger.prototype.error = function () { 16902 var args = []; 16903 for (var _i = 0; _i < arguments.length; _i++) { 16904 args[_i] = arguments[_i]; 16905 } 16906 if (this.enabled) { 16907 // eslint-disable-next-line no-console 16908 if (typeof window !== 'undefined' && window.console && typeof console.error === 'function') { 16909 // eslint-disable-next-line no-console 16910 console.error.apply(console, __spreadArray([this.id, this.getTime() + "ms"], args)); 16911 } 16912 else { 16913 this.info.apply(this, args); 16914 } 16915 } 16916 }; 16917 Logger.instances = {}; 16918 return Logger; 16919 }()); 16920 16921 var Context = /** @class */ (function () { 16922 function Context(options, windowBounds) { 16923 var _a; 16924 this.windowBounds = windowBounds; 16925 this.instanceName = "#" + Context.instanceCount++; 16926 this.logger = new Logger({ id: this.instanceName, enabled: options.logging }); 16927 this.cache = (_a = options.cache) !== null && _a !== void 0 ? _a : new Cache(this, options); 16928 } 16929 Context.instanceCount = 1; 16930 return Context; 16931 }()); 16932 16933 var html2canvas = function (element, options) { 16934 if (options === void 0) { options = {}; } 16935 return renderElement(element, options); 16936 }; 16937 if (typeof window !== 'undefined') { 16938 CacheStorage.setContext(window); 16939 } 16940 var renderElement = function (element, opts) { return __awaiter(void 0, void 0, void 0, function () { 16941 var ownerDocument, defaultView, resourceOptions, contextOptions, windowOptions, windowBounds, context, foreignObjectRendering, cloneOptions, documentCloner, clonedElement, container, _a, width, height, left, top, backgroundColor, renderOptions, canvas, renderer, root, renderer; 16942 var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t; 16943 return __generator(this, function (_u) { 16944 switch (_u.label) { 16945 case 0: 16946 if (!element || typeof element !== 'object') { 16947 return [2 /*return*/, Promise.reject('Invalid element provided as first argument')]; 16948 } 16949 ownerDocument = element.ownerDocument; 16950 if (!ownerDocument) { 16951 throw new Error("Element is not attached to a Document"); 16952 } 16953 defaultView = ownerDocument.defaultView; 16954 if (!defaultView) { 16955 throw new Error("Document is not attached to a Window"); 16956 } 16957 resourceOptions = { 16958 allowTaint: (_b = opts.allowTaint) !== null && _b !== void 0 ? _b : false, 16959 imageTimeout: (_c = opts.imageTimeout) !== null && _c !== void 0 ? _c : 15000, 16960 proxy: opts.proxy, 16961 useCORS: (_d = opts.useCORS) !== null && _d !== void 0 ? _d : false 16962 }; 16963 contextOptions = __assign({ logging: (_e = opts.logging) !== null && _e !== void 0 ? _e : true, cache: opts.cache }, resourceOptions); 16964 windowOptions = { 16965 windowWidth: (_f = opts.windowWidth) !== null && _f !== void 0 ? _f : defaultView.innerWidth, 16966 windowHeight: (_g = opts.windowHeight) !== null && _g !== void 0 ? _g : defaultView.innerHeight, 16967 scrollX: (_h = opts.scrollX) !== null && _h !== void 0 ? _h : defaultView.pageXOffset, 16968 scrollY: (_j = opts.scrollY) !== null && _j !== void 0 ? _j : defaultView.pageYOffset 16969 }; 16970 windowBounds = new Bounds(windowOptions.scrollX, windowOptions.scrollY, windowOptions.windowWidth, windowOptions.windowHeight); 16971 context = new Context(contextOptions, windowBounds); 16972 foreignObjectRendering = (_k = opts.foreignObjectRendering) !== null && _k !== void 0 ? _k : false; 16973 cloneOptions = { 16974 allowTaint: (_l = opts.allowTaint) !== null && _l !== void 0 ? _l : false, 16975 onclone: opts.onclone, 16976 ignoreElements: opts.ignoreElements, 16977 inlineImages: foreignObjectRendering, 16978 copyStyles: foreignObjectRendering 16979 }; 16980 context.logger.debug("Starting document clone with size " + windowBounds.width + "x" + windowBounds.height + " scrolled to " + -windowBounds.left + "," + -windowBounds.top); 16981 documentCloner = new DocumentCloner(context, element, cloneOptions); 16982 clonedElement = documentCloner.clonedReferenceElement; 16983 if (!clonedElement) { 16984 return [2 /*return*/, Promise.reject("Unable to find element in cloned iframe")]; 16985 } 16986 return [4 /*yield*/, documentCloner.toIFrame(ownerDocument, windowBounds)]; 16987 case 1: 16988 container = _u.sent(); 16989 _a = isBodyElement(clonedElement) || isHTMLElement(clonedElement) 16990 ? parseDocumentSize(clonedElement.ownerDocument) 16991 : parseBounds(context, clonedElement), width = _a.width, height = _a.height, left = _a.left, top = _a.top; 16992 backgroundColor = parseBackgroundColor(context, clonedElement, opts.backgroundColor); 16993 renderOptions = { 16994 canvas: opts.canvas, 16995 backgroundColor: backgroundColor, 16996 scale: (_o = (_m = opts.scale) !== null && _m !== void 0 ? _m : defaultView.devicePixelRatio) !== null && _o !== void 0 ? _o : 1, 16997 x: ((_p = opts.x) !== null && _p !== void 0 ? _p : 0) + left, 16998 y: ((_q = opts.y) !== null && _q !== void 0 ? _q : 0) + top, 16999 width: (_r = opts.width) !== null && _r !== void 0 ? _r : Math.ceil(width), 17000 height: (_s = opts.height) !== null && _s !== void 0 ? _s : Math.ceil(height) 17001 }; 17002 if (!foreignObjectRendering) return [3 /*break*/, 3]; 17003 context.logger.debug("Document cloned, using foreign object rendering"); 17004 renderer = new ForeignObjectRenderer(context, renderOptions); 17005 return [4 /*yield*/, renderer.render(clonedElement)]; 17006 case 2: 17007 canvas = _u.sent(); 17008 return [3 /*break*/, 5]; 17009 case 3: 17010 context.logger.debug("Document cloned, element located at " + left + "," + top + " with size " + width + "x" + height + " using computed rendering"); 17011 context.logger.debug("Starting DOM parsing"); 17012 root = parseTree(context, clonedElement); 17013 if (backgroundColor === root.styles.backgroundColor) { 17014 root.styles.backgroundColor = COLORS.TRANSPARENT; 17015 } 17016 context.logger.debug("Starting renderer for element at " + renderOptions.x + "," + renderOptions.y + " with size " + renderOptions.width + "x" + renderOptions.height); 17017 renderer = new CanvasRenderer(context, renderOptions); 17018 return [4 /*yield*/, renderer.render(root)]; 17019 case 4: 17020 canvas = _u.sent(); 17021 _u.label = 5; 17022 case 5: 17023 if ((_t = opts.removeContainer) !== null && _t !== void 0 ? _t : true) { 17024 if (!DocumentCloner.destroy(container)) { 17025 context.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore"); 17026 } 17027 } 17028 context.logger.debug("Finished rendering"); 17029 return [2 /*return*/, canvas]; 17030 } 17031 }); 17032 }); }; 17033 var parseBackgroundColor = function (context, element, backgroundColorOverride) { 17034 var ownerDocument = element.ownerDocument; 17035 // http://www.w3.org/TR/css3-background/#special-backgrounds 17036 var documentBackgroundColor = ownerDocument.documentElement 17037 ? parseColor(context, getComputedStyle(ownerDocument.documentElement).backgroundColor) 17038 : COLORS.TRANSPARENT; 17039 var bodyBackgroundColor = ownerDocument.body 17040 ? parseColor(context, getComputedStyle(ownerDocument.body).backgroundColor) 17041 : COLORS.TRANSPARENT; 17042 var defaultBackgroundColor = typeof backgroundColorOverride === 'string' 17043 ? parseColor(context, backgroundColorOverride) 17044 : backgroundColorOverride === null 17045 ? COLORS.TRANSPARENT 17046 : 0xffffffff; 17047 return element === ownerDocument.documentElement 17048 ? isTransparent(documentBackgroundColor) 17049 ? isTransparent(bodyBackgroundColor) 17050 ? defaultBackgroundColor 17051 : bodyBackgroundColor 17052 : documentBackgroundColor 17053 : defaultBackgroundColor; 17054 }; 17055 17056 return html2canvas; 17057 17058})));
17059 17060 17061},{}],345:[function(require,module,exports){ 17062(function (global){(function (
vendor: 13,635 bytes, lines 17062-17414
17062){ 17063/** 17064 * Copyright (c) 2014, Facebook, Inc. 17065 * All rights reserved. 17066 * 17067 * This source code is licensed under the BSD-style license found in the 17068 * https://raw.github.com/facebook/regenerator/master/LICENSE file. An 17069 * additional grant of patent rights can be found in the PATENTS file in 17070 * the same directory. 17071 */ 17072 17073!(function(global) { 17074 "use strict"; 17075 17076 var Op = Object.prototype; 17077 var hasOwn = Op.hasOwnProperty; 17078 var undefined; // More compressible than void 0. 17079 var $Symbol = typeof Symbol === "function" ? Symbol : {}; 17080 var iteratorSymbol = $Symbol.iterator || "@@iterator"; 17081 var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; 17082 var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; 17083 17084 var inModule = typeof module === "object"; 17085 var runtime = global.regeneratorRuntime; 17086 if (runtime) { 17087 if (inModule) { 17088 // If regeneratorRuntime is defined globally and we're in a module, 17089 // make the exports object identical to regeneratorRuntime. 17090 module.exports = runtime; 17091 } 17092 // Don't bother evaluating the rest of this file if the runtime was 17093 // already defined globally. 17094 return; 17095 } 17096 17097 // Define the runtime globally (as expected by generated code) as either 17098 // module.exports (if we're in a module) or a new, empty object. 17099 runtime = global.regeneratorRuntime = inModule ? module.exports : {}; 17100 17101 function wrap(innerFn, outerFn, self, tryLocsList) { 17102 // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. 17103 var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; 17104 var generator = Object.create(protoGenerator.prototype); 17105 var context = new Context(tryLocsList || []); 17106 17107 // The ._invoke method unifies the implementations of the .next, 17108 // .throw, and .return methods. 17109 generator._invoke = makeInvokeMethod(innerFn, self, context); 17110 17111 return generator; 17112 } 17113 runtime.wrap = wrap; 17114 17115 // Try/catch helper to minimize deoptimizations. Returns a completion 17116 // record like context.tryEntries[i].completion. This interface could 17117 // have been (and was previously) designed to take a closure to be 17118 // invoked without arguments, but in all the cases we care about we 17119 // already have an existing method we want to call, so there's no need 17120 // to create a new function object. We can even get away with assuming 17121 // the method takes exactly one argument, since that happens to be true 17122 // in every case, so we don't have to touch the arguments object. The 17123 // only additional allocation required is the completion record, which 17124 // has a stable shape and so hopefully should be cheap to allocate. 17125 function tryCatch(fn, obj, arg) { 17126 try { 17127 return { type: "normal", arg: fn.call(obj, arg) }; 17128 } catch (err) { 17129 return { type: "throw", arg: err }; 17130 } 17131 } 17132 17133 var GenStateSuspendedStart = "suspendedStart"; 17134 var GenStateSuspendedYield = "suspendedYield"; 17135 var GenStateExecuting = "executing"; 17136 var GenStateCompleted = "completed"; 17137 17138 // Returning this object from the innerFn has the same effect as 17139 // breaking out of the dispatch switch statement. 17140 var ContinueSentinel = {}; 17141 17142 // Dummy constructor functions that we use as the .constructor and 17143 // .constructor.prototype properties for functions that return Generator 17144 // objects. For full spec compliance, you may wish to configure your 17145 // minifier not to mangle the names of these two functions. 17146 function Generator() {} 17147 function GeneratorFunction() {} 17148 function GeneratorFunctionPrototype() {} 17149 17150 // This is a polyfill for %IteratorPrototype% for environments that 17151 // don't natively support it. 17152 var IteratorPrototype = {}; 17153 IteratorPrototype[iteratorSymbol] = function () { 17154 return this; 17155 }; 17156 17157 var getProto = Object.getPrototypeOf; 17158 var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); 17159 if (NativeIteratorPrototype && 17160 NativeIteratorPrototype !== Op && 17161 hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { 17162 // This environment has a native %IteratorPrototype%; use it instead 17163 // of the polyfill. 17164 IteratorPrototype = NativeIteratorPrototype; 17165 } 17166 17167 var Gp = GeneratorFunctionPrototype.prototype = 17168 Generator.prototype = Object.create(IteratorPrototype); 17169 GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; 17170 GeneratorFunctionPrototype.constructor = GeneratorFunction; 17171 GeneratorFunctionPrototype[toStringTagSymbol] = 17172 GeneratorFunction.displayName = "GeneratorFunction"; 17173 17174 // Helper for defining the .next, .throw, and .return methods of the 17175 // Iterator interface in terms of a single ._invoke method. 17176 function defineIteratorMethods(prototype) { 17177 ["next", "throw", "return"].forEach(function(method) { 17178 prototype[method] = function(arg) { 17179 return this._invoke(method, arg); 17180 }; 17181 }); 17182 } 17183 17184 runtime.isGeneratorFunction = function(genFun) { 17185 var ctor = typeof genFun === "function" && genFun.constructor; 17186 return ctor 17187 ? ctor === GeneratorFunction || 17188 // For the native GeneratorFunction constructor, the best we can 17189 // do is to check its .name property. 17190 (ctor.displayName || ctor.name) === "GeneratorFunction" 17191 : false; 17192 }; 17193 17194 runtime.mark = function(genFun) { 17195 if (Object.setPrototypeOf) { 17196 Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); 17197 } else { 17198 genFun.__proto__ = GeneratorFunctionPrototype; 17199 if (!(toStringTagSymbol in genFun)) { 17200 genFun[toStringTagSymbol] = "GeneratorFunction"; 17201 } 17202 } 17203 genFun.prototype = Object.create(Gp); 17204 return genFun; 17205 }; 17206 17207 // Within the body of any async function, `await x` is transformed to 17208 // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test 17209 // `hasOwn.call(value, "__await")` to determine if the yielded value is 17210 // meant to be awaited. 17211 runtime.awrap = function(arg) { 17212 return { __await: arg }; 17213 }; 17214 17215 function AsyncIterator(generator) { 17216 function invoke(method, arg, resolve, reject) { 17217 var record = tryCatch(generator[method], generator, arg); 17218 if (record.type === "throw") { 17219 reject(record.arg); 17220 } else { 17221 var result = record.arg; 17222 var value = result.value; 17223 if (value && 17224 typeof value === "object" && 17225 hasOwn.call(value, "__await")) { 17226 return Promise.resolve(value.__await).then(function(value) { 17227 invoke("next", value, resolve, reject); 17228 }, function(err) { 17229 invoke("throw", err, resolve, reject); 17230 }); 17231 } 17232 17233 return Promise.resolve(value).then(function(unwrapped) { 17234 // When a yielded Promise is resolved, its final value becomes 17235 // the .value of the Promise<{value,done}> result for the 17236 // current iteration. If the Promise is rejected, however, the 17237 // result for this iteration will be rejected with the same 17238 // reason. Note that rejections of yielded Promises are not 17239 // thrown back into the generator function, as is the case 17240 // when an awaited Promise is rejected. This difference in 17241 // behavior between yield and await is important, because it 17242 // allows the consumer to decide what to do with the yielded 17243 // rejection (swallow it and continue, manually .throw it back 17244 // into the generator, abandon iteration, whatever). With 17245 // await, by contrast, there is no opportunity to examine the 17246 // rejection reason outside the generator function, so the 17247 // only option is to throw it from the await expression, and 17248 // let the generator function handle the exception. 17249 result.value = unwrapped; 17250 resolve(result); 17251 }, reject); 17252 } 17253 } 17254 17255 if (typeof global.process === "object" && global.process.domain) { 17256 invoke = global.process.domain.bind(invoke); 17257 } 17258 17259 var previousPromise; 17260 17261 function enqueue(method, arg) { 17262 function callInvokeWithMethodAndArg() { 17263 return new Promise(function(resolve, reject) { 17264 invoke(method, arg, resolve, reject); 17265 }); 17266 } 17267 17268 return previousPromise = 17269 // If enqueue has been called before, then we want to wait until 17270 // all previous Promises have been resolved before calling invoke, 17271 // so that results are always delivered in the correct order. If 17272 // enqueue has not been called before, then it is important to 17273 // call invoke immediately, without waiting on a callback to fire, 17274 // so that the async generator function has the opportunity to do 17275 // any necessary setup in a predictable way. This predictability 17276 // is why the Promise constructor synchronously invokes its 17277 // executor callback, and why async functions synchronously 17278 // execute code before the first await. Since we implement simple 17279 // async functions in terms of async generators, it is especially 17280 // important to get this right, even though it requires care. 17281 previousPromise ? previousPromise.then( 17282 callInvokeWithMethodAndArg, 17283 // Avoid propagating failures to Promises returned by later 17284 // invocations of the iterator. 17285 callInvokeWithMethodAndArg 17286 ) : callInvokeWithMethodAndArg(); 17287 } 17288 17289 // Define the unified helper method that is used to implement .next, 17290 // .throw, and .return (see defineIteratorMethods). 17291 this._invoke = enqueue; 17292 } 17293 17294 defineIteratorMethods(AsyncIterator.prototype); 17295 AsyncIterator.prototype[asyncIteratorSymbol] = function () { 17296 return this; 17297 }; 17298 runtime.AsyncIterator = AsyncIterator; 17299 17300 // Note that simple async functions are implemented on top of 17301 // AsyncIterator objects; they just return a Promise for the value of 17302 // the final result produced by the iterator. 17303 runtime.async = function(innerFn, outerFn, self, tryLocsList) { 17304 var iter = new AsyncIterator( 17305 wrap(innerFn, outerFn, self, tryLocsList) 17306 ); 17307 17308 return runtime.isGeneratorFunction(outerFn) 17309 ? iter // If outerFn is a generator, return the full iterator. 17310 : iter.next().then(function(result) { 17311 return result.done ? result.value : iter.next(); 17312 }); 17313 }; 17314 17315 function makeInvokeMethod(innerFn, self, context) { 17316 var state = GenStateSuspendedStart; 17317 17318 return function invoke(method, arg) { 17319 if (state === GenStateExecuting) { 17320 throw new Error("Generator is already running"); 17321 } 17322 17323 if (state === GenStateCompleted) { 17324 if (method === "throw") { 17325 throw arg; 17326 } 17327 17328 // Be forgiving, per 25.3.3.3.3 of the spec: 17329 // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume 17330 return doneResult(); 17331 } 17332 17333 context.method = method; 17334 context.arg = arg; 17335 17336 while (true) { 17337 var delegate = context.delegate; 17338 if (delegate) { 17339 var delegateResult = maybeInvokeDelegate(delegate, context); 17340 if (delegateResult) { 17341 if (delegateResult === ContinueSentinel) continue; 17342 return delegateResult; 17343 } 17344 } 17345 17346 if (context.method === "next") { 17347 // Setting context._sent for legacy support of Babel's 17348 // function.sent implementation. 17349 context.sent = context._sent = context.arg; 17350 17351 } else if (context.method === "throw") { 17352 if (state === GenStateSuspendedStart) { 17353 state = GenStateCompleted; 17354 throw context.arg; 17355 } 17356 17357 context.dispatchException(context.arg); 17358 17359 } else if (context.method === "return") { 17360 context.abrupt("return", context.arg); 17361 } 17362 17363 state = GenStateExecuting; 17364 17365 var record = tryCatch(innerFn, self, context); 17366 if (record.type === "normal") { 17367 // If an exception is thrown from innerFn, we leave state === 17368 // GenStateExecuting and loop back for another invocation. 17369 state = context.done 17370 ? GenStateCompleted 17371 : GenStateSuspendedYield; 17372 17373 if (record.arg === ContinueSentinel) { 17374 continue; 17375 } 17376 17377 return { 17378 value: record.arg, 17379 done: context.done 17380 }; 17381 17382 } else if (record.type === "throw") { 17383 state = GenStateCompleted; 17384 // Dispatch the exception by looping back around to the 17385 // context.dispatchException(context.arg) call above. 17386 context.method = "throw"; 17387 context.arg = record.arg; 17388 } 17389 } 17390 }; 17391 } 17392 17393 // Call delegate.iterator[context.method](context.arg) and handle the 17394 // result, either by returning a { value, done } result from the 17395 // delegate iterator, or by modifying context.method and context.arg, 17396 // setting context.delegate to null, and returning the ContinueSentinel. 17397 function maybeInvokeDelegate(delegate, context) { 17398 var method = delegate.iterator[context.method]; 17399 if (method === undefined) { 17400 // A .throw or .return when the delegate iterator has no .throw 17401 // method always terminates the yield* loop. 17402 context.delegate = null; 17403 17404 if (context.method === "throw") { 17405 if (delegate.iterator.return) { 17406 // If the delegate iterator has a return method, give it a 17407 // chance to clean up. 17408 context.method = "return"; 17409 context.arg = undefined; 17410 maybeInvokeDelegate(delegate, context); 17411 17412 if (context.method === "throw") { 17413 // If maybeInvokeDelegate(context) changed context.method from 17414 // "return" to "throw", let that override the TypeError below.
vendor: 10,473 bytes, lines 17415-17792
17415 return ContinueSentinel; 17416 } 17417 } 17418 17419 context.method = "throw"; 17420 context.arg = new TypeError( 17421 "The iterator does not provide a 'throw' method"); 17422 } 17423 17424 return ContinueSentinel; 17425 } 17426 17427 var record = tryCatch(method, delegate.iterator, context.arg); 17428 17429 if (record.type === "throw") { 17430 context.method = "throw"; 17431 context.arg = record.arg; 17432 context.delegate = null; 17433 return ContinueSentinel; 17434 } 17435 17436 var info = record.arg; 17437 17438 if (! info) { 17439 context.method = "throw"; 17440 context.arg = new TypeError("iterator result is not an object"); 17441 context.delegate = null; 17442 return ContinueSentinel; 17443 } 17444 17445 if (info.done) { 17446 // Assign the result of the finished delegate to the temporary 17447 // variable specified by delegate.resultName (see delegateYield). 17448 context[delegate.resultName] = info.value; 17449 17450 // Resume execution at the desired location (see delegateYield). 17451 context.next = delegate.nextLoc; 17452 17453 // If context.method was "throw" but the delegate handled the 17454 // exception, let the outer generator proceed normally. If 17455 // context.method was "next", forget context.arg since it has been 17456 // "consumed" by the delegate iterator. If context.method was 17457 // "return", allow the original .return call to continue in the 17458 // outer generator. 17459 if (context.method !== "return") { 17460 context.method = "next"; 17461 context.arg = undefined; 17462 } 17463 17464 } else { 17465 // Re-yield the result returned by the delegate method. 17466 return info; 17467 } 17468 17469 // The delegate iterator is finished, so forget it and continue with 17470 // the outer generator. 17471 context.delegate = null; 17472 return ContinueSentinel; 17473 } 17474 17475 // Define Generator.prototype.{next,throw,return} in terms of the 17476 // unified ._invoke helper method. 17477 defineIteratorMethods(Gp); 17478 17479 Gp[toStringTagSymbol] = "Generator"; 17480 17481 // A Generator should always return itself as the iterator object when the 17482 // @@iterator function is called on it. Some browsers' implementations of the 17483 // iterator prototype chain incorrectly implement this, causing the Generator 17484 // object to not be returned from this call. This ensures that doesn't happen. 17485 // See https://github.com/facebook/regenerator/issues/274 for more details. 17486 Gp[iteratorSymbol] = function() { 17487 return this; 17488 }; 17489 17490 Gp.toString = function() { 17491 return "[object Generator]"; 17492 }; 17493 17494 function pushTryEntry(locs) { 17495 var entry = { tryLoc: locs[0] }; 17496 17497 if (1 in locs) { 17498 entry.catchLoc = locs[1]; 17499 } 17500 17501 if (2 in locs) { 17502 entry.finallyLoc = locs[2]; 17503 entry.afterLoc = locs[3]; 17504 } 17505 17506 this.tryEntries.push(entry); 17507 } 17508 17509 function resetTryEntry(entry) { 17510 var record = entry.completion || {}; 17511 record.type = "normal"; 17512 delete record.arg; 17513 entry.completion = record; 17514 } 17515 17516 function Context(tryLocsList) { 17517 // The root entry object (effectively a try statement without a catch 17518 // or a finally block) gives us a place to store values thrown from 17519 // locations where there is no enclosing try statement. 17520 this.tryEntries = [{ tryLoc: "root" }]; 17521 tryLocsList.forEach(pushTryEntry, this); 17522 this.reset(true); 17523 } 17524 17525 runtime.keys = function(object) { 17526 var keys = []; 17527 for (var key in object) { 17528 keys.push(key); 17529 } 17530 keys.reverse(); 17531 17532 // Rather than returning an object with a next method, we keep 17533 // things simple and return the next function itself. 17534 return function next() { 17535 while (keys.length) { 17536 var key = keys.pop(); 17537 if (key in object) { 17538 next.value = key; 17539 next.done = false; 17540 return next; 17541 } 17542 } 17543 17544 // To avoid creating an additional object, we just hang the .value 17545 // and .done properties off the next function object itself. This 17546 // also ensures that the minifier will not anonymize the function. 17547 next.done = true; 17548 return next; 17549 }; 17550 }; 17551 17552 function values(iterable) { 17553 if (iterable) { 17554 var iteratorMethod = iterable[iteratorSymbol]; 17555 if (iteratorMethod) { 17556 return iteratorMethod.call(iterable); 17557 } 17558 17559 if (typeof iterable.next === "function") { 17560 return iterable; 17561 } 17562 17563 if (!isNaN(iterable.length)) { 17564 var i = -1, next = function next() { 17565 while (++i < iterable.length) { 17566 if (hasOwn.call(iterable, i)) { 17567 next.value = iterable[i]; 17568 next.done = false; 17569 return next; 17570 } 17571 } 17572 17573 next.value = undefined; 17574 next.done = true; 17575 17576 return next; 17577 }; 17578 17579 return next.next = next; 17580 } 17581 } 17582 17583 // Return an iterator with no values. 17584 return { next: doneResult }; 17585 } 17586 runtime.values = values; 17587 17588 function doneResult() { 17589 return { value: undefined, done: true }; 17590 } 17591 17592 Context.prototype = { 17593 constructor: Context, 17594 17595 reset: function(skipTempReset) { 17596 this.prev = 0; 17597 this.next = 0; 17598 // Resetting context._sent for legacy support of Babel's 17599 // function.sent implementation. 17600 this.sent = this._sent = undefined; 17601 this.done = false; 17602 this.delegate = null; 17603 17604 this.method = "next"; 17605 this.arg = undefined; 17606 17607 this.tryEntries.forEach(resetTryEntry); 17608 17609 if (!skipTempReset) { 17610 for (var name in this) { 17611 // Not sure about the optimal order of these conditions: 17612 if (name.charAt(0) === "t" && 17613 hasOwn.call(this, name) && 17614 !isNaN(+name.slice(1))) { 17615 this[name] = undefined; 17616 } 17617 } 17618 } 17619 }, 17620 17621 stop: function() { 17622 this.done = true; 17623 17624 var rootEntry = this.tryEntries[0]; 17625 var rootRecord = rootEntry.completion; 17626 if (rootRecord.type === "throw") { 17627 throw rootRecord.arg; 17628 } 17629 17630 return this.rval; 17631 }, 17632 17633 dispatchException: function(exception) { 17634 if (this.done) { 17635 throw exception; 17636 } 17637 17638 var context = this; 17639 function handle(loc, caught) { 17640 record.type = "throw"; 17641 record.arg = exception; 17642 context.next = loc; 17643 17644 if (caught) { 17645 // If the dispatched exception was caught by a catch block, 17646 // then let that catch block handle the exception normally. 17647 context.method = "next"; 17648 context.arg = undefined; 17649 } 17650 17651 return !! caught; 17652 } 17653 17654 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 17655 var entry = this.tryEntries[i]; 17656 var record = entry.completion; 17657 17658 if (entry.tryLoc === "root") { 17659 // Exception thrown outside of any try block that could handle 17660 // it, so set the completion value of the entire function to 17661 // throw the exception. 17662 return handle("end"); 17663 } 17664 17665 if (entry.tryLoc <= this.prev) { 17666 var hasCatch = hasOwn.call(entry, "catchLoc"); 17667 var hasFinally = hasOwn.call(entry, "finallyLoc"); 17668 17669 if (hasCatch && hasFinally) { 17670 if (this.prev < entry.catchLoc) { 17671 return handle(entry.catchLoc, true); 17672 } else if (this.prev < entry.finallyLoc) { 17673 return handle(entry.finallyLoc); 17674 } 17675 17676 } else if (hasCatch) { 17677 if (this.prev < entry.catchLoc) { 17678 return handle(entry.catchLoc, true); 17679 } 17680 17681 } else if (hasFinally) { 17682 if (this.prev < entry.finallyLoc) { 17683 return handle(entry.finallyLoc); 17684 } 17685 17686 } else { 17687 throw new Error("try statement without catch or finally"); 17688 } 17689 } 17690 } 17691 }, 17692 17693 abrupt: function(type, arg) { 17694 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 17695 var entry = this.tryEntries[i]; 17696 if (entry.tryLoc <= this.prev && 17697 hasOwn.call(entry, "finallyLoc") && 17698 this.prev < entry.finallyLoc) { 17699 var finallyEntry = entry; 17700 break; 17701 } 17702 } 17703 17704 if (finallyEntry && 17705 (type === "break" || 17706 type === "continue") && 17707 finallyEntry.tryLoc <= arg && 17708 arg <= finallyEntry.finallyLoc) { 17709 // Ignore the finally entry if control is not jumping to a 17710 // location outside the try/catch block. 17711 finallyEntry = null; 17712 } 17713 17714 var record = finallyEntry ? finallyEntry.completion : {}; 17715 record.type = type; 17716 record.arg = arg; 17717 17718 if (finallyEntry) { 17719 this.method = "next"; 17720 this.next = finallyEntry.finallyLoc; 17721 return ContinueSentinel; 17722 } 17723 17724 return this.complete(record); 17725 }, 17726 17727 complete: function(record, afterLoc) { 17728 if (record.type === "throw") { 17729 throw record.arg; 17730 } 17731 17732 if (record.type === "break" || 17733 record.type === "continue") { 17734 this.next = record.arg; 17735 } else if (record.type === "return") { 17736 this.rval = this.arg = record.arg; 17737 this.method = "return"; 17738 this.next = "end"; 17739 } else if (record.type === "normal" && afterLoc) { 17740 this.next = afterLoc; 17741 } 17742 17743 return ContinueSentinel; 17744 }, 17745 17746 finish: function(finallyLoc) { 17747 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 17748 var entry = this.tryEntries[i]; 17749 if (entry.finallyLoc === finallyLoc) { 17750 this.complete(entry.completion, entry.afterLoc); 17751 resetTryEntry(entry); 17752 return ContinueSentinel; 17753 } 17754 } 17755 }, 17756 17757 "catch": function(tryLoc) { 17758 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 17759 var entry = this.tryEntries[i]; 17760 if (entry.tryLoc === tryLoc) { 17761 var record = entry.completion; 17762 if (record.type === "throw") { 17763 var thrown = record.arg; 17764 resetTryEntry(entry); 17765 } 17766 return thrown; 17767 } 17768 } 17769 17770 // The context.catch method must only be called with a location 17771 // argument that corresponds to a known catch block. 17772 throw new Error("illegal catch attempt"); 17773 }, 17774 17775 delegateYield: function(iterable, resultName, nextLoc) { 17776 this.delegate = { 17777 iterator: values(iterable), 17778 resultName: resultName, 17779 nextLoc: nextLoc 17780 }; 17781 17782 if (this.method === "next") { 17783 // Deliberately forget the last sent value so that we don't 17784 // accidentally pass it on to the delegate. 17785 this.arg = undefined; 17786 } 17787 17788 return ContinueSentinel; 17789 } 17790 }; 17791})( 17792 //
17792Among the various tricks for obtaining a reference to the global 17793 // object, this seems to be the most reliable technique that does not 17794 // use indirect eval (which violates Content Security Policy). 17795 typeof global === "object" ? global : 17796 typeof window === "object" ? window : 17797 typeof self === "object" ? self : this 17798); 17799 17800}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 17801},{}]},{},[1,2,3,4,9]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.