diff --git a/photos/IMG_20211105_104548.jpg b/photos/Luigi/IMG_20211105_104548.jpg similarity index 100% rename from photos/IMG_20211105_104548.jpg rename to photos/Luigi/IMG_20211105_104548.jpg diff --git a/photos/IMG_20211105_104551.jpg b/photos/Luigi/IMG_20211105_104551.jpg similarity index 100% rename from photos/IMG_20211105_104551.jpg rename to photos/Luigi/IMG_20211105_104551.jpg diff --git a/photos/IMG_20211105_104558.jpg b/photos/Luigi/IMG_20211105_104558.jpg similarity index 100% rename from photos/IMG_20211105_104558.jpg rename to photos/Luigi/IMG_20211105_104558.jpg diff --git a/photos/IMG_20211105_104559.jpg b/photos/Luigi/IMG_20211105_104559.jpg similarity index 100% rename from photos/IMG_20211105_104559.jpg rename to photos/Luigi/IMG_20211105_104559.jpg diff --git a/photos/IMG_20211105_104604.jpg b/photos/Luigi/IMG_20211105_104604.jpg similarity index 100% rename from photos/IMG_20211105_104604.jpg rename to photos/Luigi/IMG_20211105_104604.jpg diff --git a/photos/IMG_20211105_104610.jpg b/photos/Luigi/IMG_20211105_104610.jpg similarity index 100% rename from photos/IMG_20211105_104610.jpg rename to photos/Luigi/IMG_20211105_104610.jpg diff --git a/photos/IMG_20211105_104617.jpg b/photos/Luigi/IMG_20211105_104617.jpg similarity index 100% rename from photos/IMG_20211105_104617.jpg rename to photos/Luigi/IMG_20211105_104617.jpg diff --git a/photos/IMG_20211105_104628.jpg b/photos/Luigi/IMG_20211105_104628.jpg similarity index 100% rename from photos/IMG_20211105_104628.jpg rename to photos/Luigi/IMG_20211105_104628.jpg diff --git a/photos/Roland/20211103_170335.jpg b/photos/Roland/20211103_170335.jpg new file mode 100644 index 0000000000000000000000000000000000000000..476c3607e8be32cab5519d23ff00761b955bafb3 Binary files /dev/null and b/photos/Roland/20211103_170335.jpg differ diff --git a/photos/Roland/20211103_170343.jpg b/photos/Roland/20211103_170343.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2097065110cc101398b73053e83081b650b6f97c Binary files /dev/null and b/photos/Roland/20211103_170343.jpg differ diff --git a/photos/Roland/20211103_170348.jpg b/photos/Roland/20211103_170348.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6531004040552972f2c9bfa0ab92e360ff63dfcc Binary files /dev/null and b/photos/Roland/20211103_170348.jpg differ diff --git a/photos/Roland/20211103_170452.jpg b/photos/Roland/20211103_170452.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c8903d8907079950212308f8c851d914ab8ebe6 Binary files /dev/null and b/photos/Roland/20211103_170452.jpg differ diff --git a/photos/Roland/20211103_170458.jpg b/photos/Roland/20211103_170458.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19c892bb8b0d6381f241a548964da3c35bc6928e Binary files /dev/null and b/photos/Roland/20211103_170458.jpg differ diff --git a/photos/Roland/20211103_171116.jpg b/photos/Roland/20211103_171116.jpg new file mode 100644 index 0000000000000000000000000000000000000000..246d52026ccffe968cdafb50a86c993dad82c188 Binary files /dev/null and b/photos/Roland/20211103_171116.jpg differ diff --git a/photos/Roland/20211103_171213.jpg b/photos/Roland/20211103_171213.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c41e73f8e56d9162d93f64ac8dc4e45445cdcbc Binary files /dev/null and b/photos/Roland/20211103_171213.jpg differ diff --git a/photos/Roland/20211103_171959.jpg b/photos/Roland/20211103_171959.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33baf87ae9ebecc8473440d71cb6ddfdb51b0194 Binary files /dev/null and b/photos/Roland/20211103_171959.jpg differ diff --git a/photos/Roland/20211103_172002.jpg b/photos/Roland/20211103_172002.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a783dc5e336d922f7d67c96ab630616585419fc0 Binary files /dev/null and b/photos/Roland/20211103_172002.jpg differ diff --git a/photos/Roland/20211103_172046.jpg b/photos/Roland/20211103_172046.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cfd6eddd4b528123722bdc0e857303ca1c250374 Binary files /dev/null and b/photos/Roland/20211103_172046.jpg differ diff --git a/photos/Roland/20211103_172049.jpg b/photos/Roland/20211103_172049.jpg new file mode 100644 index 0000000000000000000000000000000000000000..efa73c61eab7fe492c40a71fa9d8c1c3e76b62a3 Binary files /dev/null and b/photos/Roland/20211103_172049.jpg differ diff --git a/photos/Roland/20211103_172122.jpg b/photos/Roland/20211103_172122.jpg new file mode 100644 index 0000000000000000000000000000000000000000..106fc87768c3fc9a77a26092115e26589f14f186 Binary files /dev/null and b/photos/Roland/20211103_172122.jpg differ diff --git a/photos/Roland/20211103_172144.jpg b/photos/Roland/20211103_172144.jpg new file mode 100644 index 0000000000000000000000000000000000000000..57acd9b1f4806ac9e31e304ac3edf5fb7212bc21 Binary files /dev/null and b/photos/Roland/20211103_172144.jpg differ diff --git a/photos/Roland/20211104_082005.jpg b/photos/Roland/20211104_082005.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e2e689983abf59dd4b180f1b9318edb534fada3a Binary files /dev/null and b/photos/Roland/20211104_082005.jpg differ diff --git a/photos/Roland/20211104_082010.jpg b/photos/Roland/20211104_082010.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e4432d761d4cde79c25987075cf1d32abe8d9567 Binary files /dev/null and b/photos/Roland/20211104_082010.jpg differ diff --git a/photos/Roland/20211104_133714.jpg b/photos/Roland/20211104_133714.jpg new file mode 100644 index 0000000000000000000000000000000000000000..24451b7380911f67c4854696b3c0add5df9b2e19 Binary files /dev/null and b/photos/Roland/20211104_133714.jpg differ diff --git a/photos/Roland/20211104_133722.jpg b/photos/Roland/20211104_133722.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ef473e198793479ede85c73682f58684b4e94fd6 Binary files /dev/null and b/photos/Roland/20211104_133722.jpg differ diff --git a/photos/Roland/20211104_150531.jpg b/photos/Roland/20211104_150531.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ae5b96c7fe8899aac5c6ac6dffce954083ab9eb9 Binary files /dev/null and b/photos/Roland/20211104_150531.jpg differ diff --git a/photos/Roland/20211104_150533.jpg b/photos/Roland/20211104_150533.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c9d784d6491cf19c8fc6ea3966fcece1b23b849e Binary files /dev/null and b/photos/Roland/20211104_150533.jpg differ diff --git a/photos/Roland/20211104_150535.jpg b/photos/Roland/20211104_150535.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a16ffd7a6fc22704a757185bb39354a235d828f Binary files /dev/null and b/photos/Roland/20211104_150535.jpg differ diff --git a/photos/Roland/20211104_150550.jpg b/photos/Roland/20211104_150550.jpg new file mode 100644 index 0000000000000000000000000000000000000000..053ade5734efe574fc98bdf2eb50273542db4eaa Binary files /dev/null and b/photos/Roland/20211104_150550.jpg differ diff --git a/photos/Roland/20211104_153311.jpg b/photos/Roland/20211104_153311.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7bacc00848a890b81531c85a7e6133e50dd64c3 Binary files /dev/null and b/photos/Roland/20211104_153311.jpg differ diff --git a/photos/Roland/20211104_153315.jpg b/photos/Roland/20211104_153315.jpg new file mode 100644 index 0000000000000000000000000000000000000000..787d9b88680cd60a45a2ff8747a557cd18ad30af Binary files /dev/null and b/photos/Roland/20211104_153315.jpg differ diff --git a/photos/Roland/20211104_153919.jpg b/photos/Roland/20211104_153919.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6dbf2d7553275c561d4a8d20b5a0848cbea1efa2 Binary files /dev/null and b/photos/Roland/20211104_153919.jpg differ diff --git a/photos/Roland/20211104_153926.jpg b/photos/Roland/20211104_153926.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e2aef5d922ea3c9264c096ca6615596c590e0d1e Binary files /dev/null and b/photos/Roland/20211104_153926.jpg differ diff --git a/photos/Roland/20211104_153930.jpg b/photos/Roland/20211104_153930.jpg new file mode 100644 index 0000000000000000000000000000000000000000..de216fe8081c4e706eff25ba23ee86953ddccf2b Binary files /dev/null and b/photos/Roland/20211104_153930.jpg differ diff --git a/photos/Roland/20211104_170855.jpg b/photos/Roland/20211104_170855.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cbe5117fc777c379135b696a00e4caa2dd88ae30 Binary files /dev/null and b/photos/Roland/20211104_170855.jpg differ diff --git a/photos/Roland/20211104_170906.jpg b/photos/Roland/20211104_170906.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f94cf269f319719113c6a892378d7b28738de252 Binary files /dev/null and b/photos/Roland/20211104_170906.jpg differ diff --git a/photos/Roland/20211104_200430.jpg b/photos/Roland/20211104_200430.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4709c552c67e52632423366044746cea4e5b2916 Binary files /dev/null and b/photos/Roland/20211104_200430.jpg differ diff --git a/photos/Roland/20211104_200434.jpg b/photos/Roland/20211104_200434.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1ce3e1206408d78cdd29d9d2ed154c6a1d2118b8 Binary files /dev/null and b/photos/Roland/20211104_200434.jpg differ diff --git a/photos/Roland/20211105_155152.jpg b/photos/Roland/20211105_155152.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b11b2934c32cdc27c420d15cbe9d67b4a1258571 Binary files /dev/null and b/photos/Roland/20211105_155152.jpg differ diff --git a/photos/Roland/20211105_155159.jpg b/photos/Roland/20211105_155159.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54f550af602f31a591759c64f64b155aefc7bccf Binary files /dev/null and b/photos/Roland/20211105_155159.jpg differ diff --git a/photos/index.php b/photos/index.php new file mode 100644 index 0000000000000000000000000000000000000000..d1f22d2fa462cac495ffbc367ef87b6c2440409f --- /dev/null +++ b/photos/index.php @@ -0,0 +1,93 @@ +<?php + +$images=array("Luigi/","Roland/"); +$thumbnails="./"; +//$images="./"; +// $thumbnails="thumbnail/"; +// $images="images/" + + +?> +<!doctype html> +<html> + <head> + <title>19th RAMiCS photo gallery</title> + <link href='simplelightbox-master/dist/simple-lightbox.min.css' rel='stylesheet' type='text/css'> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> + + <script type="text/javascript" src="simplelightbox-master/dist/simple-lightbox.jquery.min.js"></script> + + <link href='style.css' rel='stylesheet' type='text/css'> + </head> + <body> + <div class='container'> + <div class="gallery"> + + <?php + // Image extensions + $image_extensions = array("png","jpg","jpeg","gif"); + + // Target directory +foreach ($images as $dir){ + if (is_dir($dir)){ + + if ($dh = opendir($dir)){ + $count = 1; + + // Read files + while (($file = readdir($dh)) !== false){ + + if($file != '' && $file != '.' && $file != '..'){ + + // Thumbnail image path + $thumbnail_path = $dir.$thumbnails.$file; + + // Image path + $image_path = $dir.$file; + + $thumbnail_ext = pathinfo($thumbnail_path, PATHINFO_EXTENSION); + $image_ext = pathinfo($image_path, PATHINFO_EXTENSION); + + // Check its not folder and it is image file + if(!is_dir($image_path) && + in_array($thumbnail_ext,$image_extensions) && + in_array($image_ext,$image_extensions)){ + ?> + + <!-- Image --> + <a href="<?php echo $image_path; ?>"> + <img src="<?php echo $thumbnail_path; ?>" alt="" title=""/> + </a> + <!-- --- --> + <?php + + // Break + if( $count%4 == 0){ + ?> + <div class="clear"></div> + <?php + } + $count++; + } + } + + } + closedir($dh); + } + } +} + ?> + </div> + </div> + + + <!-- Script --> + <script type='text/javascript'> + $(document).ready(function(){ + + // Intialize gallery + var gallery = $('.gallery a').simpleLightbox(); + }); + </script> + </body> +</html> \ No newline at end of file diff --git a/photos/simplelightbox-master/dist/simple-lightbox.css b/photos/simplelightbox-master/dist/simple-lightbox.css new file mode 100644 index 0000000000000000000000000000000000000000..910f7a7447a2cfffbc770223b9dbbbc30002e1ab --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.css @@ -0,0 +1,231 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.7.0 +*/ +body.hidden-scroll { + overflow: hidden; } + +.sl-overlay { + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: #fff; + opacity: 0.7; + display: none; + z-index: 1035; } + +.sl-wrapper { + z-index: 1040; + width: 100%; + height: 100%; + left: 0; + top: 0; + position: fixed; } + .sl-wrapper * { + box-sizing: border-box; } + .sl-wrapper button { + border: 0 none; + background: transparent; + font-size: 28px; + padding: 0; + cursor: pointer; } + .sl-wrapper button:hover { + opacity: 0.7; } + .sl-wrapper .sl-close { + display: none; + position: fixed; + right: 30px; + top: 30px; + z-index: 10060; + margin-top: -14px; + margin-right: -14px; + height: 44px; + width: 44px; + line-height: 44px; + font-family: Arial, Baskerville, monospace; + color: #000; + font-size: 3rem; } + .sl-wrapper .sl-counter { + display: none; + position: fixed; + top: 30px; + left: 30px; + z-index: 1060; + color: #000; + font-size: 1rem; } + .sl-wrapper .sl-navigation { + width: 100%; + display: none; } + .sl-wrapper .sl-navigation button { + position: fixed; + top: 50%; + margin-top: -22px; + height: 44px; + width: 22px; + line-height: 44px; + text-align: center; + display: block; + z-index: 10060; + font-family: Arial, Baskerville, monospace; + color: #000; } + .sl-wrapper .sl-navigation button.sl-next { + right: 5px; + font-size: 2rem; } + .sl-wrapper .sl-navigation button.sl-prev { + left: 5px; + font-size: 2rem; } + @media (min-width: 35.5em) { + .sl-wrapper .sl-navigation button { + width: 44px; } + .sl-wrapper .sl-navigation button.sl-next { + right: 10px; + font-size: 3rem; } + .sl-wrapper .sl-navigation button.sl-prev { + left: 10px; + font-size: 3rem; } } + @media (min-width: 50em) { + .sl-wrapper .sl-navigation button { + width: 44px; } + .sl-wrapper .sl-navigation button.sl-next { + right: 20px; + font-size: 3rem; } + .sl-wrapper .sl-navigation button.sl-prev { + left: 20px; + font-size: 3rem; } } + .sl-wrapper.sl-dir-rtl .sl-navigation { + direction: ltr; } + .sl-wrapper .sl-image { + position: fixed; + -ms-touch-action: none; + touch-action: none; + z-index: 10000; } + .sl-wrapper .sl-image img { + margin: 0; + padding: 0; + display: block; + border: 0 none; + width: 100%; + height: auto; } + @media (min-width: 35.5em) { + .sl-wrapper .sl-image img { + border: 0 none; } } + @media (min-width: 50em) { + .sl-wrapper .sl-image img { + border: 0 none; } } + .sl-wrapper .sl-image iframe { + background: #000; + border: 0 none; } + @media (min-width: 35.5em) { + .sl-wrapper .sl-image iframe { + border: 0 none; } } + @media (min-width: 50em) { + .sl-wrapper .sl-image iframe { + border: 0 none; } } + .sl-wrapper .sl-image .sl-caption { + display: none; + padding: 10px; + color: #fff; + background: rgba(0, 0, 0, 0.8); + font-size: 1rem; + position: absolute; + bottom: 0; + left: 0; + right: 0; } + .sl-wrapper .sl-image .sl-caption.pos-top { + bottom: auto; + top: 0; } + .sl-wrapper .sl-image .sl-caption.pos-outside { + bottom: auto; } + .sl-wrapper .sl-image .sl-download { + display: none; + position: absolute; + bottom: 5px; + right: 5px; + color: #000; + z-index: 1060; } + +.sl-spinner { + display: none; + border: 5px solid #333; + border-radius: 40px; + height: 40px; + left: 50%; + margin: -20px 0 0 -20px; + opacity: 0; + position: fixed; + top: 50%; + width: 40px; + z-index: 1007; + -webkit-animation: pulsate 1s ease-out infinite; + -moz-animation: pulsate 1s ease-out infinite; + -ms-animation: pulsate 1s ease-out infinite; + -o-animation: pulsate 1s ease-out infinite; + animation: pulsate 1s ease-out infinite; } + +.sl-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } + +.sl-transition { + transition: -moz-transform ease 200ms; + transition: -ms-transform ease 200ms; + transition: -o-transform ease 200ms; + transition: -webkit-transform ease 200ms; + transition: transform ease 200ms; } + +@-webkit-keyframes pulsate { + 0% { + transform: scale(0.1); + opacity: 0.0; } + 50% { + opacity: 1; } + 100% { + transform: scale(1.2); + opacity: 0; } } + +@keyframes pulsate { + 0% { + transform: scale(0.1); + opacity: 0.0; } + 50% { + opacity: 1; } + 100% { + transform: scale(1.2); + opacity: 0; } } + +@-moz-keyframes pulsate { + 0% { + transform: scale(0.1); + opacity: 0.0; } + 50% { + opacity: 1; } + 100% { + transform: scale(1.2); + opacity: 0; } } + +@-o-keyframes pulsate { + 0% { + transform: scale(0.1); + opacity: 0.0; } + 50% { + opacity: 1; } + 100% { + transform: scale(1.2); + opacity: 0; } } + +@-ms-keyframes pulsate { + 0% { + transform: scale(0.1); + opacity: 0.0; } + 50% { + opacity: 1; } + 100% { + transform: scale(1.2); + opacity: 0; } } diff --git a/photos/simplelightbox-master/dist/simple-lightbox.esm.js b/photos/simplelightbox-master/dist/simple-lightbox.esm.js new file mode 100644 index 0000000000000000000000000000000000000000..b897e22aa6fff78faf09758804dd4d9160d08ee9 --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.esm.js @@ -0,0 +1,1377 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.7.0 +*/ +class SimpleLightbox { + + defaultOptions = { + sourceAttr: 'href', + overlay: true, + spinner: true, + nav: true, + navText: ['‹', '›'], + captions: true, + captionDelay: 0, + captionSelector: 'img', + captionType: 'attr', + captionsData: 'title', + captionPosition: 'bottom', + captionClass: '', + close: true, + closeText: '×', + swipeClose: true, + showCounter: true, + fileExt: 'png|jpg|jpeg|gif|webp', + animationSlide: true, + animationSpeed: 250, + preloading: true, + enableKeyboard: true, + loop: true, + rel: false, + docClose: true, + swipeTolerance: 50, + className: 'simple-lightbox', + widthRatio: 0.8, + heightRatio: 0.9, + scaleImageToRatio: false, + disableRightClick: false, + disableScroll: true, + alertError: true, + alertErrorMessage: 'Image not found, next image will be loaded', + additionalHtml: false, + history: true, + throttleInterval: 0, + doubleTapZoom: 2, + maxZoom: 10, + htmlClass: 'has-lightbox', + rtl: false, + fixedClass: 'sl-fixed', + fadeSpeed: 300, + uniqueImages: true, + focus: true + }; + + transitionPrefix; + transitionCapable = false; + + isTouchDevice = ('ontouchstart' in window); + + + initialLocationHash; + + pushStateSupport = ('pushState' in history); + + isOpen = false; + isAnimating = false; + isClosing = false; + isFadeIn = false; + urlChangedOnce = false; + hashReseted = false; + historyHasChanges = false; + historyUpdateTimeout = null; + + currentImage; + eventNamespace = 'simplelightbox'; + domNodes = {}; + + loadedImages = []; + initialImageIndex = 0; + currentImageIndex = 0; + + initialSelector = null; + globalScrollbarWidth = 0; + + controlCoordinates = { + swipeDiff: 0, + swipeYDiff: 0, + swipeStart: 0, + swipeEnd: 0, + swipeYStart: 0, + swipeYEnd: 0, + mousedown: false, + imageLeft: 0, + zoomed: false, + containerHeight: 0, + containerWidth: 0, + containerOffsetX: 0, + containerOffsetY: 0, + imgHeight: 0, + imgWidth: 0, + capture: false, + initialOffsetX: 0, + initialOffsetY: 0, + initialPointerOffsetX: 0, + initialPointerOffsetY: 0, + initialPointerOffsetX2: 0, + initialPointerOffsetY2: 0, + initialScale: 1, + initialPinchDistance: 0, + pointerOffsetX: 0, + pointerOffsetY: 0, + pointerOffsetX2: 0, + pointerOffsetY2: 0, + targetOffsetX: 0, + targetOffsetY: 0, + targetScale: 0, + pinchOffsetX: 0, + pinchOffsetY: 0, + limitOffsetX: 0, + limitOffsetY: 0, + scaleDifference: 0, + targetPinchDistance: 0, + touchCount: 0, + doubleTapped: false, + touchmoveCount: 0 + }; + + constructor(elements, options) { + + this.options = Object.assign(this.defaultOptions, options); + + if (typeof elements === 'string') { + this.initialSelector = elements; + this.elements = Array.from(document.querySelectorAll(elements)); + } else { + this.elements = ((typeof elements.length !== 'undefined') && elements.length > 0) ? Array.from(elements) : [elements]; + } + + this.relatedElements = []; + + this.transitionPrefix = this.calculateTransitionPrefix(); + this.transitionCapable = this.transitionPrefix !== false; + this.initialLocationHash = this.hash; + + // this should be handled by attribute selector IMHO! => 'a[rel=bla]'... + if (this.options.rel) { + this.elements = this.getRelated(this.options.rel); + } + + if (this.options.uniqueImages) { + let imgArr = []; + this.elements = Array.from(this.elements).filter( + element => { + let src = element.getAttribute(this.options.sourceAttr); + if(imgArr.indexOf(src) === -1) { + imgArr.push(src); + return true; + } + return false; + } + ); + } + + this.createDomNodes(); + + if (this.options.close) { + this.domNodes.wrapper.appendChild(this.domNodes.closeButton); + } + + if (this.options.nav) { + this.domNodes.wrapper.appendChild(this.domNodes.navigation); + } + + if (this.options.spinner) { + this.domNodes.wrapper.appendChild(this.domNodes.spinner); + } + + this.addEventListener(this.elements, 'click.' + this.eventNamespace, (event) => { + + if (this.isValidLink(event.currentTarget)) { + event.preventDefault(); + if (this.isAnimating) { + return false; + } + + this.initialImageIndex = this.elements.indexOf(event.currentTarget); + this.openImage(event.currentTarget); + } + }); + + // close addEventListener click addEventListener doc + if (this.options.docClose) { + this.addEventListener(this.domNodes.wrapper, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], (event) => { + if (this.isOpen && event.target === event.currentTarget) { + this.close(); + } + }); + } + + // disable rightclick + if (this.options.disableRightClick) { + this.addEventListener(document.body, 'contextmenu.' + this.eventNamespace, (event) => { + if (event.target.classList.contains('sl-overlay')) { + event.preventDefault(); + } + }); + } + + // keyboard-control + if (this.options.enableKeyboard) { + this.addEventListener(document.body, 'keyup.' + this.eventNamespace, this.throttle((event) => { + this.controlCoordinates.swipeDiff = 0; + // keyboard control only if lightbox is open + + if (this.isAnimating && event.key === 'Escape') { + this.currentImage.setAttribute('src', ''); + this.isAnimating = false; + return this.close(); + } + + if (this.isOpen) { + event.preventDefault(); + if (event.key === 'Escape') { + this.close(); + } + if(!this.isAnimating && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) > -1) { + this.loadImage(event.key === 'ArrowRight' ? 1 : -1); + } + } + }, this.options.throttleInterval)); + } + + this.addEvents(); + } + + createDomNodes() { + this.domNodes.overlay = document.createElement('div'); + this.domNodes.overlay.classList.add('sl-overlay'); + this.domNodes.overlay.dataset.opacityTarget = ".7"; + + this.domNodes.closeButton = document.createElement('button'); + this.domNodes.closeButton.classList.add('sl-close'); + this.domNodes.closeButton.innerHTML = this.options.closeText; + + this.domNodes.spinner = document.createElement('div'); + this.domNodes.spinner.classList.add('sl-spinner'); + this.domNodes.spinner.innerHTML = '<div></div>'; + + this.domNodes.navigation = document.createElement('div'); + this.domNodes.navigation.classList.add('sl-navigation'); + this.domNodes.navigation.innerHTML = `<button class="sl-prev">${this.options.navText[0]}</button><button class="sl-next">${this.options.navText[1]}</button>`; + + this.domNodes.counter = document.createElement('div'); + this.domNodes.counter.classList.add('sl-counter'); + this.domNodes.counter.innerHTML = '<span class="sl-current"></span>/<span class="sl-total"></span>'; + + this.domNodes.caption = document.createElement('div'); + this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition); + if (this.options.captionClass) { + this.domNodes.caption.classList.add(this.options.captionClass); + } + + this.domNodes.image = document.createElement('div'); + this.domNodes.image.classList.add('sl-image'); + + this.domNodes.wrapper = document.createElement('div'); + this.domNodes.wrapper.classList.add('sl-wrapper'); + this.domNodes.wrapper.setAttribute('tabindex',-1); + this.domNodes.wrapper.setAttribute('role','dialog'); + this.domNodes.wrapper.setAttribute('aria-hidden',false); + if (this.options.className) { + this.domNodes.wrapper.classList.add(this.options.className); + } + if(this.options.rtl) { + this.domNodes.wrapper.classList.add('sl-dir-rtl'); + } + } + + throttle(func, limit) { + let inThrottle; + return function () { + if (!inThrottle) { + func.apply(this, arguments); + inThrottle = true; + setTimeout(function () { + return inThrottle = false; + }, limit); + } + }; + } + + isValidLink(element) { + return (!this.options.fileExt) || ('pathname' in element && (new RegExp('(' + this.options.fileExt + ')$', 'i')).test(element.pathname)); + } + + calculateTransitionPrefix() { + let s = (document.body || document.documentElement).style; + + return 'transition' in s ? '' : + 'WebkitTransition' in s ? '-webkit-' : + 'MozTransition' in s ? '-moz-' : + 'OTransition' in s ? '-o' : + false; + } + + toggleScrollbar(type) { + let scrollbarWidth = 0; + let fixedElements = [].slice.call(document.querySelectorAll('.'+this.options.fixedClass)) + if (type === 'hide') { + let fullWindowWidth = window.innerWidth; + if (!fullWindowWidth) { + let documentElementRect = document.documentElement.getBoundingClientRect(); + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left); + } + if (document.body.clientWidth < fullWindowWidth) { + let scrollDiv = document.createElement('div'), + paddingRight = parseInt(document.body.style.paddingRight || 0, 10); + + scrollDiv.classList.add('sl-scrollbar-measure'); + + document.body.appendChild(scrollDiv); + scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + + document.body.dataset.originalPaddingRight = paddingRight; + if (scrollbarWidth > 0) { + document.body.classList.add('hidden-scroll'); + document.body.style.paddingRight = (paddingRight + scrollbarWidth) + 'px'; + + fixedElements.forEach(element => { + const actualPadding = element.style.paddingRight + const calculatedPadding = window.getComputedStyle(element)['padding-right'] + element.dataset.originalPaddingRight = actualPadding; + element.style.paddingRight = `${parseFloat(calculatedPadding) + scrollbarWidth}px` + }); + + } + } + } else { + document.body.classList.remove('hidden-scroll'); + document.body.style.paddingRight = document.body.dataset.originalPaddingRight; + + fixedElements.forEach(element => { + const padding = element.dataset.originalPaddingRight; + if (typeof padding !== 'undefined') { + element.style.paddingRight = padding + } + }); + } + return scrollbarWidth; + } + + close() { + if (!this.isOpen || this.isAnimating || this.isClosing) { + return false; + } + + this.isClosing = true; + let element = this.relatedElements[this.currentImageIndex]; + element.dispatchEvent(new Event('close.simplelightbox')); + + if (this.options.history) { + this.historyHasChanges = false; + if(!this.hashReseted) { + this.resetHash(); + } + } + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + + + this.fadeOut(document.querySelectorAll('.sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, () => { + if (this.options.disableScroll) { + this.toggleScrollbar('show'); + } + + if (this.options.htmlClass && this.options.htmlClass !== '') { + document.querySelector('html').classList.remove(this.options.htmlClass); + } + + document.body.removeChild(this.domNodes.wrapper); + document.body.removeChild(this.domNodes.overlay); + this.domNodes.additionalHtml = null; + + element.dispatchEvent(new Event('closed.simplelightbox')); + + this.isClosing = false; + }); + + this.currentImage = null; + this.isOpen = false; + this.isAnimating = false; + + // reset touchcontrol coordinates + for (let key in this.controlCoordinates) { + this.controlCoordinates[key] = 0; + } + this.controlCoordinates.mousedown = false; + this.controlCoordinates.zoomed = false; + this.controlCoordinates.capture = false; + this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom); + this.controlCoordinates.doubleTapped = false; + } + + get hash() { + return window.location.hash.substring(1); + } + + preload() { + let index = this.currentImageIndex, + length = this.relatedElements.length, + next = (index + 1 < 0) ? length - 1 : (index + 1 >= length - 1) ? 0 : index + 1, + prev = (index - 1 < 0) ? length - 1 : (index - 1 >= length - 1) ? 0 : index - 1, + nextImage = new Image(), + prevImage = new Image(); + + nextImage.addEventListener('load', (event) => { + let src = event.target.getAttribute('src'); + if (this.loadedImages.indexOf(src) === -1) { //is this condition even required... setting multiple times will not change usage... + this.loadedImages.push(src); + } + this.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + this.eventNamespace)); + }); + nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr)); + + prevImage.addEventListener('load', (event) => { + let src = event.target.getAttribute('src'); + if (this.loadedImages.indexOf(src) === -1) { + this.loadedImages.push(src); + } + this.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + this.eventNamespace)); + }); + prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr)); + } + + loadImage(direction) { + let slideDirection = direction; + if(this.options.rtl) { + direction = -direction; + } + + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace)); + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace)); + + let newIndex = this.currentImageIndex + direction; + + if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) { + return false; + } + + this.currentImageIndex = (newIndex < 0) ? this.relatedElements.length - 1 : (newIndex > this.relatedElements.length - 1) ? 0 : newIndex; + + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + + + if (this.options.animationSlide) { + this.slide(this.options.animationSpeed / 1000, (-100 * slideDirection) - this.controlCoordinates.swipeDiff + 'px'); + } + + this.fadeOut(this.domNodes.image, this.options.fadeSpeed, () => { + this.isAnimating = true; + + if(!this.isClosing) { + setTimeout(() => { + + let element = this.relatedElements[this.currentImageIndex]; + this.currentImage.setAttribute('src', element.getAttribute(this.options.sourceAttr)); + + if (this.loadedImages.indexOf(element.getAttribute(this.options.sourceAttr)) === -1) { + this.show(this.domNodes.spinner); + } + + if(this.domNodes.image.contains(this.domNodes.caption)) { + this.domNodes.image.removeChild(this.domNodes.caption); + } + + this.adjustImage(slideDirection); + if (this.options.preloading) this.preload(); + }, 100); + } else { + this.isAnimating = false; + } + }); + } + + adjustImage(direction) { + if (!this.currentImage) { + return false; + } + + let tmpImage = new Image(), + windowWidth = window.innerWidth * this.options.widthRatio, + windowHeight = window.innerHeight * this.options.heightRatio; + + tmpImage.setAttribute('src', this.currentImage.getAttribute('src')); + + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + this.zoomPanElement(0, 0, 1); + + tmpImage.addEventListener('error', (event) => { + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('error.' + this.eventNamespace)); + this.isAnimating = false; + this.isOpen = false; + this.domNodes.spinner.style.display = 'none'; + + let dirIsDefined = direction === 1 || direction === -1; + if (this.initialImageIndex === this.currentImageIndex && dirIsDefined) { + return this.close(); + } + + if (this.options.alertError) { + alert(this.options.alertErrorMessage); + } + + this.loadImage(dirIsDefined ? direction : 1); + }); + + + tmpImage.addEventListener('load', (event) => { + if (typeof direction !== 'undefined') { + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('changed.' + this.eventNamespace)); + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + this.eventNamespace)); + } + + // history + if (this.options.history) { + this.updateURL(); + } + + if (this.loadedImages.indexOf(this.currentImage.getAttribute('src')) === -1) { + this.loadedImages.push(this.currentImage.getAttribute('src')); + } + + let imageWidth = event.target.width, + imageHeight = event.target.height; + + if (this.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) { + let ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight; + imageWidth /= ratio; + imageHeight /= ratio; + } + + this.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px'; + this.domNodes.image.style.left = (window.innerWidth - imageWidth - this.globalScrollbarWidth) / 2 + 'px'; + this.domNodes.image.style.width = imageWidth + 'px'; + this.domNodes.image.style.height = imageHeight + 'px'; + + this.domNodes.spinner.style.display = 'none'; + if( this.options.focus ) { + this.forceFocus(); + } + this.fadeIn(this.currentImage, this.options.fadeSpeed, () => { + if( this.options.focus ) { + this.domNodes.wrapper.focus(); + } + }); + + this.isOpen = true; + + let captionContainer, + captionText; + + if (typeof this.options.captionSelector === 'string') { + captionContainer = this.options.captionSelector === 'self' ? this.relatedElements[this.currentImageIndex] : this.relatedElements[this.currentImageIndex].querySelector(this.options.captionSelector); + } else if (typeof this.options.captionSelector === 'function') { + captionContainer = this.options.captionSelector(this.relatedElements[this.currentImageIndex]); + } + + if(this.options.captions && captionContainer) { + if (this.options.captionType === 'data') { + captionText = captionContainer.dataset[this.options.captionsData]; + } else if (this.options.captionType === 'text') { + captionText = captionContainer.innerHTML; + } else { + captionText = captionContainer.getAttribute(this.options.captionsData); + } + } + + if (!this.options.loop) { + if (this.currentImageIndex === 0) { + this.hide(this.domNodes.navigation.querySelector('.sl-prev')); + } + if (this.currentImageIndex >= this.relatedElements.length - 1) { + this.hide(this.domNodes.navigation.querySelector('.sl-next')); + } + if (this.currentImageIndex > 0) { + this.show(this.domNodes.navigation.querySelector('.sl-prev')); + } + if (this.currentImageIndex < this.relatedElements.length - 1) { + this.show(this.domNodes.navigation.querySelector('.sl-next')); + } + } + + if (this.relatedElements.length === 1) { + this.hide(this.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } else { + this.show(this.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } + + if (direction === 1 || direction === -1) { + if (this.options.animationSlide) { + this.slide(0, 100 * direction + 'px'); + setTimeout(() => { + this.slide(this.options.animationSpeed / 1000, 0 + 'px'); + }, 50); + } + this.fadeIn(this.domNodes.image, this.options.fadeSpeed, () => { + this.isAnimating = false; + this.setCaption(captionText, imageWidth); + }); + + } else { + this.isAnimating = false; + this.setCaption(captionText, imageWidth); + } + + if (this.options.additionalHtml && !this.domNodes.additionalHtml) { + this.domNodes.additionalHtml = document.createElement('div'); + this.domNodes.additionalHtml.classList.add('sl-additional-html'); + this.domNodes.additionalHtml.innerHTML = this.options.additionalHtml; + this.domNodes.image.appendChild(this.domNodes.additionalHtml); + } + + }); + } + + zoomPanElement(targetOffsetX, targetOffsetY, targetScale) { + + this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')'; + + }; + + minMax(value, min, max) { + return (value < min) ? min : (value > max) ? max : value; + }; + + setZoomData(initialScale, targetOffsetX, targetOffsetY) { + this.currentImage.dataset.scale = initialScale; + this.currentImage.dataset.translateX = targetOffsetX; + this.currentImage.dataset.translateY = targetOffsetY; + }; + + + hashchangeHandler() { + if (this.isOpen && this.hash === this.initialLocationHash) { + this.hashReseted = true; + this.close(); + } + } + + addEvents() { + + // resize/responsive + this.addEventListener(window, 'resize.' + this.eventNamespace, (event) => { + //this.adjustImage.bind(this) + if (this.isOpen) { + this.adjustImage(); + } + }); + + this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this)); + + if (this.options.history) { + setTimeout(() => { + this.addEventListener(window, 'hashchange.' + this.eventNamespace, (event) => { + if (this.isOpen) { + this.hashchangeHandler(); + } + }); + }, 40); + } + + this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, (event) => { + if (!event.currentTarget.tagName.match(/button/i)) { + return true; + } + + event.preventDefault(); + this.controlCoordinates.swipeDiff = 0; + this.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1); + }); + + this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], (event) => { + if (event.target.tagName === 'A' && event.type === 'touchstart') { + return true; + } + + if (event.type === 'mousedown') { + this.controlCoordinates.initialPointerOffsetX = event.clientX; + this.controlCoordinates.initialPointerOffsetY = event.clientY; + this.controlCoordinates.containerHeight = this.getDimensions(this.domNodes.image).height; + this.controlCoordinates.containerWidth = this.getDimensions(this.domNodes.image).width; + this.controlCoordinates.imgHeight = this.getDimensions(this.currentImage).height; + this.controlCoordinates.imgWidth = this.getDimensions(this.currentImage).width; + this.controlCoordinates.containerOffsetX = this.domNodes.image.offsetLeft; + this.controlCoordinates.containerOffsetY = this.domNodes.image.offsetTop; + + this.controlCoordinates.initialOffsetX = parseFloat(this.currentImage.dataset.translateX); + this.controlCoordinates.initialOffsetY = parseFloat(this.currentImage.dataset.translateY); + this.controlCoordinates.capture = true; + } else { + this.controlCoordinates.touchCount = event.touches.length; + this.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + this.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + this.controlCoordinates.containerHeight = this.getDimensions(this.domNodes.image).height; + this.controlCoordinates.containerWidth = this.getDimensions(this.domNodes.image).width; + this.controlCoordinates.imgHeight = this.getDimensions(this.currentImage).height; + this.controlCoordinates.imgWidth = this.getDimensions(this.currentImage).width; + this.controlCoordinates.containerOffsetX = this.domNodes.image.offsetLeft; + this.controlCoordinates.containerOffsetY = this.domNodes.image.offsetTop; + + if (this.controlCoordinates.touchCount === 1) /* Single touch */ { + if (!this.controlCoordinates.doubleTapped) { + this.controlCoordinates.doubleTapped = true; + setTimeout(() => { + this.controlCoordinates.doubleTapped = false; + }, 300); + } else { + + this.currentImage.classList.add('sl-transition'); + if (!this.controlCoordinates.zoomed) { + this.controlCoordinates.initialScale = this.options.doubleTapZoom; + this.setZoomData(this.controlCoordinates.initialScale,0, 0); + this.zoomPanElement(0 + "px", 0 + "px", this.controlCoordinates.initialScale); + + + if (!this.domNodes.caption.style.opacity && this.domNodes.caption.style.display !== 'none') { + this.fadeOut(this.domNodes.caption, this.options.fadeSpeed); + } + + this.controlCoordinates.zoomed = true; + } else { + this.controlCoordinates.initialScale = 1; + this.setZoomData(this.controlCoordinates.initialScale,0, 0); + this.zoomPanElement(0 + "px", 0 + "px", this.controlCoordinates.initialScale); + this.controlCoordinates.zoomed = false; + } + + setTimeout(() => { + if (this.currentImage) { + this.currentImage.classList.remove('sl-transition'); + } + }, 200); + return false; + } + + this.controlCoordinates.initialOffsetX = parseFloat(this.currentImage.dataset.translateX); + this.controlCoordinates.initialOffsetY = parseFloat(this.currentImage.dataset.translateY); + } + else if (this.controlCoordinates.touchCount === 2) /* Pinch */ { + this.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX; + this.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY; + this.controlCoordinates.initialOffsetX = parseFloat(this.currentImage.dataset.translateX); + this.controlCoordinates.initialOffsetY = parseFloat(this.currentImage.dataset.translateY); + this.controlCoordinates.pinchOffsetX = (this.controlCoordinates.initialPointerOffsetX + this.controlCoordinates.initialPointerOffsetX2) / 2; + this.controlCoordinates.pinchOffsetY = (this.controlCoordinates.initialPointerOffsetY + this.controlCoordinates.initialPointerOffsetY2) / 2; + this.controlCoordinates.initialPinchDistance = Math.sqrt(((this.controlCoordinates.initialPointerOffsetX - this.controlCoordinates.initialPointerOffsetX2) * (this.controlCoordinates.initialPointerOffsetX - this.controlCoordinates.initialPointerOffsetX2)) + ((this.controlCoordinates.initialPointerOffsetY - this.controlCoordinates.initialPointerOffsetY2) * (this.controlCoordinates.initialPointerOffsetY - this.controlCoordinates.initialPointerOffsetY2))); + } + this.controlCoordinates.capture = true; + } + if(this.controlCoordinates.mousedown) return true; + if (this.transitionCapable) { + this.controlCoordinates.imageLeft = parseInt(this.domNodes.image.style.left, 10); + } + this.controlCoordinates.mousedown = true; + this.controlCoordinates.swipeDiff = 0; + this.controlCoordinates.swipeYDiff = 0; + this.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX; + this.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY; + + return false; + }); + + this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], (event) => { + + + if (!this.controlCoordinates.mousedown) { + return true; + } + + event.preventDefault(); + + if (event.type === 'touchmove') { + if (this.controlCoordinates.capture === false) { + return false; + } + + this.controlCoordinates.pointerOffsetX = event.touches[0].clientX; + this.controlCoordinates.pointerOffsetY = event.touches[0].clientY; + this.controlCoordinates.touchCount = event.touches.length; + this.controlCoordinates.touchmoveCount++; + + if (this.controlCoordinates.touchCount > 1) /* Pinch */ { + this.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX; + this.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY; + this.controlCoordinates.targetPinchDistance = Math.sqrt(((this.controlCoordinates.pointerOffsetX - this.controlCoordinates.pointerOffsetX2) * (this.controlCoordinates.pointerOffsetX - this.controlCoordinates.pointerOffsetX2)) + ((this.controlCoordinates.pointerOffsetY - this.controlCoordinates.pointerOffsetY2) * (this.controlCoordinates.pointerOffsetY - this.controlCoordinates.pointerOffsetY2))); + if (this.controlCoordinates.initialPinchDistance === null) { + this.controlCoordinates.initialPinchDistance = this.controlCoordinates.targetPinchDistance; + } + + if (Math.abs(this.controlCoordinates.initialPinchDistance - this.controlCoordinates.targetPinchDistance) >= 1) { + /* Initialize helpers */ + this.controlCoordinates.targetScale = this.minMax(this.controlCoordinates.targetPinchDistance / this.controlCoordinates.initialPinchDistance * this.controlCoordinates.initialScale, 1, this.options.maxZoom); + this.controlCoordinates.limitOffsetX = ((this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) - this.controlCoordinates.containerWidth) / 2; + this.controlCoordinates.limitOffsetY = ((this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) - this.controlCoordinates.containerHeight) / 2; + this.controlCoordinates.scaleDifference = this.controlCoordinates.targetScale - this.controlCoordinates.initialScale; + this.controlCoordinates.targetOffsetX = (this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerWidth ? 0 : this.minMax(this.controlCoordinates.initialOffsetX - ((((((this.controlCoordinates.pinchOffsetX - this.controlCoordinates.containerOffsetX) - (this.controlCoordinates.containerWidth / 2)) - this.controlCoordinates.initialOffsetX) / (this.controlCoordinates.targetScale - this.controlCoordinates.scaleDifference))) * this.controlCoordinates.scaleDifference), this.controlCoordinates.limitOffsetX * (-1), this.controlCoordinates.limitOffsetX); + this.controlCoordinates.targetOffsetY = (this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerHeight ? 0 : this.minMax(this.controlCoordinates.initialOffsetY - ((((((this.controlCoordinates.pinchOffsetY - this.controlCoordinates.containerOffsetY) - (this.controlCoordinates.containerHeight / 2)) - this.controlCoordinates.initialOffsetY) / (this.controlCoordinates.targetScale - this.controlCoordinates.scaleDifference))) * this.controlCoordinates.scaleDifference), this.controlCoordinates.limitOffsetY * (-1), this.controlCoordinates.limitOffsetY); + + this.zoomPanElement(this.controlCoordinates.targetOffsetX + "px", this.controlCoordinates.targetOffsetY + "px", this.controlCoordinates.targetScale); + + if (this.controlCoordinates.targetScale > 1) { + this.controlCoordinates.zoomed = true; + if (!this.domNodes.caption.style.opacity && this.domNodes.caption.style.display !== 'none') { + this.fadeOut(this.domNodes.caption, this.options.fadeSpeed); + } + } + + this.controlCoordinates.initialPinchDistance = this.controlCoordinates.targetPinchDistance; + this.controlCoordinates.initialScale = this.controlCoordinates.targetScale; + this.controlCoordinates.initialOffsetX = this.controlCoordinates.targetOffsetX; + this.controlCoordinates.initialOffsetY = this.controlCoordinates.targetOffsetY; + } + } else { + this.controlCoordinates.targetScale = this.controlCoordinates.initialScale; + this.controlCoordinates.limitOffsetX = ((this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) - this.controlCoordinates.containerWidth) / 2; + this.controlCoordinates.limitOffsetY = ((this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) - this.controlCoordinates.containerHeight) / 2; + this.controlCoordinates.targetOffsetX = (this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerWidth ? 0 : this.minMax(this.controlCoordinates.pointerOffsetX - (this.controlCoordinates.initialPointerOffsetX - this.controlCoordinates.initialOffsetX), this.controlCoordinates.limitOffsetX * (-1), this.controlCoordinates.limitOffsetX); + this.controlCoordinates.targetOffsetY = (this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerHeight ? 0 : this.minMax(this.controlCoordinates.pointerOffsetY - (this.controlCoordinates.initialPointerOffsetY - this.controlCoordinates.initialOffsetY), this.controlCoordinates.limitOffsetY * (-1), this.controlCoordinates.limitOffsetY); + + if (Math.abs(this.controlCoordinates.targetOffsetX) === Math.abs(this.controlCoordinates.limitOffsetX)) { + this.controlCoordinates.initialOffsetX = this.controlCoordinates.targetOffsetX; + this.controlCoordinates.initialPointerOffsetX = this.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(this.controlCoordinates.targetOffsetY) === Math.abs(this.controlCoordinates.limitOffsetY)) { + this.controlCoordinates.initialOffsetY = this.controlCoordinates.targetOffsetY; + this.controlCoordinates.initialPointerOffsetY = this.controlCoordinates.pointerOffsetY; + } + + this.setZoomData(this.controlCoordinates.initialScale, this.controlCoordinates.targetOffsetX, this.controlCoordinates.targetOffsetY); + this.zoomPanElement(this.controlCoordinates.targetOffsetX + "px", this.controlCoordinates.targetOffsetY + "px", this.controlCoordinates.targetScale); + } + } + + /* Mouse Move implementation */ + if (event.type === 'mousemove' && this.controlCoordinates.mousedown) { + if(event.type == 'touchmove') return true; + if(this.controlCoordinates.capture === false) return false; + + this.controlCoordinates.pointerOffsetX = event.clientX; + this.controlCoordinates.pointerOffsetY = event.clientY; + + this.controlCoordinates.targetScale = this.controlCoordinates.initialScale; + this.controlCoordinates.limitOffsetX = ((this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) - this.controlCoordinates.containerWidth) / 2; + this.controlCoordinates.limitOffsetY = ((this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) - this.controlCoordinates.containerHeight) / 2; + this.controlCoordinates.targetOffsetX = (this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerWidth ? 0 : this.minMax(this.controlCoordinates.pointerOffsetX - (this.controlCoordinates.initialPointerOffsetX - this.controlCoordinates.initialOffsetX), this.controlCoordinates.limitOffsetX * (-1), this.controlCoordinates.limitOffsetX); + this.controlCoordinates.targetOffsetY = (this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerHeight ? 0 : this.minMax(this.controlCoordinates.pointerOffsetY - (this.controlCoordinates.initialPointerOffsetY - this.controlCoordinates.initialOffsetY), this.controlCoordinates.limitOffsetY * (-1), this.controlCoordinates.limitOffsetY); + + if (Math.abs(this.controlCoordinates.targetOffsetX) === Math.abs(this.controlCoordinates.limitOffsetX)) { + this.controlCoordinates.initialOffsetX = this.controlCoordinates.targetOffsetX; + this.controlCoordinates.initialPointerOffsetX = this.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(this.controlCoordinates.targetOffsetY) === Math.abs(this.controlCoordinates.limitOffsetY)) { + this.controlCoordinates.initialOffsetY = this.controlCoordinates.targetOffsetY; + this.controlCoordinates.initialPointerOffsetY = this.controlCoordinates.pointerOffsetY; + } + + this.setZoomData(this.controlCoordinates.initialScale, this.controlCoordinates.targetOffsetX, this.controlCoordinates.targetOffsetY); + this.zoomPanElement(this.controlCoordinates.targetOffsetX + "px", this.controlCoordinates.targetOffsetY + "px", this.controlCoordinates.targetScale); + + } + + if (!this.controlCoordinates.zoomed) { + + this.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX; + this.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY; + this.controlCoordinates.swipeDiff = this.controlCoordinates.swipeStart - this.controlCoordinates.swipeEnd; + this.controlCoordinates.swipeYDiff = this.controlCoordinates.swipeYStart - this.controlCoordinates.swipeYEnd; + if (this.options.animationSlide) { + this.slide(0, -this.controlCoordinates.swipeDiff + 'px'); + } + } + + }); + + + this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], (event) => { + + + if (this.isTouchDevice && event.type === 'touchend') { + this.controlCoordinates.touchCount = event.touches.length; + if (this.controlCoordinates.touchCount === 0) /* No touch */ { + /* Set attributes */ + if (this.currentImage) { + this.setZoomData(this.controlCoordinates.initialScale, this.controlCoordinates.targetOffsetX, this.controlCoordinates.targetOffsetY); + } + if (this.controlCoordinates.initialScale === 1) { + this.controlCoordinates.zoomed = false; + if (this.domNodes.caption.style.display === 'none') { + this.fadeIn(this.domNodes.caption, this.options.fadeSpeed); + } + } + this.controlCoordinates.initialPinchDistance = null; + this.controlCoordinates.capture = false; + } else if (this.controlCoordinates.touchCount === 1) /* Single touch */ { + this.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + this.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + } else if (this.controlCoordinates.touchCount > 1) /* Pinch */ { + this.controlCoordinates.initialPinchDistance = null; + } + } + + + if (this.controlCoordinates.mousedown) { + this.controlCoordinates.mousedown = false; + let possibleDir = true; + if (!this.options.loop) { + if (this.currentImageIndex === 0 && this.controlCoordinates.swipeDiff < 0) { + possibleDir = false; + } + if (this.currentImageIndex >= this.relatedElements.length - 1 && this.controlCoordinates.swipeDiff > 0) { + possibleDir = false; + } + } + if (Math.abs(this.controlCoordinates.swipeDiff) > this.options.swipeTolerance && possibleDir) { + this.loadImage(this.controlCoordinates.swipeDiff > 0 ? 1 : -1); + } + else if (this.options.animationSlide) { + this.slide(this.options.animationSpeed / 1000, 0 + 'px'); + } + + if (this.options.swipeClose && Math.abs(this.controlCoordinates.swipeYDiff) > 50 && Math.abs(this.controlCoordinates.swipeDiff) < this.options.swipeTolerance) { + this.close(); + } + } + }); + + this.addEventListener(this.domNodes.image, ['dblclick'], (event) => { + if(this.isTouchDevice) return; + this.controlCoordinates.initialPointerOffsetX = event.clientX; + this.controlCoordinates.initialPointerOffsetY = event.clientY; + this.controlCoordinates.containerHeight = this.getDimensions(this.domNodes.image).height; + this.controlCoordinates.containerWidth = this.getDimensions(this.domNodes.image).width; + this.controlCoordinates.imgHeight = this.getDimensions(this.currentImage).height; + this.controlCoordinates.imgWidth = this.getDimensions(this.currentImage).width; + this.controlCoordinates.containerOffsetX = this.domNodes.image.offsetLeft; + this.controlCoordinates.containerOffsetY = this.domNodes.image.offsetTop; + + this.currentImage.classList.add('sl-transition'); + + if(!this.controlCoordinates.zoomed) { + this.controlCoordinates.initialScale = this.options.doubleTapZoom; + this.setZoomData(this.controlCoordinates.initialScale, 0, 0); + this.zoomPanElement(0 + "px", 0 + "px", this.controlCoordinates.initialScale); + if (!this.domNodes.caption.style.opacity && this.domNodes.caption.style.display !== 'none') { + this.fadeOut(this.domNodes.caption, this.options.fadeSpeed); + } + this.controlCoordinates.zoomed = true; + } else { + this.controlCoordinates.initialScale = 1; + this.setZoomData(this.controlCoordinates.initialScale, 0, 0); + this.zoomPanElement(0 + "px", 0 + "px", this.controlCoordinates.initialScale); + this.controlCoordinates.zoomed = false; + if (this.domNodes.caption.style.display === 'none') { + this.fadeIn(this.domNodes.caption, this.options.fadeSpeed); + } + } + setTimeout(() => { + if (this.currentImage) { + this.currentImage.classList.remove('sl-transition'); + } + }, 200); + + this.controlCoordinates.capture = true; + return false; + }); + + } + + getDimensions(element) { + let styles = window.getComputedStyle(element), + height = element.offsetHeight, + width = element.offsetWidth, + borderTopWidth = parseFloat(styles.borderTopWidth), + borderBottomWidth = parseFloat(styles.borderBottomWidth), + paddingTop = parseFloat(styles.paddingTop), + paddingBottom = parseFloat(styles.paddingBottom), + borderLeftWidth = parseFloat(styles.borderLeftWidth), + borderRightWidth = parseFloat(styles.borderRightWidth), + paddingLeft = parseFloat(styles.paddingLeft), + paddingRight = parseFloat(styles.paddingRight); + return { + height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom, + width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight + }; + } + + updateHash() { + let newHash = 'pid=' + (this.currentImageIndex + 1), + newURL = window.location.href.split('#')[0] + '#' + newHash; + + this.hashReseted = false; + + if (this.pushStateSupport) { + window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL); + } else { + // what is the browser target of this? + if (this.historyHasChanges) { + window.location.replace(newURL); + } else { + window.location.hash = newHash; + } + } + if(!this.historyHasChanges) { + this.urlChangedOnce = true; + } + + this.historyHasChanges = true; + } + + resetHash() { + this.hashReseted = true; + if(this.urlChangedOnce) { + history.back(); + } else { + if (this.pushStateSupport) { + history.pushState('', document.title, window.location.pathname + window.location.search); + } else { + window.location.hash = ''; + } + } + // + //in case an history operation is still pending + clearTimeout(this.historyUpdateTimeout); + } + + updateURL() { + clearTimeout(this.historyUpdateTimeout); + if (!this.historyHasChanges) { + this.updateHash(); // first time + } else { + this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800); + } + } + + setCaption(captionText, imageWidth) { + if (this.options.captions && captionText && captionText !== '' && typeof captionText !== "undefined") { + this.hide(this.domNodes.caption); + this.domNodes.caption.style.width = imageWidth + 'px'; + this.domNodes.caption.innerHTML = captionText; + + this.domNodes.image.appendChild(this.domNodes.caption); + + setTimeout(() => { + this.fadeIn(this.domNodes.caption, this.options.fadeSpeed); + }, this.options.captionDelay); + } + } + + slide(speed, pos) { + if (!this.transitionCapable) { + return this.domNodes.image.style.left = pos; + } + + this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')'; + this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear'; + } + + getRelated(rel) { + let elems; + if (rel && rel !== false && rel !== 'nofollow') { + elems = Array.from(this.elements).filter(element => element.getAttribute('rel') === rel); + } else { + elems = this.elements; + } + return elems; + } + + openImage(element) { + element.dispatchEvent(new Event('show.' + this.eventNamespace)); + + if (this.options.disableScroll) { + this.globalScrollbarWidth = this.toggleScrollbar('hide'); + } + + if (this.options.htmlClass && this.options.htmlClass !== '') { + document.querySelector('html').classList.add(this.options.htmlClass); + } + + document.body.appendChild(this.domNodes.wrapper); + + this.domNodes.wrapper.appendChild(this.domNodes.image); + if (this.options.overlay) { + document.body.appendChild(this.domNodes.overlay); + } + + this.relatedElements = this.getRelated(element.rel); + + if (this.options.showCounter) { + if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.removeChild(this.domNodes.counter); + } else if(this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.appendChild(this.domNodes.counter); + } + } + + this.isAnimating = true; + + this.currentImageIndex = this.relatedElements.indexOf(element); + + let targetURL = element.getAttribute(this.options.sourceAttr); + + this.currentImage = document.createElement('img'); + this.currentImage.style.display = 'none'; + this.currentImage.setAttribute('src', targetURL); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + + if (this.loadedImages.indexOf(targetURL) === -1) { + this.loadedImages.push(targetURL); + } + + this.domNodes.image.innerHTML = ''; + this.domNodes.image.setAttribute('style', ''); + + this.domNodes.image.appendChild(this.currentImage); + + + this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed); + this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton], this.options.fadeSpeed); + + this.show(this.domNodes.spinner); + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length; + + this.adjustImage(); + if (this.options.preloading) { + this.preload(); + } + + setTimeout(() => { + element.dispatchEvent(new Event('shown.' + this.eventNamespace)); + }, this.options.animationSpeed); + } + + forceFocus() { + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.addEventListener(document, 'focusin.' + this.eventNamespace, event => { + if (document !== event.target && + this.domNodes.wrapper !== event.target && + !this.domNodes.wrapper.contains(event.target)) { + this.domNodes.wrapper.focus(); + } + }); + } + + // utility + + addEventListener(elements, events, callback, opts) { + elements = this.wrap(elements); + events = this.wrap(events); + + + for (let element of elements) { + if (!element.namespaces) { + element.namespaces = {}; + } // save the namespaces addEventListener the DOM element itself + + for (let event of events) { + let options = opts || false; + element.namespaces[event] = callback; + element.addEventListener(event.split('.')[0], callback, options); + + } + } + } + + removeEventListener(elements, events) { + elements = this.wrap(elements); + events = this.wrap(events); + for (let element of elements) { + for (let event of events) { + if(element.namespaces && element.namespaces[event]) { + element.removeEventListener(event.split('.')[0], element.namespaces[event]); + delete element.namespaces[event]; + } + } + } + } + + fadeOut(elements, duration, callback) { + elements = this.wrap(elements); + for (let element of elements) { + element.style.opacity = 1; + } + + this.isFadeIn = false; + + let step = 16.66666 / (duration || this.options.fadeSpeed), + fade = () => { + let currentOpacity = parseFloat(elements[0].style.opacity); + if ((currentOpacity -= step) < 0) { + for (let element of elements) { + element.style.display = "none"; + element.style.opacity = ''; + } + callback && callback.call(this, elements); + } else { + for (let element of elements) { + element.style.opacity = currentOpacity; + } + requestAnimationFrame(fade); + } + }; + + fade(); + } + + fadeIn(elements, duration, callback, display) { + elements = this.wrap(elements); + for (let element of elements) { + element.style.opacity = 0; + element.style.display = display || "block"; + } + + this.isFadeIn = true; + + let opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1), + step = (16.66666 * opacityTarget) / (duration || this.options.fadeSpeed), + fade = () => { + let currentOpacity = parseFloat(elements[0].style.opacity); + if (!((currentOpacity += step) > opacityTarget)) { + for (let element of elements) { + element.style.opacity = currentOpacity; + } + if(!this.isFadeIn) return; + requestAnimationFrame(fade); + } else { + for (let element of elements) { + element.style.opacity = ''; + } + callback && callback.call(this, elements); + } + }; + + fade(); + } + + hide(elements) { + elements = this.wrap(elements); + for (let element of elements) { + element.dataset.initialDisplay = element.style.display; + element.style.display = 'none'; + } + } + + show(elements, display) { + elements = this.wrap(elements); + for (let element of elements) { + element.style.display = element.dataset.initialDisplay || display || 'block'; + } + } + + wrap(input) { + return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input]; + } + + on(events, callback) { + events = this.wrap(events); + for (let element of this.elements) { + if (!element.fullyNamespacedEvents) { + element.fullyNamespacedEvents = {}; + } + for (let event of events) { + element.fullyNamespacedEvents[event] = callback; + element.addEventListener(event, callback); + } + } + return this; + } + + off(events) { + events = this.wrap(events); + for (let element of this.elements) { + for (let event of events) { + if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) { + element.removeEventListener(event, element.fullyNamespacedEvents[event]); + } + } + } + return this; + } + + // api + + open(elem) { + elem = elem || this.elements[0]; + if(typeof jQuery !== "undefined" && elem instanceof jQuery) { + elem = elem.get(0); + } + this.initialImageIndex = this.elements.indexOf(elem); + if(this.initialImageIndex > -1) { + this.openImage(elem); + } + } + + next() { + this.loadImage(1); + } + + prev() { + this.loadImage(-1); + } + + //close is exposed anyways.. + + destroy() { + //remove all custom event listeners from elements + this.off([ + 'close.' + this.eventNamespace, + 'closed.' + this.eventNamespace, + 'nextImageLoaded.' + this.eventNamespace, + 'prevImageLoaded.' + this.eventNamespace, + 'change.' + this.eventNamespace, + 'nextDone.' + this.eventNamespace, + 'prevDone.' + this.eventNamespace, + 'error.' + this.eventNamespace, + 'changed.' + this.eventNamespace, + 'next.' + this.eventNamespace, + 'prev.' + this.eventNamespace, + 'show.' + this.eventNamespace, + 'shown.' + this.eventNamespace + ]); + + this.removeEventListener(this.elements, 'click.' + this.eventNamespace); + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace); + this.removeEventListener(document.body, 'keyup.' + this.eventNamespace); + + this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace); + this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace); + this.removeEventListener(window, 'resize.' + this.eventNamespace); + this.removeEventListener(window, 'hashchange.' + this.eventNamespace); + + this.close(); + if (this.isOpen) { + document.body.removeChild(this.domNodes.wrapper); + document.body.removeChild(this.domNodes.overlay); + } + + this.elements = null; + } + + refresh() { + if (!this.initialSelector) { + throw 'refreshing only works when you initialize using a selector!'; + } + + let options = this.options, + selector = this.initialSelector; + + this.destroy(); + + this.constructor(selector, options); + + return this; + } +} +export default SimpleLightbox; + +global.SimpleLightbox = SimpleLightbox; \ No newline at end of file diff --git a/photos/simplelightbox-master/dist/simple-lightbox.jquery.js b/photos/simplelightbox-master/dist/simple-lightbox.jquery.js new file mode 100644 index 0000000000000000000000000000000000000000..74996cd28914620f0c99f207a31a25a8107a6606 --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.jquery.js @@ -0,0 +1,1662 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.7.0 +*/ +(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){ +"use strict"; + +require('./simple-lightbox'); + +(function ($, window, document, undefined) { + 'use strict'; + + $.fn.simpleLightbox = function (options) { + return this.length ? new SimpleLightbox(this.get(), options) : null; + }; +})(jQuery, window, document); + +},{"./simple-lightbox":2}],2:[function(require,module,exports){ +(function (global){(function (){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SimpleLightbox = /*#__PURE__*/function () { + function SimpleLightbox(elements, options) { + var _this = this; + + _classCallCheck(this, SimpleLightbox); + + _defineProperty(this, "defaultOptions", { + sourceAttr: 'href', + overlay: true, + spinner: true, + nav: true, + navText: ['‹', '›'], + captions: true, + captionDelay: 0, + captionSelector: 'img', + captionType: 'attr', + captionsData: 'title', + captionPosition: 'bottom', + captionClass: '', + close: true, + closeText: '×', + swipeClose: true, + showCounter: true, + fileExt: 'png|jpg|jpeg|gif|webp', + animationSlide: true, + animationSpeed: 250, + preloading: true, + enableKeyboard: true, + loop: true, + rel: false, + docClose: true, + swipeTolerance: 50, + className: 'simple-lightbox', + widthRatio: 0.8, + heightRatio: 0.9, + scaleImageToRatio: false, + disableRightClick: false, + disableScroll: true, + alertError: true, + alertErrorMessage: 'Image not found, next image will be loaded', + additionalHtml: false, + history: true, + throttleInterval: 0, + doubleTapZoom: 2, + maxZoom: 10, + htmlClass: 'has-lightbox', + rtl: false, + fixedClass: 'sl-fixed', + fadeSpeed: 300, + uniqueImages: true, + focus: true + }); + + _defineProperty(this, "transitionPrefix", void 0); + + _defineProperty(this, "transitionCapable", false); + + _defineProperty(this, "isTouchDevice", 'ontouchstart' in window); + + _defineProperty(this, "initialLocationHash", void 0); + + _defineProperty(this, "pushStateSupport", 'pushState' in history); + + _defineProperty(this, "isOpen", false); + + _defineProperty(this, "isAnimating", false); + + _defineProperty(this, "isClosing", false); + + _defineProperty(this, "isFadeIn", false); + + _defineProperty(this, "urlChangedOnce", false); + + _defineProperty(this, "hashReseted", false); + + _defineProperty(this, "historyHasChanges", false); + + _defineProperty(this, "historyUpdateTimeout", null); + + _defineProperty(this, "currentImage", void 0); + + _defineProperty(this, "eventNamespace", 'simplelightbox'); + + _defineProperty(this, "domNodes", {}); + + _defineProperty(this, "loadedImages", []); + + _defineProperty(this, "initialImageIndex", 0); + + _defineProperty(this, "currentImageIndex", 0); + + _defineProperty(this, "initialSelector", null); + + _defineProperty(this, "globalScrollbarWidth", 0); + + _defineProperty(this, "controlCoordinates", { + swipeDiff: 0, + swipeYDiff: 0, + swipeStart: 0, + swipeEnd: 0, + swipeYStart: 0, + swipeYEnd: 0, + mousedown: false, + imageLeft: 0, + zoomed: false, + containerHeight: 0, + containerWidth: 0, + containerOffsetX: 0, + containerOffsetY: 0, + imgHeight: 0, + imgWidth: 0, + capture: false, + initialOffsetX: 0, + initialOffsetY: 0, + initialPointerOffsetX: 0, + initialPointerOffsetY: 0, + initialPointerOffsetX2: 0, + initialPointerOffsetY2: 0, + initialScale: 1, + initialPinchDistance: 0, + pointerOffsetX: 0, + pointerOffsetY: 0, + pointerOffsetX2: 0, + pointerOffsetY2: 0, + targetOffsetX: 0, + targetOffsetY: 0, + targetScale: 0, + pinchOffsetX: 0, + pinchOffsetY: 0, + limitOffsetX: 0, + limitOffsetY: 0, + scaleDifference: 0, + targetPinchDistance: 0, + touchCount: 0, + doubleTapped: false, + touchmoveCount: 0 + }); + + this.options = Object.assign(this.defaultOptions, options); + + if (typeof elements === 'string') { + this.initialSelector = elements; + this.elements = Array.from(document.querySelectorAll(elements)); + } else { + this.elements = typeof elements.length !== 'undefined' && elements.length > 0 ? Array.from(elements) : [elements]; + } + + this.relatedElements = []; + this.transitionPrefix = this.calculateTransitionPrefix(); + this.transitionCapable = this.transitionPrefix !== false; + this.initialLocationHash = this.hash; // this should be handled by attribute selector IMHO! => 'a[rel=bla]'... + + if (this.options.rel) { + this.elements = this.getRelated(this.options.rel); + } + + if (this.options.uniqueImages) { + var imgArr = []; + this.elements = Array.from(this.elements).filter(function (element) { + var src = element.getAttribute(_this.options.sourceAttr); + + if (imgArr.indexOf(src) === -1) { + imgArr.push(src); + return true; + } + + return false; + }); + } + + this.createDomNodes(); + + if (this.options.close) { + this.domNodes.wrapper.appendChild(this.domNodes.closeButton); + } + + if (this.options.nav) { + this.domNodes.wrapper.appendChild(this.domNodes.navigation); + } + + if (this.options.spinner) { + this.domNodes.wrapper.appendChild(this.domNodes.spinner); + } + + this.addEventListener(this.elements, 'click.' + this.eventNamespace, function (event) { + if (_this.isValidLink(event.currentTarget)) { + event.preventDefault(); + + if (_this.isAnimating) { + return false; + } + + _this.initialImageIndex = _this.elements.indexOf(event.currentTarget); + + _this.openImage(event.currentTarget); + } + }); // close addEventListener click addEventListener doc + + if (this.options.docClose) { + this.addEventListener(this.domNodes.wrapper, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], function (event) { + if (_this.isOpen && event.target === event.currentTarget) { + _this.close(); + } + }); + } // disable rightclick + + + if (this.options.disableRightClick) { + this.addEventListener(document.body, 'contextmenu.' + this.eventNamespace, function (event) { + if (event.target.classList.contains('sl-overlay')) { + event.preventDefault(); + } + }); + } // keyboard-control + + + if (this.options.enableKeyboard) { + this.addEventListener(document.body, 'keyup.' + this.eventNamespace, this.throttle(function (event) { + _this.controlCoordinates.swipeDiff = 0; // keyboard control only if lightbox is open + + if (_this.isAnimating && event.key === 'Escape') { + _this.currentImage.setAttribute('src', ''); + + _this.isAnimating = false; + return _this.close(); + } + + if (_this.isOpen) { + event.preventDefault(); + + if (event.key === 'Escape') { + _this.close(); + } + + if (!_this.isAnimating && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) > -1) { + _this.loadImage(event.key === 'ArrowRight' ? 1 : -1); + } + } + }, this.options.throttleInterval)); + } + + this.addEvents(); + } + + _createClass(SimpleLightbox, [{ + key: "createDomNodes", + value: function createDomNodes() { + this.domNodes.overlay = document.createElement('div'); + this.domNodes.overlay.classList.add('sl-overlay'); + this.domNodes.overlay.dataset.opacityTarget = ".7"; + this.domNodes.closeButton = document.createElement('button'); + this.domNodes.closeButton.classList.add('sl-close'); + this.domNodes.closeButton.innerHTML = this.options.closeText; + this.domNodes.spinner = document.createElement('div'); + this.domNodes.spinner.classList.add('sl-spinner'); + this.domNodes.spinner.innerHTML = '<div></div>'; + this.domNodes.navigation = document.createElement('div'); + this.domNodes.navigation.classList.add('sl-navigation'); + this.domNodes.navigation.innerHTML = "<button class=\"sl-prev\">".concat(this.options.navText[0], "</button><button class=\"sl-next\">").concat(this.options.navText[1], "</button>"); + this.domNodes.counter = document.createElement('div'); + this.domNodes.counter.classList.add('sl-counter'); + this.domNodes.counter.innerHTML = '<span class="sl-current"></span>/<span class="sl-total"></span>'; + this.domNodes.caption = document.createElement('div'); + this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition); + + if (this.options.captionClass) { + this.domNodes.caption.classList.add(this.options.captionClass); + } + + this.domNodes.image = document.createElement('div'); + this.domNodes.image.classList.add('sl-image'); + this.domNodes.wrapper = document.createElement('div'); + this.domNodes.wrapper.classList.add('sl-wrapper'); + this.domNodes.wrapper.setAttribute('tabindex', -1); + this.domNodes.wrapper.setAttribute('role', 'dialog'); + this.domNodes.wrapper.setAttribute('aria-hidden', false); + + if (this.options.className) { + this.domNodes.wrapper.classList.add(this.options.className); + } + + if (this.options.rtl) { + this.domNodes.wrapper.classList.add('sl-dir-rtl'); + } + } + }, { + key: "throttle", + value: function throttle(func, limit) { + var inThrottle; + return function () { + if (!inThrottle) { + func.apply(this, arguments); + inThrottle = true; + setTimeout(function () { + return inThrottle = false; + }, limit); + } + }; + } + }, { + key: "isValidLink", + value: function isValidLink(element) { + return !this.options.fileExt || 'pathname' in element && new RegExp('(' + this.options.fileExt + ')$', 'i').test(element.pathname); + } + }, { + key: "calculateTransitionPrefix", + value: function calculateTransitionPrefix() { + var s = (document.body || document.documentElement).style; + return 'transition' in s ? '' : 'WebkitTransition' in s ? '-webkit-' : 'MozTransition' in s ? '-moz-' : 'OTransition' in s ? '-o' : false; + } + }, { + key: "toggleScrollbar", + value: function toggleScrollbar(type) { + var scrollbarWidth = 0; + var fixedElements = [].slice.call(document.querySelectorAll('.' + this.options.fixedClass)); + + if (type === 'hide') { + var fullWindowWidth = window.innerWidth; + + if (!fullWindowWidth) { + var documentElementRect = document.documentElement.getBoundingClientRect(); + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left); + } + + if (document.body.clientWidth < fullWindowWidth) { + var scrollDiv = document.createElement('div'), + paddingRight = parseInt(document.body.style.paddingRight || 0, 10); + scrollDiv.classList.add('sl-scrollbar-measure'); + document.body.appendChild(scrollDiv); + scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + document.body.dataset.originalPaddingRight = paddingRight; + + if (scrollbarWidth > 0) { + document.body.classList.add('hidden-scroll'); + document.body.style.paddingRight = paddingRight + scrollbarWidth + 'px'; + fixedElements.forEach(function (element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = window.getComputedStyle(element)['padding-right']; + element.dataset.originalPaddingRight = actualPadding; + element.style.paddingRight = "".concat(parseFloat(calculatedPadding) + scrollbarWidth, "px"); + }); + } + } + } else { + document.body.classList.remove('hidden-scroll'); + document.body.style.paddingRight = document.body.dataset.originalPaddingRight; + fixedElements.forEach(function (element) { + var padding = element.dataset.originalPaddingRight; + + if (typeof padding !== 'undefined') { + element.style.paddingRight = padding; + } + }); + } + + return scrollbarWidth; + } + }, { + key: "close", + value: function close() { + var _this2 = this; + + if (!this.isOpen || this.isAnimating || this.isClosing) { + return false; + } + + this.isClosing = true; + var element = this.relatedElements[this.currentImageIndex]; + element.dispatchEvent(new Event('close.simplelightbox')); + + if (this.options.history) { + this.historyHasChanges = false; + + if (!this.hashReseted) { + this.resetHash(); + } + } + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.fadeOut(document.querySelectorAll('.sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, function () { + if (_this2.options.disableScroll) { + _this2.toggleScrollbar('show'); + } + + if (_this2.options.htmlClass && _this2.options.htmlClass !== '') { + document.querySelector('html').classList.remove(_this2.options.htmlClass); + } + + document.body.removeChild(_this2.domNodes.wrapper); + document.body.removeChild(_this2.domNodes.overlay); + _this2.domNodes.additionalHtml = null; + element.dispatchEvent(new Event('closed.simplelightbox')); + _this2.isClosing = false; + }); + this.currentImage = null; + this.isOpen = false; + this.isAnimating = false; // reset touchcontrol coordinates + + for (var key in this.controlCoordinates) { + this.controlCoordinates[key] = 0; + } + + this.controlCoordinates.mousedown = false; + this.controlCoordinates.zoomed = false; + this.controlCoordinates.capture = false; + this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom); + this.controlCoordinates.doubleTapped = false; + } + }, { + key: "preload", + value: function preload() { + var _this3 = this; + + var index = this.currentImageIndex, + length = this.relatedElements.length, + next = index + 1 < 0 ? length - 1 : index + 1 >= length - 1 ? 0 : index + 1, + prev = index - 1 < 0 ? length - 1 : index - 1 >= length - 1 ? 0 : index - 1, + nextImage = new Image(), + prevImage = new Image(); + nextImage.addEventListener('load', function (event) { + var src = event.target.getAttribute('src'); + + if (_this3.loadedImages.indexOf(src) === -1) { + //is this condition even required... setting multiple times will not change usage... + _this3.loadedImages.push(src); + } + + _this3.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + _this3.eventNamespace)); + }); + nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr)); + prevImage.addEventListener('load', function (event) { + var src = event.target.getAttribute('src'); + + if (_this3.loadedImages.indexOf(src) === -1) { + _this3.loadedImages.push(src); + } + + _this3.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + _this3.eventNamespace)); + }); + prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr)); + } + }, { + key: "loadImage", + value: function loadImage(direction) { + var _this4 = this; + + var slideDirection = direction; + + if (this.options.rtl) { + direction = -direction; + } + + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace)); + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace)); + var newIndex = this.currentImageIndex + direction; + + if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) { + return false; + } + + this.currentImageIndex = newIndex < 0 ? this.relatedElements.length - 1 : newIndex > this.relatedElements.length - 1 ? 0 : newIndex; + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + + if (this.options.animationSlide) { + this.slide(this.options.animationSpeed / 1000, -100 * slideDirection - this.controlCoordinates.swipeDiff + 'px'); + } + + this.fadeOut(this.domNodes.image, this.options.fadeSpeed, function () { + _this4.isAnimating = true; + + if (!_this4.isClosing) { + setTimeout(function () { + var element = _this4.relatedElements[_this4.currentImageIndex]; + + _this4.currentImage.setAttribute('src', element.getAttribute(_this4.options.sourceAttr)); + + if (_this4.loadedImages.indexOf(element.getAttribute(_this4.options.sourceAttr)) === -1) { + _this4.show(_this4.domNodes.spinner); + } + + if (_this4.domNodes.image.contains(_this4.domNodes.caption)) { + _this4.domNodes.image.removeChild(_this4.domNodes.caption); + } + + _this4.adjustImage(slideDirection); + + if (_this4.options.preloading) _this4.preload(); + }, 100); + } else { + _this4.isAnimating = false; + } + }); + } + }, { + key: "adjustImage", + value: function adjustImage(direction) { + var _this5 = this; + + if (!this.currentImage) { + return false; + } + + var tmpImage = new Image(), + windowWidth = window.innerWidth * this.options.widthRatio, + windowHeight = window.innerHeight * this.options.heightRatio; + tmpImage.setAttribute('src', this.currentImage.getAttribute('src')); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + this.zoomPanElement(0, 0, 1); + tmpImage.addEventListener('error', function (event) { + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('error.' + _this5.eventNamespace)); + + _this5.isAnimating = false; + _this5.isOpen = false; + _this5.domNodes.spinner.style.display = 'none'; + var dirIsDefined = direction === 1 || direction === -1; + + if (_this5.initialImageIndex === _this5.currentImageIndex && dirIsDefined) { + return _this5.close(); + } + + if (_this5.options.alertError) { + alert(_this5.options.alertErrorMessage); + } + + _this5.loadImage(dirIsDefined ? direction : 1); + }); + tmpImage.addEventListener('load', function (event) { + if (typeof direction !== 'undefined') { + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('changed.' + _this5.eventNamespace)); + + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + _this5.eventNamespace)); + } // history + + + if (_this5.options.history) { + _this5.updateURL(); + } + + if (_this5.loadedImages.indexOf(_this5.currentImage.getAttribute('src')) === -1) { + _this5.loadedImages.push(_this5.currentImage.getAttribute('src')); + } + + var imageWidth = event.target.width, + imageHeight = event.target.height; + + if (_this5.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) { + var ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight; + imageWidth /= ratio; + imageHeight /= ratio; + } + + _this5.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px'; + _this5.domNodes.image.style.left = (window.innerWidth - imageWidth - _this5.globalScrollbarWidth) / 2 + 'px'; + _this5.domNodes.image.style.width = imageWidth + 'px'; + _this5.domNodes.image.style.height = imageHeight + 'px'; + _this5.domNodes.spinner.style.display = 'none'; + + if (_this5.options.focus) { + _this5.forceFocus(); + } + + _this5.fadeIn(_this5.currentImage, _this5.options.fadeSpeed, function () { + if (_this5.options.focus) { + _this5.domNodes.wrapper.focus(); + } + }); + + _this5.isOpen = true; + var captionContainer, captionText; + + if (typeof _this5.options.captionSelector === 'string') { + captionContainer = _this5.options.captionSelector === 'self' ? _this5.relatedElements[_this5.currentImageIndex] : _this5.relatedElements[_this5.currentImageIndex].querySelector(_this5.options.captionSelector); + } else if (typeof _this5.options.captionSelector === 'function') { + captionContainer = _this5.options.captionSelector(_this5.relatedElements[_this5.currentImageIndex]); + } + + if (_this5.options.captions && captionContainer) { + if (_this5.options.captionType === 'data') { + captionText = captionContainer.dataset[_this5.options.captionsData]; + } else if (_this5.options.captionType === 'text') { + captionText = captionContainer.innerHTML; + } else { + captionText = captionContainer.getAttribute(_this5.options.captionsData); + } + } + + if (!_this5.options.loop) { + if (_this5.currentImageIndex === 0) { + _this5.hide(_this5.domNodes.navigation.querySelector('.sl-prev')); + } + + if (_this5.currentImageIndex >= _this5.relatedElements.length - 1) { + _this5.hide(_this5.domNodes.navigation.querySelector('.sl-next')); + } + + if (_this5.currentImageIndex > 0) { + _this5.show(_this5.domNodes.navigation.querySelector('.sl-prev')); + } + + if (_this5.currentImageIndex < _this5.relatedElements.length - 1) { + _this5.show(_this5.domNodes.navigation.querySelector('.sl-next')); + } + } + + if (_this5.relatedElements.length === 1) { + _this5.hide(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } else { + _this5.show(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } + + if (direction === 1 || direction === -1) { + if (_this5.options.animationSlide) { + _this5.slide(0, 100 * direction + 'px'); + + setTimeout(function () { + _this5.slide(_this5.options.animationSpeed / 1000, 0 + 'px'); + }, 50); + } + + _this5.fadeIn(_this5.domNodes.image, _this5.options.fadeSpeed, function () { + _this5.isAnimating = false; + + _this5.setCaption(captionText, imageWidth); + }); + } else { + _this5.isAnimating = false; + + _this5.setCaption(captionText, imageWidth); + } + + if (_this5.options.additionalHtml && !_this5.domNodes.additionalHtml) { + _this5.domNodes.additionalHtml = document.createElement('div'); + + _this5.domNodes.additionalHtml.classList.add('sl-additional-html'); + + _this5.domNodes.additionalHtml.innerHTML = _this5.options.additionalHtml; + + _this5.domNodes.image.appendChild(_this5.domNodes.additionalHtml); + } + }); + } + }, { + key: "zoomPanElement", + value: function zoomPanElement(targetOffsetX, targetOffsetY, targetScale) { + this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')'; + } + }, { + key: "minMax", + value: function minMax(value, min, max) { + return value < min ? min : value > max ? max : value; + } + }, { + key: "setZoomData", + value: function setZoomData(initialScale, targetOffsetX, targetOffsetY) { + this.currentImage.dataset.scale = initialScale; + this.currentImage.dataset.translateX = targetOffsetX; + this.currentImage.dataset.translateY = targetOffsetY; + } + }, { + key: "hashchangeHandler", + value: function hashchangeHandler() { + if (this.isOpen && this.hash === this.initialLocationHash) { + this.hashReseted = true; + this.close(); + } + } + }, { + key: "addEvents", + value: function addEvents() { + var _this6 = this; + + // resize/responsive + this.addEventListener(window, 'resize.' + this.eventNamespace, function (event) { + //this.adjustImage.bind(this) + if (_this6.isOpen) { + _this6.adjustImage(); + } + }); + this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this)); + + if (this.options.history) { + setTimeout(function () { + _this6.addEventListener(window, 'hashchange.' + _this6.eventNamespace, function (event) { + if (_this6.isOpen) { + _this6.hashchangeHandler(); + } + }); + }, 40); + } + + this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, function (event) { + if (!event.currentTarget.tagName.match(/button/i)) { + return true; + } + + event.preventDefault(); + _this6.controlCoordinates.swipeDiff = 0; + + _this6.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1); + }); + this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], function (event) { + if (event.target.tagName === 'A' && event.type === 'touchstart') { + return true; + } + + if (event.type === 'mousedown') { + _this6.controlCoordinates.initialPointerOffsetX = event.clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + _this6.controlCoordinates.capture = true; + } else { + _this6.controlCoordinates.touchCount = event.touches.length; + _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + + if (_this6.controlCoordinates.touchCount === 1) + /* Single touch */ + { + if (!_this6.controlCoordinates.doubleTapped) { + _this6.controlCoordinates.doubleTapped = true; + setTimeout(function () { + _this6.controlCoordinates.doubleTapped = false; + }, 300); + } else { + _this6.currentImage.classList.add('sl-transition'); + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + + _this6.controlCoordinates.zoomed = true; + } else { + _this6.controlCoordinates.initialScale = 1; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + _this6.controlCoordinates.zoomed = false; + } + + setTimeout(function () { + if (_this6.currentImage) { + _this6.currentImage.classList.remove('sl-transition'); + } + }, 200); + return false; + } + + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + } else if (_this6.controlCoordinates.touchCount === 2) + /* Pinch */ + { + _this6.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX; + _this6.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY; + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + _this6.controlCoordinates.pinchOffsetX = (_this6.controlCoordinates.initialPointerOffsetX + _this6.controlCoordinates.initialPointerOffsetX2) / 2; + _this6.controlCoordinates.pinchOffsetY = (_this6.controlCoordinates.initialPointerOffsetY + _this6.controlCoordinates.initialPointerOffsetY2) / 2; + _this6.controlCoordinates.initialPinchDistance = Math.sqrt((_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) * (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) + (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2) * (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2)); + } + + _this6.controlCoordinates.capture = true; + } + + if (_this6.controlCoordinates.mousedown) return true; + + if (_this6.transitionCapable) { + _this6.controlCoordinates.imageLeft = parseInt(_this6.domNodes.image.style.left, 10); + } + + _this6.controlCoordinates.mousedown = true; + _this6.controlCoordinates.swipeDiff = 0; + _this6.controlCoordinates.swipeYDiff = 0; + _this6.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX; + _this6.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY; + return false; + }); + this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], function (event) { + if (!_this6.controlCoordinates.mousedown) { + return true; + } + + event.preventDefault(); + + if (event.type === 'touchmove') { + if (_this6.controlCoordinates.capture === false) { + return false; + } + + _this6.controlCoordinates.pointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.pointerOffsetY = event.touches[0].clientY; + _this6.controlCoordinates.touchCount = event.touches.length; + _this6.controlCoordinates.touchmoveCount++; + + if (_this6.controlCoordinates.touchCount > 1) + /* Pinch */ + { + _this6.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX; + _this6.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY; + _this6.controlCoordinates.targetPinchDistance = Math.sqrt((_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) * (_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) + (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2) * (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2)); + + if (_this6.controlCoordinates.initialPinchDistance === null) { + _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance; + } + + if (Math.abs(_this6.controlCoordinates.initialPinchDistance - _this6.controlCoordinates.targetPinchDistance) >= 1) { + /* Initialize helpers */ + _this6.controlCoordinates.targetScale = _this6.minMax(_this6.controlCoordinates.targetPinchDistance / _this6.controlCoordinates.initialPinchDistance * _this6.controlCoordinates.initialScale, 1, _this6.options.maxZoom); + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + + if (_this6.controlCoordinates.targetScale > 1) { + _this6.controlCoordinates.zoomed = true; + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance; + _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale; + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + } + } else { + _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) { + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) { + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY; + } + + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + } + } + /* Mouse Move implementation */ + + + if (event.type === 'mousemove' && _this6.controlCoordinates.mousedown) { + if (event.type == 'touchmove') return true; + if (_this6.controlCoordinates.capture === false) return false; + _this6.controlCoordinates.pointerOffsetX = event.clientX; + _this6.controlCoordinates.pointerOffsetY = event.clientY; + _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) { + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) { + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY; + } + + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + } + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX; + _this6.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY; + _this6.controlCoordinates.swipeDiff = _this6.controlCoordinates.swipeStart - _this6.controlCoordinates.swipeEnd; + _this6.controlCoordinates.swipeYDiff = _this6.controlCoordinates.swipeYStart - _this6.controlCoordinates.swipeYEnd; + + if (_this6.options.animationSlide) { + _this6.slide(0, -_this6.controlCoordinates.swipeDiff + 'px'); + } + } + }); + this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], function (event) { + if (_this6.isTouchDevice && event.type === 'touchend') { + _this6.controlCoordinates.touchCount = event.touches.length; + + if (_this6.controlCoordinates.touchCount === 0) + /* No touch */ + { + /* Set attributes */ + if (_this6.currentImage) { + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + } + + if (_this6.controlCoordinates.initialScale === 1) { + _this6.controlCoordinates.zoomed = false; + + if (_this6.domNodes.caption.style.display === 'none') { + _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + _this6.controlCoordinates.initialPinchDistance = null; + _this6.controlCoordinates.capture = false; + } else if (_this6.controlCoordinates.touchCount === 1) + /* Single touch */ + { + _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + } else if (_this6.controlCoordinates.touchCount > 1) + /* Pinch */ + { + _this6.controlCoordinates.initialPinchDistance = null; + } + } + + if (_this6.controlCoordinates.mousedown) { + _this6.controlCoordinates.mousedown = false; + var possibleDir = true; + + if (!_this6.options.loop) { + if (_this6.currentImageIndex === 0 && _this6.controlCoordinates.swipeDiff < 0) { + possibleDir = false; + } + + if (_this6.currentImageIndex >= _this6.relatedElements.length - 1 && _this6.controlCoordinates.swipeDiff > 0) { + possibleDir = false; + } + } + + if (Math.abs(_this6.controlCoordinates.swipeDiff) > _this6.options.swipeTolerance && possibleDir) { + _this6.loadImage(_this6.controlCoordinates.swipeDiff > 0 ? 1 : -1); + } else if (_this6.options.animationSlide) { + _this6.slide(_this6.options.animationSpeed / 1000, 0 + 'px'); + } + + if (_this6.options.swipeClose && Math.abs(_this6.controlCoordinates.swipeYDiff) > 50 && Math.abs(_this6.controlCoordinates.swipeDiff) < _this6.options.swipeTolerance) { + _this6.close(); + } + } + }); + this.addEventListener(this.domNodes.image, ['dblclick'], function (event) { + if (_this6.isTouchDevice) return; + _this6.controlCoordinates.initialPointerOffsetX = event.clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + + _this6.currentImage.classList.add('sl-transition'); + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + + _this6.controlCoordinates.zoomed = true; + } else { + _this6.controlCoordinates.initialScale = 1; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + _this6.controlCoordinates.zoomed = false; + + if (_this6.domNodes.caption.style.display === 'none') { + _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + setTimeout(function () { + if (_this6.currentImage) { + _this6.currentImage.classList.remove('sl-transition'); + } + }, 200); + _this6.controlCoordinates.capture = true; + return false; + }); + } + }, { + key: "getDimensions", + value: function getDimensions(element) { + var styles = window.getComputedStyle(element), + height = element.offsetHeight, + width = element.offsetWidth, + borderTopWidth = parseFloat(styles.borderTopWidth), + borderBottomWidth = parseFloat(styles.borderBottomWidth), + paddingTop = parseFloat(styles.paddingTop), + paddingBottom = parseFloat(styles.paddingBottom), + borderLeftWidth = parseFloat(styles.borderLeftWidth), + borderRightWidth = parseFloat(styles.borderRightWidth), + paddingLeft = parseFloat(styles.paddingLeft), + paddingRight = parseFloat(styles.paddingRight); + return { + height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom, + width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight + }; + } + }, { + key: "updateHash", + value: function updateHash() { + var newHash = 'pid=' + (this.currentImageIndex + 1), + newURL = window.location.href.split('#')[0] + '#' + newHash; + this.hashReseted = false; + + if (this.pushStateSupport) { + window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL); + } else { + // what is the browser target of this? + if (this.historyHasChanges) { + window.location.replace(newURL); + } else { + window.location.hash = newHash; + } + } + + if (!this.historyHasChanges) { + this.urlChangedOnce = true; + } + + this.historyHasChanges = true; + } + }, { + key: "resetHash", + value: function resetHash() { + this.hashReseted = true; + + if (this.urlChangedOnce) { + history.back(); + } else { + if (this.pushStateSupport) { + history.pushState('', document.title, window.location.pathname + window.location.search); + } else { + window.location.hash = ''; + } + } // + //in case an history operation is still pending + + + clearTimeout(this.historyUpdateTimeout); + } + }, { + key: "updateURL", + value: function updateURL() { + clearTimeout(this.historyUpdateTimeout); + + if (!this.historyHasChanges) { + this.updateHash(); // first time + } else { + this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800); + } + } + }, { + key: "setCaption", + value: function setCaption(captionText, imageWidth) { + var _this7 = this; + + if (this.options.captions && captionText && captionText !== '' && typeof captionText !== "undefined") { + this.hide(this.domNodes.caption); + this.domNodes.caption.style.width = imageWidth + 'px'; + this.domNodes.caption.innerHTML = captionText; + this.domNodes.image.appendChild(this.domNodes.caption); + setTimeout(function () { + _this7.fadeIn(_this7.domNodes.caption, _this7.options.fadeSpeed); + }, this.options.captionDelay); + } + } + }, { + key: "slide", + value: function slide(speed, pos) { + if (!this.transitionCapable) { + return this.domNodes.image.style.left = pos; + } + + this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')'; + this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear'; + } + }, { + key: "getRelated", + value: function getRelated(rel) { + var elems; + + if (rel && rel !== false && rel !== 'nofollow') { + elems = Array.from(this.elements).filter(function (element) { + return element.getAttribute('rel') === rel; + }); + } else { + elems = this.elements; + } + + return elems; + } + }, { + key: "openImage", + value: function openImage(element) { + var _this8 = this; + + element.dispatchEvent(new Event('show.' + this.eventNamespace)); + + if (this.options.disableScroll) { + this.globalScrollbarWidth = this.toggleScrollbar('hide'); + } + + if (this.options.htmlClass && this.options.htmlClass !== '') { + document.querySelector('html').classList.add(this.options.htmlClass); + } + + document.body.appendChild(this.domNodes.wrapper); + this.domNodes.wrapper.appendChild(this.domNodes.image); + + if (this.options.overlay) { + document.body.appendChild(this.domNodes.overlay); + } + + this.relatedElements = this.getRelated(element.rel); + + if (this.options.showCounter) { + if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.removeChild(this.domNodes.counter); + } else if (this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.appendChild(this.domNodes.counter); + } + } + + this.isAnimating = true; + this.currentImageIndex = this.relatedElements.indexOf(element); + var targetURL = element.getAttribute(this.options.sourceAttr); + this.currentImage = document.createElement('img'); + this.currentImage.style.display = 'none'; + this.currentImage.setAttribute('src', targetURL); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + + if (this.loadedImages.indexOf(targetURL) === -1) { + this.loadedImages.push(targetURL); + } + + this.domNodes.image.innerHTML = ''; + this.domNodes.image.setAttribute('style', ''); + this.domNodes.image.appendChild(this.currentImage); + this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed); + this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton], this.options.fadeSpeed); + this.show(this.domNodes.spinner); + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length; + this.adjustImage(); + + if (this.options.preloading) { + this.preload(); + } + + setTimeout(function () { + element.dispatchEvent(new Event('shown.' + _this8.eventNamespace)); + }, this.options.animationSpeed); + } + }, { + key: "forceFocus", + value: function forceFocus() { + var _this9 = this; + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.addEventListener(document, 'focusin.' + this.eventNamespace, function (event) { + if (document !== event.target && _this9.domNodes.wrapper !== event.target && !_this9.domNodes.wrapper.contains(event.target)) { + _this9.domNodes.wrapper.focus(); + } + }); + } // utility + + }, { + key: "addEventListener", + value: function addEventListener(elements, events, callback, opts) { + elements = this.wrap(elements); + events = this.wrap(events); + + var _iterator = _createForOfIteratorHelper(elements), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var element = _step.value; + + if (!element.namespaces) { + element.namespaces = {}; + } // save the namespaces addEventListener the DOM element itself + + + var _iterator2 = _createForOfIteratorHelper(events), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var event = _step2.value; + var options = opts || false; + element.namespaces[event] = callback; + element.addEventListener(event.split('.')[0], callback, options); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "removeEventListener", + value: function removeEventListener(elements, events) { + elements = this.wrap(elements); + events = this.wrap(events); + + var _iterator3 = _createForOfIteratorHelper(elements), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var element = _step3.value; + + var _iterator4 = _createForOfIteratorHelper(events), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var event = _step4.value; + + if (element.namespaces && element.namespaces[event]) { + element.removeEventListener(event.split('.')[0], element.namespaces[event]); + delete element.namespaces[event]; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + key: "fadeOut", + value: function fadeOut(elements, duration, callback) { + var _this10 = this; + + elements = this.wrap(elements); + + var _iterator5 = _createForOfIteratorHelper(elements), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var element = _step5.value; + element.style.opacity = 1; + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.isFadeIn = false; + + var step = 16.66666 / (duration || this.options.fadeSpeed), + fade = function fade() { + var currentOpacity = parseFloat(elements[0].style.opacity); + + if ((currentOpacity -= step) < 0) { + var _iterator6 = _createForOfIteratorHelper(elements), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var element = _step6.value; + element.style.display = "none"; + element.style.opacity = ''; + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + callback && callback.call(_this10, elements); + } else { + var _iterator7 = _createForOfIteratorHelper(elements), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _element = _step7.value; + _element.style.opacity = currentOpacity; + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + requestAnimationFrame(fade); + } + }; + + fade(); + } + }, { + key: "fadeIn", + value: function fadeIn(elements, duration, callback, display) { + var _this11 = this; + + elements = this.wrap(elements); + + var _iterator8 = _createForOfIteratorHelper(elements), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var element = _step8.value; + element.style.opacity = 0; + element.style.display = display || "block"; + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + this.isFadeIn = true; + + var opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1), + step = 16.66666 * opacityTarget / (duration || this.options.fadeSpeed), + fade = function fade() { + var currentOpacity = parseFloat(elements[0].style.opacity); + + if (!((currentOpacity += step) > opacityTarget)) { + var _iterator9 = _createForOfIteratorHelper(elements), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var element = _step9.value; + element.style.opacity = currentOpacity; + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + if (!_this11.isFadeIn) return; + requestAnimationFrame(fade); + } else { + var _iterator10 = _createForOfIteratorHelper(elements), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var _element2 = _step10.value; + _element2.style.opacity = ''; + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + callback && callback.call(_this11, elements); + } + }; + + fade(); + } + }, { + key: "hide", + value: function hide(elements) { + elements = this.wrap(elements); + + var _iterator11 = _createForOfIteratorHelper(elements), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var element = _step11.value; + element.dataset.initialDisplay = element.style.display; + element.style.display = 'none'; + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + } + }, { + key: "show", + value: function show(elements, display) { + elements = this.wrap(elements); + + var _iterator12 = _createForOfIteratorHelper(elements), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var element = _step12.value; + element.style.display = element.dataset.initialDisplay || display || 'block'; + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + } + }, { + key: "wrap", + value: function wrap(input) { + return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input]; + } + }, { + key: "on", + value: function on(events, callback) { + events = this.wrap(events); + + var _iterator13 = _createForOfIteratorHelper(this.elements), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var element = _step13.value; + + if (!element.fullyNamespacedEvents) { + element.fullyNamespacedEvents = {}; + } + + var _iterator14 = _createForOfIteratorHelper(events), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var event = _step14.value; + element.fullyNamespacedEvents[event] = callback; + element.addEventListener(event, callback); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + return this; + } + }, { + key: "off", + value: function off(events) { + events = this.wrap(events); + + var _iterator15 = _createForOfIteratorHelper(this.elements), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var element = _step15.value; + + var _iterator16 = _createForOfIteratorHelper(events), + _step16; + + try { + for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { + var event = _step16.value; + + if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) { + element.removeEventListener(event, element.fullyNamespacedEvents[event]); + } + } + } catch (err) { + _iterator16.e(err); + } finally { + _iterator16.f(); + } + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + + return this; + } // api + + }, { + key: "open", + value: function open(elem) { + elem = elem || this.elements[0]; + + if (typeof jQuery !== "undefined" && elem instanceof jQuery) { + elem = elem.get(0); + } + + this.initialImageIndex = this.elements.indexOf(elem); + + if (this.initialImageIndex > -1) { + this.openImage(elem); + } + } + }, { + key: "next", + value: function next() { + this.loadImage(1); + } + }, { + key: "prev", + value: function prev() { + this.loadImage(-1); + } //close is exposed anyways.. + + }, { + key: "destroy", + value: function destroy() { + //remove all custom event listeners from elements + this.off(['close.' + this.eventNamespace, 'closed.' + this.eventNamespace, 'nextImageLoaded.' + this.eventNamespace, 'prevImageLoaded.' + this.eventNamespace, 'change.' + this.eventNamespace, 'nextDone.' + this.eventNamespace, 'prevDone.' + this.eventNamespace, 'error.' + this.eventNamespace, 'changed.' + this.eventNamespace, 'next.' + this.eventNamespace, 'prev.' + this.eventNamespace, 'show.' + this.eventNamespace, 'shown.' + this.eventNamespace]); + this.removeEventListener(this.elements, 'click.' + this.eventNamespace); + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace); + this.removeEventListener(document.body, 'keyup.' + this.eventNamespace); + this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace); + this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace); + this.removeEventListener(window, 'resize.' + this.eventNamespace); + this.removeEventListener(window, 'hashchange.' + this.eventNamespace); + this.close(); + + if (this.isOpen) { + document.body.removeChild(this.domNodes.wrapper); + document.body.removeChild(this.domNodes.overlay); + } + + this.elements = null; + } + }, { + key: "refresh", + value: function refresh() { + if (!this.initialSelector) { + throw 'refreshing only works when you initialize using a selector!'; + } + + var options = this.options, + selector = this.initialSelector; + this.destroy(); + this.constructor(selector, options); + return this; + } + }, { + key: "hash", + get: function get() { + return window.location.hash.substring(1); + } + }]); + + return SimpleLightbox; +}(); + +var _default = SimpleLightbox; +exports["default"] = _default; +global.SimpleLightbox = SimpleLightbox; + +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}]},{},[1]); diff --git a/photos/simplelightbox-master/dist/simple-lightbox.jquery.min.js b/photos/simplelightbox-master/dist/simple-lightbox.jquery.min.js new file mode 100644 index 0000000000000000000000000000000000000000..336110f6dcfee8d182282e9296c8d31c2d0b0018 --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.jquery.min.js @@ -0,0 +1 @@ +!function s(a,r,l){function d(e,t){if(!r[e]){if(!a[e]){var o="function"==typeof require&&require;if(!t&&o)return o(e,!0);if(c)return c(e,!0);var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}var n=r[e]={exports:{}};a[e][0].call(n.exports,function(t){return d(a[e][1][t]||t)},n,n.exports,s,a,r,l)}return r[e].exports}for(var c="function"==typeof require&&require,t=0;t<l.length;t++)d(l[t]);return d}({1:[function(t,e,o){"use strict";var i;t("./simple-lightbox"),i=jQuery,window,document,i.fn.simpleLightbox=function(t){return this.length?new SimpleLightbox(this.get(),t):null}},{"./simple-lightbox":2}],2:[function(t,e,n){(function(o){(function(){"use strict";function h(t,e){var o;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(o=function(t,e){if(!t)return;if("string"==typeof t)return l(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return Array.from(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return l(t,e)}(t))||e&&t&&"number"==typeof t.length){o&&(t=o);var i=0,n=function(){};return{s:n,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,r=!1;return{s:function(){o=t[Symbol.iterator]()},n:function(){var t=o.next();return a=t.done,t},e:function(t){r=!0,s=t},f:function(){try{a||null==o.return||o.return()}finally{if(r)throw s}}}}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,i=new Array(e);o<e;o++)i[o]=t[o];return i}function i(t,e){for(var o=0;o<e.length;o++){var i=e[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=function(){function n(t,e){var o=this;if(!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),s(this,"defaultOptions",{sourceAttr:"href",overlay:!0,spinner:!0,nav:!0,navText:["‹","›"],captions:!0,captionDelay:0,captionSelector:"img",captionType:"attr",captionsData:"title",captionPosition:"bottom",captionClass:"",close:!0,closeText:"×",swipeClose:!0,showCounter:!0,fileExt:"png|jpg|jpeg|gif|webp",animationSlide:!0,animationSpeed:250,preloading:!0,enableKeyboard:!0,loop:!0,rel:!1,docClose:!0,swipeTolerance:50,className:"simple-lightbox",widthRatio:.8,heightRatio:.9,scaleImageToRatio:!1,disableRightClick:!1,disableScroll:!0,alertError:!0,alertErrorMessage:"Image not found, next image will be loaded",additionalHtml:!1,history:!0,throttleInterval:0,doubleTapZoom:2,maxZoom:10,htmlClass:"has-lightbox",rtl:!1,fixedClass:"sl-fixed",fadeSpeed:300,uniqueImages:!0,focus:!0}),s(this,"transitionPrefix",void 0),s(this,"transitionCapable",!1),s(this,"isTouchDevice","ontouchstart"in window),s(this,"initialLocationHash",void 0),s(this,"pushStateSupport","pushState"in history),s(this,"isOpen",!1),s(this,"isAnimating",!1),s(this,"isClosing",!1),s(this,"isFadeIn",!1),s(this,"urlChangedOnce",!1),s(this,"hashReseted",!1),s(this,"historyHasChanges",!1),s(this,"historyUpdateTimeout",null),s(this,"currentImage",void 0),s(this,"eventNamespace","simplelightbox"),s(this,"domNodes",{}),s(this,"loadedImages",[]),s(this,"initialImageIndex",0),s(this,"currentImageIndex",0),s(this,"initialSelector",null),s(this,"globalScrollbarWidth",0),s(this,"controlCoordinates",{swipeDiff:0,swipeYDiff:0,swipeStart:0,swipeEnd:0,swipeYStart:0,swipeYEnd:0,mousedown:!1,imageLeft:0,zoomed:!1,containerHeight:0,containerWidth:0,containerOffsetX:0,containerOffsetY:0,imgHeight:0,imgWidth:0,capture:!1,initialOffsetX:0,initialOffsetY:0,initialPointerOffsetX:0,initialPointerOffsetY:0,initialPointerOffsetX2:0,initialPointerOffsetY2:0,initialScale:1,initialPinchDistance:0,pointerOffsetX:0,pointerOffsetY:0,pointerOffsetX2:0,pointerOffsetY2:0,targetOffsetX:0,targetOffsetY:0,targetScale:0,pinchOffsetX:0,pinchOffsetY:0,limitOffsetX:0,limitOffsetY:0,scaleDifference:0,targetPinchDistance:0,touchCount:0,doubleTapped:!1,touchmoveCount:0}),this.options=Object.assign(this.defaultOptions,e),"string"==typeof t?(this.initialSelector=t,this.elements=Array.from(document.querySelectorAll(t))):this.elements=void 0!==t.length&&0<t.length?Array.from(t):[t],this.relatedElements=[],this.transitionPrefix=this.calculateTransitionPrefix(),this.transitionCapable=!1!==this.transitionPrefix,this.initialLocationHash=this.hash,this.options.rel&&(this.elements=this.getRelated(this.options.rel)),this.options.uniqueImages){var i=[];this.elements=Array.from(this.elements).filter(function(t){var e=t.getAttribute(o.options.sourceAttr);return-1===i.indexOf(e)&&(i.push(e),!0)})}this.createDomNodes(),this.options.close&&this.domNodes.wrapper.appendChild(this.domNodes.closeButton),this.options.nav&&this.domNodes.wrapper.appendChild(this.domNodes.navigation),this.options.spinner&&this.domNodes.wrapper.appendChild(this.domNodes.spinner),this.addEventListener(this.elements,"click."+this.eventNamespace,function(t){if(o.isValidLink(t.currentTarget)){if(t.preventDefault(),o.isAnimating)return!1;o.initialImageIndex=o.elements.indexOf(t.currentTarget),o.openImage(t.currentTarget)}}),this.options.docClose&&this.addEventListener(this.domNodes.wrapper,["click."+this.eventNamespace,"touchstart."+this.eventNamespace],function(t){o.isOpen&&t.target===t.currentTarget&&o.close()}),this.options.disableRightClick&&this.addEventListener(document.body,"contextmenu."+this.eventNamespace,function(t){t.target.classList.contains("sl-overlay")&&t.preventDefault()}),this.options.enableKeyboard&&this.addEventListener(document.body,"keyup."+this.eventNamespace,this.throttle(function(t){if(o.controlCoordinates.swipeDiff=0,o.isAnimating&&"Escape"===t.key)return o.currentImage.setAttribute("src",""),o.isAnimating=!1,o.close();o.isOpen&&(t.preventDefault(),"Escape"===t.key&&o.close(),!o.isAnimating&&-1<["ArrowLeft","ArrowRight"].indexOf(t.key)&&o.loadImage("ArrowRight"===t.key?1:-1))},this.options.throttleInterval)),this.addEvents()}var t,e,o;return t=n,(e=[{key:"createDomNodes",value:function(){this.domNodes.overlay=document.createElement("div"),this.domNodes.overlay.classList.add("sl-overlay"),this.domNodes.overlay.dataset.opacityTarget=".7",this.domNodes.closeButton=document.createElement("button"),this.domNodes.closeButton.classList.add("sl-close"),this.domNodes.closeButton.innerHTML=this.options.closeText,this.domNodes.spinner=document.createElement("div"),this.domNodes.spinner.classList.add("sl-spinner"),this.domNodes.spinner.innerHTML="<div></div>",this.domNodes.navigation=document.createElement("div"),this.domNodes.navigation.classList.add("sl-navigation"),this.domNodes.navigation.innerHTML='<button class="sl-prev">'.concat(this.options.navText[0],'</button><button class="sl-next">').concat(this.options.navText[1],"</button>"),this.domNodes.counter=document.createElement("div"),this.domNodes.counter.classList.add("sl-counter"),this.domNodes.counter.innerHTML='<span class="sl-current"></span>/<span class="sl-total"></span>',this.domNodes.caption=document.createElement("div"),this.domNodes.caption.classList.add("sl-caption","pos-"+this.options.captionPosition),this.options.captionClass&&this.domNodes.caption.classList.add(this.options.captionClass),this.domNodes.image=document.createElement("div"),this.domNodes.image.classList.add("sl-image"),this.domNodes.wrapper=document.createElement("div"),this.domNodes.wrapper.classList.add("sl-wrapper"),this.domNodes.wrapper.setAttribute("tabindex",-1),this.domNodes.wrapper.setAttribute("role","dialog"),this.domNodes.wrapper.setAttribute("aria-hidden",!1),this.options.className&&this.domNodes.wrapper.classList.add(this.options.className),this.options.rtl&&this.domNodes.wrapper.classList.add("sl-dir-rtl")}},{key:"throttle",value:function(t,e){var o;return function(){o||(t.apply(this,arguments),o=!0,setTimeout(function(){return o=!1},e))}}},{key:"isValidLink",value:function(t){return!this.options.fileExt||"pathname"in t&&new RegExp("("+this.options.fileExt+")$","i").test(t.pathname)}},{key:"calculateTransitionPrefix",value:function(){var t=(document.body||document.documentElement).style;return"transition"in t?"":"WebkitTransition"in t?"-webkit-":"MozTransition"in t?"-moz-":"OTransition"in t&&"-o"}},{key:"toggleScrollbar",value:function(t){var i=0,e=[].slice.call(document.querySelectorAll("."+this.options.fixedClass));if("hide"===t){var o=window.innerWidth;if(!o){var n=document.documentElement.getBoundingClientRect();o=n.right-Math.abs(n.left)}if(document.body.clientWidth<o){var s=document.createElement("div"),a=parseInt(document.body.style.paddingRight||0,10);s.classList.add("sl-scrollbar-measure"),document.body.appendChild(s),i=s.offsetWidth-s.clientWidth,document.body.removeChild(s),document.body.dataset.originalPaddingRight=a,0<i&&(document.body.classList.add("hidden-scroll"),document.body.style.paddingRight=a+i+"px",e.forEach(function(t){var e=t.style.paddingRight,o=window.getComputedStyle(t)["padding-right"];t.dataset.originalPaddingRight=e,t.style.paddingRight="".concat(parseFloat(o)+i,"px")}))}}else document.body.classList.remove("hidden-scroll"),document.body.style.paddingRight=document.body.dataset.originalPaddingRight,e.forEach(function(t){var e=t.dataset.originalPaddingRight;void 0!==e&&(t.style.paddingRight=e)});return i}},{key:"close",value:function(){var t=this;if(!this.isOpen||this.isAnimating||this.isClosing)return!1;this.isClosing=!0;var e=this.relatedElements[this.currentImageIndex];for(var o in e.dispatchEvent(new Event("close.simplelightbox")),this.options.history&&(this.historyHasChanges=!1,this.hashReseted||this.resetHash()),this.removeEventListener(document,"focusin."+this.eventNamespace),this.fadeOut(document.querySelectorAll(".sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter"),this.options.fadeSpeed,function(){t.options.disableScroll&&t.toggleScrollbar("show"),t.options.htmlClass&&""!==t.options.htmlClass&&document.querySelector("html").classList.remove(t.options.htmlClass),document.body.removeChild(t.domNodes.wrapper),document.body.removeChild(t.domNodes.overlay),t.domNodes.additionalHtml=null,e.dispatchEvent(new Event("closed.simplelightbox")),t.isClosing=!1}),this.currentImage=null,this.isOpen=!1,this.isAnimating=!1,this.controlCoordinates)this.controlCoordinates[o]=0;this.controlCoordinates.mousedown=!1,this.controlCoordinates.zoomed=!1,this.controlCoordinates.capture=!1,this.controlCoordinates.initialScale=this.minMax(1,1,this.options.maxZoom),this.controlCoordinates.doubleTapped=!1}},{key:"preload",value:function(){var o=this,i=this.currentImageIndex,t=this.relatedElements.length,e=i+1<0?t-1:t-1<=i+1?0:i+1,n=i-1<0?t-1:t-1<=i-1?0:i-1,s=new Image,a=new Image;s.addEventListener("load",function(t){var e=t.target.getAttribute("src");-1===o.loadedImages.indexOf(e)&&o.loadedImages.push(e),o.relatedElements[i].dispatchEvent(new Event("nextImageLoaded."+o.eventNamespace))}),s.setAttribute("src",this.relatedElements[e].getAttribute(this.options.sourceAttr)),a.addEventListener("load",function(t){var e=t.target.getAttribute("src");-1===o.loadedImages.indexOf(e)&&o.loadedImages.push(e),o.relatedElements[i].dispatchEvent(new Event("prevImageLoaded."+o.eventNamespace))}),a.setAttribute("src",this.relatedElements[n].getAttribute(this.options.sourceAttr))}},{key:"loadImage",value:function(t){var e=this,o=t;this.options.rtl&&(t=-t),this.relatedElements[this.currentImageIndex].dispatchEvent(new Event("change."+this.eventNamespace)),this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((1===t?"next":"prev")+"."+this.eventNamespace));var i=this.currentImageIndex+t;if(this.isAnimating||(i<0||i>=this.relatedElements.length)&&!1===this.options.loop)return!1;this.currentImageIndex=i<0?this.relatedElements.length-1:i>this.relatedElements.length-1?0:i,this.domNodes.counter.querySelector(".sl-current").innerHTML=this.currentImageIndex+1,this.options.animationSlide&&this.slide(this.options.animationSpeed/1e3,-100*o-this.controlCoordinates.swipeDiff+"px"),this.fadeOut(this.domNodes.image,this.options.fadeSpeed,function(){e.isAnimating=!0,e.isClosing?e.isAnimating=!1:setTimeout(function(){var t=e.relatedElements[e.currentImageIndex];e.currentImage.setAttribute("src",t.getAttribute(e.options.sourceAttr)),-1===e.loadedImages.indexOf(t.getAttribute(e.options.sourceAttr))&&e.show(e.domNodes.spinner),e.domNodes.image.contains(e.domNodes.caption)&&e.domNodes.image.removeChild(e.domNodes.caption),e.adjustImage(o),e.options.preloading&&e.preload()},100)})}},{key:"adjustImage",value:function(a){var r=this;if(!this.currentImage)return!1;var t=new Image,l=window.innerWidth*this.options.widthRatio,d=window.innerHeight*this.options.heightRatio;t.setAttribute("src",this.currentImage.getAttribute("src")),this.currentImage.dataset.scale=1,this.currentImage.dataset.translateX=0,this.currentImage.dataset.translateY=0,this.zoomPanElement(0,0,1),t.addEventListener("error",function(t){r.relatedElements[r.currentImageIndex].dispatchEvent(new Event("error."+r.eventNamespace)),r.isAnimating=!1,r.isOpen=!1,r.domNodes.spinner.style.display="none";var e=1===a||-1===a;if(r.initialImageIndex===r.currentImageIndex&&e)return r.close();r.options.alertError&&alert(r.options.alertErrorMessage),r.loadImage(e?a:1)}),t.addEventListener("load",function(t){void 0!==a&&(r.relatedElements[r.currentImageIndex].dispatchEvent(new Event("changed."+r.eventNamespace)),r.relatedElements[r.currentImageIndex].dispatchEvent(new Event((1===a?"nextDone":"prevDone")+"."+r.eventNamespace))),r.options.history&&r.updateURL(),-1===r.loadedImages.indexOf(r.currentImage.getAttribute("src"))&&r.loadedImages.push(r.currentImage.getAttribute("src"));var e,o,i=t.target.width,n=t.target.height;if(r.options.scaleImageToRatio||l<i||d<n){var s=l/d<i/n?i/l:n/d;i/=s,n/=s}r.domNodes.image.style.top=(window.innerHeight-n)/2+"px",r.domNodes.image.style.left=(window.innerWidth-i-r.globalScrollbarWidth)/2+"px",r.domNodes.image.style.width=i+"px",r.domNodes.image.style.height=n+"px",r.domNodes.spinner.style.display="none",r.options.focus&&r.forceFocus(),r.fadeIn(r.currentImage,r.options.fadeSpeed,function(){r.options.focus&&r.domNodes.wrapper.focus()}),r.isOpen=!0,"string"==typeof r.options.captionSelector?e="self"===r.options.captionSelector?r.relatedElements[r.currentImageIndex]:r.relatedElements[r.currentImageIndex].querySelector(r.options.captionSelector):"function"==typeof r.options.captionSelector&&(e=r.options.captionSelector(r.relatedElements[r.currentImageIndex])),r.options.captions&&e&&(o="data"===r.options.captionType?e.dataset[r.options.captionsData]:"text"===r.options.captionType?e.innerHTML:e.getAttribute(r.options.captionsData)),r.options.loop||(0===r.currentImageIndex&&r.hide(r.domNodes.navigation.querySelector(".sl-prev")),r.currentImageIndex>=r.relatedElements.length-1&&r.hide(r.domNodes.navigation.querySelector(".sl-next")),0<r.currentImageIndex&&r.show(r.domNodes.navigation.querySelector(".sl-prev")),r.currentImageIndex<r.relatedElements.length-1&&r.show(r.domNodes.navigation.querySelector(".sl-next"))),1===r.relatedElements.length?r.hide(r.domNodes.navigation.querySelectorAll(".sl-prev, .sl-next")):r.show(r.domNodes.navigation.querySelectorAll(".sl-prev, .sl-next")),1===a||-1===a?(r.options.animationSlide&&(r.slide(0,100*a+"px"),setTimeout(function(){r.slide(r.options.animationSpeed/1e3,"0px")},50)),r.fadeIn(r.domNodes.image,r.options.fadeSpeed,function(){r.isAnimating=!1,r.setCaption(o,i)})):(r.isAnimating=!1,r.setCaption(o,i)),r.options.additionalHtml&&!r.domNodes.additionalHtml&&(r.domNodes.additionalHtml=document.createElement("div"),r.domNodes.additionalHtml.classList.add("sl-additional-html"),r.domNodes.additionalHtml.innerHTML=r.options.additionalHtml,r.domNodes.image.appendChild(r.domNodes.additionalHtml))})}},{key:"zoomPanElement",value:function(t,e,o){this.currentImage.style[this.transitionPrefix+"transform"]="translate("+t+","+e+") scale("+o+")"}},{key:"minMax",value:function(t,e,o){return t<e?e:o<t?o:t}},{key:"setZoomData",value:function(t,e,o){this.currentImage.dataset.scale=t,this.currentImage.dataset.translateX=e,this.currentImage.dataset.translateY=o}},{key:"hashchangeHandler",value:function(){this.isOpen&&this.hash===this.initialLocationHash&&(this.hashReseted=!0,this.close())}},{key:"addEvents",value:function(){var o=this;this.addEventListener(window,"resize."+this.eventNamespace,function(t){o.isOpen&&o.adjustImage()}),this.addEventListener(this.domNodes.closeButton,["click."+this.eventNamespace,"touchstart."+this.eventNamespace],this.close.bind(this)),this.options.history&&setTimeout(function(){o.addEventListener(window,"hashchange."+o.eventNamespace,function(t){o.isOpen&&o.hashchangeHandler()})},40),this.addEventListener(this.domNodes.navigation.getElementsByTagName("button"),"click."+this.eventNamespace,function(t){if(!t.currentTarget.tagName.match(/button/i))return!0;t.preventDefault(),o.controlCoordinates.swipeDiff=0,o.loadImage(t.currentTarget.classList.contains("sl-next")?1:-1)}),this.addEventListener(this.domNodes.image,["touchstart."+this.eventNamespace,"mousedown."+this.eventNamespace],function(t){if("A"===t.target.tagName&&"touchstart"===t.type)return!0;if("mousedown"===t.type)o.controlCoordinates.initialPointerOffsetX=t.clientX,o.controlCoordinates.initialPointerOffsetY=t.clientY,o.controlCoordinates.containerHeight=o.getDimensions(o.domNodes.image).height,o.controlCoordinates.containerWidth=o.getDimensions(o.domNodes.image).width,o.controlCoordinates.imgHeight=o.getDimensions(o.currentImage).height,o.controlCoordinates.imgWidth=o.getDimensions(o.currentImage).width,o.controlCoordinates.containerOffsetX=o.domNodes.image.offsetLeft,o.controlCoordinates.containerOffsetY=o.domNodes.image.offsetTop,o.controlCoordinates.initialOffsetX=parseFloat(o.currentImage.dataset.translateX),o.controlCoordinates.initialOffsetY=parseFloat(o.currentImage.dataset.translateY),o.controlCoordinates.capture=!0;else{if(o.controlCoordinates.touchCount=t.touches.length,o.controlCoordinates.initialPointerOffsetX=t.touches[0].clientX,o.controlCoordinates.initialPointerOffsetY=t.touches[0].clientY,o.controlCoordinates.containerHeight=o.getDimensions(o.domNodes.image).height,o.controlCoordinates.containerWidth=o.getDimensions(o.domNodes.image).width,o.controlCoordinates.imgHeight=o.getDimensions(o.currentImage).height,o.controlCoordinates.imgWidth=o.getDimensions(o.currentImage).width,o.controlCoordinates.containerOffsetX=o.domNodes.image.offsetLeft,o.controlCoordinates.containerOffsetY=o.domNodes.image.offsetTop,1===o.controlCoordinates.touchCount){if(o.controlCoordinates.doubleTapped)return o.currentImage.classList.add("sl-transition"),o.controlCoordinates.zoomed?(o.controlCoordinates.initialScale=1,o.setZoomData(o.controlCoordinates.initialScale,0,0),o.zoomPanElement("0px","0px",o.controlCoordinates.initialScale),o.controlCoordinates.zoomed=!1):(o.controlCoordinates.initialScale=o.options.doubleTapZoom,o.setZoomData(o.controlCoordinates.initialScale,0,0),o.zoomPanElement("0px","0px",o.controlCoordinates.initialScale),o.domNodes.caption.style.opacity||"none"===o.domNodes.caption.style.display||o.fadeOut(o.domNodes.caption,o.options.fadeSpeed),o.controlCoordinates.zoomed=!0),setTimeout(function(){o.currentImage&&o.currentImage.classList.remove("sl-transition")},200),!1;o.controlCoordinates.doubleTapped=!0,setTimeout(function(){o.controlCoordinates.doubleTapped=!1},300),o.controlCoordinates.initialOffsetX=parseFloat(o.currentImage.dataset.translateX),o.controlCoordinates.initialOffsetY=parseFloat(o.currentImage.dataset.translateY)}else 2===o.controlCoordinates.touchCount&&(o.controlCoordinates.initialPointerOffsetX2=t.touches[1].clientX,o.controlCoordinates.initialPointerOffsetY2=t.touches[1].clientY,o.controlCoordinates.initialOffsetX=parseFloat(o.currentImage.dataset.translateX),o.controlCoordinates.initialOffsetY=parseFloat(o.currentImage.dataset.translateY),o.controlCoordinates.pinchOffsetX=(o.controlCoordinates.initialPointerOffsetX+o.controlCoordinates.initialPointerOffsetX2)/2,o.controlCoordinates.pinchOffsetY=(o.controlCoordinates.initialPointerOffsetY+o.controlCoordinates.initialPointerOffsetY2)/2,o.controlCoordinates.initialPinchDistance=Math.sqrt((o.controlCoordinates.initialPointerOffsetX-o.controlCoordinates.initialPointerOffsetX2)*(o.controlCoordinates.initialPointerOffsetX-o.controlCoordinates.initialPointerOffsetX2)+(o.controlCoordinates.initialPointerOffsetY-o.controlCoordinates.initialPointerOffsetY2)*(o.controlCoordinates.initialPointerOffsetY-o.controlCoordinates.initialPointerOffsetY2)));o.controlCoordinates.capture=!0}return!!o.controlCoordinates.mousedown||(o.transitionCapable&&(o.controlCoordinates.imageLeft=parseInt(o.domNodes.image.style.left,10)),o.controlCoordinates.mousedown=!0,o.controlCoordinates.swipeDiff=0,o.controlCoordinates.swipeYDiff=0,o.controlCoordinates.swipeStart=t.pageX||t.touches[0].pageX,o.controlCoordinates.swipeYStart=t.pageY||t.touches[0].pageY,!1)}),this.addEventListener(this.domNodes.image,["touchmove."+this.eventNamespace,"mousemove."+this.eventNamespace,"MSPointerMove"],function(t){if(!o.controlCoordinates.mousedown)return!0;if(t.preventDefault(),"touchmove"===t.type){if(!1===o.controlCoordinates.capture)return!1;o.controlCoordinates.pointerOffsetX=t.touches[0].clientX,o.controlCoordinates.pointerOffsetY=t.touches[0].clientY,o.controlCoordinates.touchCount=t.touches.length,o.controlCoordinates.touchmoveCount++,1<o.controlCoordinates.touchCount?(o.controlCoordinates.pointerOffsetX2=t.touches[1].clientX,o.controlCoordinates.pointerOffsetY2=t.touches[1].clientY,o.controlCoordinates.targetPinchDistance=Math.sqrt((o.controlCoordinates.pointerOffsetX-o.controlCoordinates.pointerOffsetX2)*(o.controlCoordinates.pointerOffsetX-o.controlCoordinates.pointerOffsetX2)+(o.controlCoordinates.pointerOffsetY-o.controlCoordinates.pointerOffsetY2)*(o.controlCoordinates.pointerOffsetY-o.controlCoordinates.pointerOffsetY2)),null===o.controlCoordinates.initialPinchDistance&&(o.controlCoordinates.initialPinchDistance=o.controlCoordinates.targetPinchDistance),1<=Math.abs(o.controlCoordinates.initialPinchDistance-o.controlCoordinates.targetPinchDistance)&&(o.controlCoordinates.targetScale=o.minMax(o.controlCoordinates.targetPinchDistance/o.controlCoordinates.initialPinchDistance*o.controlCoordinates.initialScale,1,o.options.maxZoom),o.controlCoordinates.limitOffsetX=(o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale-o.controlCoordinates.containerWidth)/2,o.controlCoordinates.limitOffsetY=(o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale-o.controlCoordinates.containerHeight)/2,o.controlCoordinates.scaleDifference=o.controlCoordinates.targetScale-o.controlCoordinates.initialScale,o.controlCoordinates.targetOffsetX=o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale<=o.controlCoordinates.containerWidth?0:o.minMax(o.controlCoordinates.initialOffsetX-(o.controlCoordinates.pinchOffsetX-o.controlCoordinates.containerOffsetX-o.controlCoordinates.containerWidth/2-o.controlCoordinates.initialOffsetX)/(o.controlCoordinates.targetScale-o.controlCoordinates.scaleDifference)*o.controlCoordinates.scaleDifference,-1*o.controlCoordinates.limitOffsetX,o.controlCoordinates.limitOffsetX),o.controlCoordinates.targetOffsetY=o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale<=o.controlCoordinates.containerHeight?0:o.minMax(o.controlCoordinates.initialOffsetY-(o.controlCoordinates.pinchOffsetY-o.controlCoordinates.containerOffsetY-o.controlCoordinates.containerHeight/2-o.controlCoordinates.initialOffsetY)/(o.controlCoordinates.targetScale-o.controlCoordinates.scaleDifference)*o.controlCoordinates.scaleDifference,-1*o.controlCoordinates.limitOffsetY,o.controlCoordinates.limitOffsetY),o.zoomPanElement(o.controlCoordinates.targetOffsetX+"px",o.controlCoordinates.targetOffsetY+"px",o.controlCoordinates.targetScale),1<o.controlCoordinates.targetScale&&(o.controlCoordinates.zoomed=!0,o.domNodes.caption.style.opacity||"none"===o.domNodes.caption.style.display||o.fadeOut(o.domNodes.caption,o.options.fadeSpeed)),o.controlCoordinates.initialPinchDistance=o.controlCoordinates.targetPinchDistance,o.controlCoordinates.initialScale=o.controlCoordinates.targetScale,o.controlCoordinates.initialOffsetX=o.controlCoordinates.targetOffsetX,o.controlCoordinates.initialOffsetY=o.controlCoordinates.targetOffsetY)):(o.controlCoordinates.targetScale=o.controlCoordinates.initialScale,o.controlCoordinates.limitOffsetX=(o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale-o.controlCoordinates.containerWidth)/2,o.controlCoordinates.limitOffsetY=(o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale-o.controlCoordinates.containerHeight)/2,o.controlCoordinates.targetOffsetX=o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale<=o.controlCoordinates.containerWidth?0:o.minMax(o.controlCoordinates.pointerOffsetX-(o.controlCoordinates.initialPointerOffsetX-o.controlCoordinates.initialOffsetX),-1*o.controlCoordinates.limitOffsetX,o.controlCoordinates.limitOffsetX),o.controlCoordinates.targetOffsetY=o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale<=o.controlCoordinates.containerHeight?0:o.minMax(o.controlCoordinates.pointerOffsetY-(o.controlCoordinates.initialPointerOffsetY-o.controlCoordinates.initialOffsetY),-1*o.controlCoordinates.limitOffsetY,o.controlCoordinates.limitOffsetY),Math.abs(o.controlCoordinates.targetOffsetX)===Math.abs(o.controlCoordinates.limitOffsetX)&&(o.controlCoordinates.initialOffsetX=o.controlCoordinates.targetOffsetX,o.controlCoordinates.initialPointerOffsetX=o.controlCoordinates.pointerOffsetX),Math.abs(o.controlCoordinates.targetOffsetY)===Math.abs(o.controlCoordinates.limitOffsetY)&&(o.controlCoordinates.initialOffsetY=o.controlCoordinates.targetOffsetY,o.controlCoordinates.initialPointerOffsetY=o.controlCoordinates.pointerOffsetY),o.setZoomData(o.controlCoordinates.initialScale,o.controlCoordinates.targetOffsetX,o.controlCoordinates.targetOffsetY),o.zoomPanElement(o.controlCoordinates.targetOffsetX+"px",o.controlCoordinates.targetOffsetY+"px",o.controlCoordinates.targetScale))}if("mousemove"===t.type&&o.controlCoordinates.mousedown){if("touchmove"==t.type)return!0;if(!1===o.controlCoordinates.capture)return!1;o.controlCoordinates.pointerOffsetX=t.clientX,o.controlCoordinates.pointerOffsetY=t.clientY,o.controlCoordinates.targetScale=o.controlCoordinates.initialScale,o.controlCoordinates.limitOffsetX=(o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale-o.controlCoordinates.containerWidth)/2,o.controlCoordinates.limitOffsetY=(o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale-o.controlCoordinates.containerHeight)/2,o.controlCoordinates.targetOffsetX=o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale<=o.controlCoordinates.containerWidth?0:o.minMax(o.controlCoordinates.pointerOffsetX-(o.controlCoordinates.initialPointerOffsetX-o.controlCoordinates.initialOffsetX),-1*o.controlCoordinates.limitOffsetX,o.controlCoordinates.limitOffsetX),o.controlCoordinates.targetOffsetY=o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale<=o.controlCoordinates.containerHeight?0:o.minMax(o.controlCoordinates.pointerOffsetY-(o.controlCoordinates.initialPointerOffsetY-o.controlCoordinates.initialOffsetY),-1*o.controlCoordinates.limitOffsetY,o.controlCoordinates.limitOffsetY),Math.abs(o.controlCoordinates.targetOffsetX)===Math.abs(o.controlCoordinates.limitOffsetX)&&(o.controlCoordinates.initialOffsetX=o.controlCoordinates.targetOffsetX,o.controlCoordinates.initialPointerOffsetX=o.controlCoordinates.pointerOffsetX),Math.abs(o.controlCoordinates.targetOffsetY)===Math.abs(o.controlCoordinates.limitOffsetY)&&(o.controlCoordinates.initialOffsetY=o.controlCoordinates.targetOffsetY,o.controlCoordinates.initialPointerOffsetY=o.controlCoordinates.pointerOffsetY),o.setZoomData(o.controlCoordinates.initialScale,o.controlCoordinates.targetOffsetX,o.controlCoordinates.targetOffsetY),o.zoomPanElement(o.controlCoordinates.targetOffsetX+"px",o.controlCoordinates.targetOffsetY+"px",o.controlCoordinates.targetScale)}o.controlCoordinates.zoomed||(o.controlCoordinates.swipeEnd=t.pageX||t.touches[0].pageX,o.controlCoordinates.swipeYEnd=t.pageY||t.touches[0].pageY,o.controlCoordinates.swipeDiff=o.controlCoordinates.swipeStart-o.controlCoordinates.swipeEnd,o.controlCoordinates.swipeYDiff=o.controlCoordinates.swipeYStart-o.controlCoordinates.swipeYEnd,o.options.animationSlide&&o.slide(0,-o.controlCoordinates.swipeDiff+"px"))}),this.addEventListener(this.domNodes.image,["touchend."+this.eventNamespace,"mouseup."+this.eventNamespace,"touchcancel."+this.eventNamespace,"mouseleave."+this.eventNamespace,"pointerup","pointercancel","MSPointerUp","MSPointerCancel"],function(t){if(o.isTouchDevice&&"touchend"===t.type&&(o.controlCoordinates.touchCount=t.touches.length,0===o.controlCoordinates.touchCount?(o.currentImage&&o.setZoomData(o.controlCoordinates.initialScale,o.controlCoordinates.targetOffsetX,o.controlCoordinates.targetOffsetY),1===o.controlCoordinates.initialScale&&(o.controlCoordinates.zoomed=!1,"none"===o.domNodes.caption.style.display&&o.fadeIn(o.domNodes.caption,o.options.fadeSpeed)),o.controlCoordinates.initialPinchDistance=null,o.controlCoordinates.capture=!1):1===o.controlCoordinates.touchCount?(o.controlCoordinates.initialPointerOffsetX=t.touches[0].clientX,o.controlCoordinates.initialPointerOffsetY=t.touches[0].clientY):1<o.controlCoordinates.touchCount&&(o.controlCoordinates.initialPinchDistance=null)),o.controlCoordinates.mousedown){var e=!(o.controlCoordinates.mousedown=!1);o.options.loop||(0===o.currentImageIndex&&o.controlCoordinates.swipeDiff<0&&(e=!1),o.currentImageIndex>=o.relatedElements.length-1&&0<o.controlCoordinates.swipeDiff&&(e=!1)),Math.abs(o.controlCoordinates.swipeDiff)>o.options.swipeTolerance&&e?o.loadImage(0<o.controlCoordinates.swipeDiff?1:-1):o.options.animationSlide&&o.slide(o.options.animationSpeed/1e3,"0px"),o.options.swipeClose&&50<Math.abs(o.controlCoordinates.swipeYDiff)&&Math.abs(o.controlCoordinates.swipeDiff)<o.options.swipeTolerance&&o.close()}}),this.addEventListener(this.domNodes.image,["dblclick"],function(t){if(!o.isTouchDevice)return o.controlCoordinates.initialPointerOffsetX=t.clientX,o.controlCoordinates.initialPointerOffsetY=t.clientY,o.controlCoordinates.containerHeight=o.getDimensions(o.domNodes.image).height,o.controlCoordinates.containerWidth=o.getDimensions(o.domNodes.image).width,o.controlCoordinates.imgHeight=o.getDimensions(o.currentImage).height,o.controlCoordinates.imgWidth=o.getDimensions(o.currentImage).width,o.controlCoordinates.containerOffsetX=o.domNodes.image.offsetLeft,o.controlCoordinates.containerOffsetY=o.domNodes.image.offsetTop,o.currentImage.classList.add("sl-transition"),o.controlCoordinates.zoomed?(o.controlCoordinates.initialScale=1,o.setZoomData(o.controlCoordinates.initialScale,0,0),o.zoomPanElement("0px","0px",o.controlCoordinates.initialScale),o.controlCoordinates.zoomed=!1,"none"===o.domNodes.caption.style.display&&o.fadeIn(o.domNodes.caption,o.options.fadeSpeed)):(o.controlCoordinates.initialScale=o.options.doubleTapZoom,o.setZoomData(o.controlCoordinates.initialScale,0,0),o.zoomPanElement("0px","0px",o.controlCoordinates.initialScale),o.domNodes.caption.style.opacity||"none"===o.domNodes.caption.style.display||o.fadeOut(o.domNodes.caption,o.options.fadeSpeed),o.controlCoordinates.zoomed=!0),setTimeout(function(){o.currentImage&&o.currentImage.classList.remove("sl-transition")},200),!(o.controlCoordinates.capture=!0)})}},{key:"getDimensions",value:function(t){var e=window.getComputedStyle(t),o=t.offsetHeight,i=t.offsetWidth,n=parseFloat(e.borderTopWidth);return{height:o-parseFloat(e.borderBottomWidth)-n-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom),width:i-parseFloat(e.borderLeftWidth)-parseFloat(e.borderRightWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)}}},{key:"updateHash",value:function(){var t="pid="+(this.currentImageIndex+1),e=window.location.href.split("#")[0]+"#"+t;this.hashReseted=!1,this.pushStateSupport?window.history[this.historyHasChanges?"replaceState":"pushState"]("",document.title,e):this.historyHasChanges?window.location.replace(e):window.location.hash=t,this.historyHasChanges||(this.urlChangedOnce=!0),this.historyHasChanges=!0}},{key:"resetHash",value:function(){this.hashReseted=!0,this.urlChangedOnce?history.back():this.pushStateSupport?history.pushState("",document.title,window.location.pathname+window.location.search):window.location.hash="",clearTimeout(this.historyUpdateTimeout)}},{key:"updateURL",value:function(){clearTimeout(this.historyUpdateTimeout),this.historyHasChanges?this.historyUpdateTimeout=setTimeout(this.updateHash.bind(this),800):this.updateHash()}},{key:"setCaption",value:function(t,e){var o=this;this.options.captions&&t&&""!==t&&void 0!==t&&(this.hide(this.domNodes.caption),this.domNodes.caption.style.width=e+"px",this.domNodes.caption.innerHTML=t,this.domNodes.image.appendChild(this.domNodes.caption),setTimeout(function(){o.fadeIn(o.domNodes.caption,o.options.fadeSpeed)},this.options.captionDelay))}},{key:"slide",value:function(t,e){if(!this.transitionCapable)return this.domNodes.image.style.left=e;this.domNodes.image.style[this.transitionPrefix+"transform"]="translateX("+e+")",this.domNodes.image.style[this.transitionPrefix+"transition"]=this.transitionPrefix+"transform "+t+"s linear"}},{key:"getRelated",value:function(e){return e&&!1!==e&&"nofollow"!==e?Array.from(this.elements).filter(function(t){return t.getAttribute("rel")===e}):this.elements}},{key:"openImage",value:function(t){var e=this;t.dispatchEvent(new Event("show."+this.eventNamespace)),this.options.disableScroll&&(this.globalScrollbarWidth=this.toggleScrollbar("hide")),this.options.htmlClass&&""!==this.options.htmlClass&&document.querySelector("html").classList.add(this.options.htmlClass),document.body.appendChild(this.domNodes.wrapper),this.domNodes.wrapper.appendChild(this.domNodes.image),this.options.overlay&&document.body.appendChild(this.domNodes.overlay),this.relatedElements=this.getRelated(t.rel),this.options.showCounter&&(1==this.relatedElements.length&&this.domNodes.wrapper.contains(this.domNodes.counter)?this.domNodes.wrapper.removeChild(this.domNodes.counter):1<this.relatedElements.length&&!this.domNodes.wrapper.contains(this.domNodes.counter)&&this.domNodes.wrapper.appendChild(this.domNodes.counter)),this.isAnimating=!0,this.currentImageIndex=this.relatedElements.indexOf(t);var o=t.getAttribute(this.options.sourceAttr);this.currentImage=document.createElement("img"),this.currentImage.style.display="none",this.currentImage.setAttribute("src",o),this.currentImage.dataset.scale=1,this.currentImage.dataset.translateX=0,this.currentImage.dataset.translateY=0,-1===this.loadedImages.indexOf(o)&&this.loadedImages.push(o),this.domNodes.image.innerHTML="",this.domNodes.image.setAttribute("style",""),this.domNodes.image.appendChild(this.currentImage),this.fadeIn(this.domNodes.overlay,this.options.fadeSpeed),this.fadeIn([this.domNodes.counter,this.domNodes.navigation,this.domNodes.closeButton],this.options.fadeSpeed),this.show(this.domNodes.spinner),this.domNodes.counter.querySelector(".sl-current").innerHTML=this.currentImageIndex+1,this.domNodes.counter.querySelector(".sl-total").innerHTML=this.relatedElements.length,this.adjustImage(),this.options.preloading&&this.preload(),setTimeout(function(){t.dispatchEvent(new Event("shown."+e.eventNamespace))},this.options.animationSpeed)}},{key:"forceFocus",value:function(){var e=this;this.removeEventListener(document,"focusin."+this.eventNamespace),this.addEventListener(document,"focusin."+this.eventNamespace,function(t){document===t.target||e.domNodes.wrapper===t.target||e.domNodes.wrapper.contains(t.target)||e.domNodes.wrapper.focus()})}},{key:"addEventListener",value:function(t,e,o,i){t=this.wrap(t),e=this.wrap(e);var n,s=h(t);try{for(s.s();!(n=s.n()).done;){var a=n.value;a.namespaces||(a.namespaces={});var r,l=h(e);try{for(l.s();!(r=l.n()).done;){var d=r.value,c=i||!1;a.namespaces[d]=o,a.addEventListener(d.split(".")[0],o,c)}}catch(t){l.e(t)}finally{l.f()}}}catch(t){s.e(t)}finally{s.f()}}},{key:"removeEventListener",value:function(t,e){t=this.wrap(t),e=this.wrap(e);var o,i=h(t);try{for(i.s();!(o=i.n()).done;){var n,s=o.value,a=h(e);try{for(a.s();!(n=a.n()).done;){var r=n.value;s.namespaces&&s.namespaces[r]&&(s.removeEventListener(r.split(".")[0],s.namespaces[r]),delete s.namespaces[r])}}catch(t){a.e(t)}finally{a.f()}}}catch(t){i.e(t)}finally{i.f()}}},{key:"fadeOut",value:function(r,t,l){var e,d=this,o=h(r=this.wrap(r));try{for(o.s();!(e=o.n()).done;){e.value.style.opacity=1}}catch(t){o.e(t)}finally{o.f()}this.isFadeIn=!1;var c=16.66666/(t||this.options.fadeSpeed);!function t(){var e=parseFloat(r[0].style.opacity);if((e-=c)<0){var o,i=h(r);try{for(i.s();!(o=i.n()).done;){var n=o.value;n.style.display="none",n.style.opacity=""}}catch(t){i.e(t)}finally{i.f()}l&&l.call(d,r)}else{var s,a=h(r);try{for(a.s();!(s=a.n()).done;){s.value.style.opacity=e}}catch(t){a.e(t)}finally{a.f()}requestAnimationFrame(t)}}()}},{key:"fadeIn",value:function(a,t,r,e){var o,l=this,i=h(a=this.wrap(a));try{for(i.s();!(o=i.n()).done;){var n=o.value;n.style.opacity=0,n.style.display=e||"block"}}catch(t){i.e(t)}finally{i.f()}this.isFadeIn=!0;var d=parseFloat(a[0].dataset.opacityTarget||1),c=16.66666*d/(t||this.options.fadeSpeed);!function t(){var e=parseFloat(a[0].style.opacity);if((e+=c)>d){var o,i=h(a);try{for(i.s();!(o=i.n()).done;){o.value.style.opacity=""}}catch(t){i.e(t)}finally{i.f()}r&&r.call(l,a)}else{var n,s=h(a);try{for(s.s();!(n=s.n()).done;){n.value.style.opacity=e}}catch(t){s.e(t)}finally{s.f()}if(!l.isFadeIn)return;requestAnimationFrame(t)}}()}},{key:"hide",value:function(t){var e,o=h(t=this.wrap(t));try{for(o.s();!(e=o.n()).done;){var i=e.value;i.dataset.initialDisplay=i.style.display,i.style.display="none"}}catch(t){o.e(t)}finally{o.f()}}},{key:"show",value:function(t,e){var o,i=h(t=this.wrap(t));try{for(i.s();!(o=i.n()).done;){var n=o.value;n.style.display=n.dataset.initialDisplay||e||"block"}}catch(t){i.e(t)}finally{i.f()}}},{key:"wrap",value:function(t){return"function"==typeof t[Symbol.iterator]&&"string"!=typeof t?t:[t]}},{key:"on",value:function(t,e){t=this.wrap(t);var o,i=h(this.elements);try{for(i.s();!(o=i.n()).done;){var n=o.value;n.fullyNamespacedEvents||(n.fullyNamespacedEvents={});var s,a=h(t);try{for(a.s();!(s=a.n()).done;){var r=s.value;n.fullyNamespacedEvents[r]=e,n.addEventListener(r,e)}}catch(t){a.e(t)}finally{a.f()}}}catch(t){i.e(t)}finally{i.f()}return this}},{key:"off",value:function(t){t=this.wrap(t);var e,o=h(this.elements);try{for(o.s();!(e=o.n()).done;){var i,n=e.value,s=h(t);try{for(s.s();!(i=s.n()).done;){var a=i.value;void 0!==n.fullyNamespacedEvents&&a in n.fullyNamespacedEvents&&n.removeEventListener(a,n.fullyNamespacedEvents[a])}}catch(t){s.e(t)}finally{s.f()}}}catch(t){o.e(t)}finally{o.f()}return this}},{key:"open",value:function(t){t=t||this.elements[0],"undefined"!=typeof jQuery&&t instanceof jQuery&&(t=t.get(0)),this.initialImageIndex=this.elements.indexOf(t),-1<this.initialImageIndex&&this.openImage(t)}},{key:"next",value:function(){this.loadImage(1)}},{key:"prev",value:function(){this.loadImage(-1)}},{key:"destroy",value:function(){this.off(["close."+this.eventNamespace,"closed."+this.eventNamespace,"nextImageLoaded."+this.eventNamespace,"prevImageLoaded."+this.eventNamespace,"change."+this.eventNamespace,"nextDone."+this.eventNamespace,"prevDone."+this.eventNamespace,"error."+this.eventNamespace,"changed."+this.eventNamespace,"next."+this.eventNamespace,"prev."+this.eventNamespace,"show."+this.eventNamespace,"shown."+this.eventNamespace]),this.removeEventListener(this.elements,"click."+this.eventNamespace),this.removeEventListener(document,"focusin."+this.eventNamespace),this.removeEventListener(document.body,"contextmenu."+this.eventNamespace),this.removeEventListener(document.body,"keyup."+this.eventNamespace),this.removeEventListener(this.domNodes.navigation.getElementsByTagName("button"),"click."+this.eventNamespace),this.removeEventListener(this.domNodes.closeButton,"click."+this.eventNamespace),this.removeEventListener(window,"resize."+this.eventNamespace),this.removeEventListener(window,"hashchange."+this.eventNamespace),this.close(),this.isOpen&&(document.body.removeChild(this.domNodes.wrapper),document.body.removeChild(this.domNodes.overlay)),this.elements=null}},{key:"refresh",value:function(){if(!this.initialSelector)throw"refreshing only works when you initialize using a selector!";var t=this.options,e=this.initialSelector;return this.destroy(),this.constructor(e,t),this}},{key:"hash",get:function(){return window.location.hash.substring(1)}}])&&i(t.prototype,e),o&&i(t,o),n}(),e=t;n.default=e,o.SimpleLightbox=t}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1]); \ No newline at end of file diff --git a/photos/simplelightbox-master/dist/simple-lightbox.js b/photos/simplelightbox-master/dist/simple-lightbox.js new file mode 100644 index 0000000000000000000000000000000000000000..ac552337aeb5615a2675ee535f8f61f801c3407a --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.js @@ -0,0 +1,1649 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.7.0 +*/ +(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){ +(function (global){(function (){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SimpleLightbox = /*#__PURE__*/function () { + function SimpleLightbox(elements, options) { + var _this = this; + + _classCallCheck(this, SimpleLightbox); + + _defineProperty(this, "defaultOptions", { + sourceAttr: 'href', + overlay: true, + spinner: true, + nav: true, + navText: ['‹', '›'], + captions: true, + captionDelay: 0, + captionSelector: 'img', + captionType: 'attr', + captionsData: 'title', + captionPosition: 'bottom', + captionClass: '', + close: true, + closeText: '×', + swipeClose: true, + showCounter: true, + fileExt: 'png|jpg|jpeg|gif|webp', + animationSlide: true, + animationSpeed: 250, + preloading: true, + enableKeyboard: true, + loop: true, + rel: false, + docClose: true, + swipeTolerance: 50, + className: 'simple-lightbox', + widthRatio: 0.8, + heightRatio: 0.9, + scaleImageToRatio: false, + disableRightClick: false, + disableScroll: true, + alertError: true, + alertErrorMessage: 'Image not found, next image will be loaded', + additionalHtml: false, + history: true, + throttleInterval: 0, + doubleTapZoom: 2, + maxZoom: 10, + htmlClass: 'has-lightbox', + rtl: false, + fixedClass: 'sl-fixed', + fadeSpeed: 300, + uniqueImages: true, + focus: true + }); + + _defineProperty(this, "transitionPrefix", void 0); + + _defineProperty(this, "transitionCapable", false); + + _defineProperty(this, "isTouchDevice", 'ontouchstart' in window); + + _defineProperty(this, "initialLocationHash", void 0); + + _defineProperty(this, "pushStateSupport", 'pushState' in history); + + _defineProperty(this, "isOpen", false); + + _defineProperty(this, "isAnimating", false); + + _defineProperty(this, "isClosing", false); + + _defineProperty(this, "isFadeIn", false); + + _defineProperty(this, "urlChangedOnce", false); + + _defineProperty(this, "hashReseted", false); + + _defineProperty(this, "historyHasChanges", false); + + _defineProperty(this, "historyUpdateTimeout", null); + + _defineProperty(this, "currentImage", void 0); + + _defineProperty(this, "eventNamespace", 'simplelightbox'); + + _defineProperty(this, "domNodes", {}); + + _defineProperty(this, "loadedImages", []); + + _defineProperty(this, "initialImageIndex", 0); + + _defineProperty(this, "currentImageIndex", 0); + + _defineProperty(this, "initialSelector", null); + + _defineProperty(this, "globalScrollbarWidth", 0); + + _defineProperty(this, "controlCoordinates", { + swipeDiff: 0, + swipeYDiff: 0, + swipeStart: 0, + swipeEnd: 0, + swipeYStart: 0, + swipeYEnd: 0, + mousedown: false, + imageLeft: 0, + zoomed: false, + containerHeight: 0, + containerWidth: 0, + containerOffsetX: 0, + containerOffsetY: 0, + imgHeight: 0, + imgWidth: 0, + capture: false, + initialOffsetX: 0, + initialOffsetY: 0, + initialPointerOffsetX: 0, + initialPointerOffsetY: 0, + initialPointerOffsetX2: 0, + initialPointerOffsetY2: 0, + initialScale: 1, + initialPinchDistance: 0, + pointerOffsetX: 0, + pointerOffsetY: 0, + pointerOffsetX2: 0, + pointerOffsetY2: 0, + targetOffsetX: 0, + targetOffsetY: 0, + targetScale: 0, + pinchOffsetX: 0, + pinchOffsetY: 0, + limitOffsetX: 0, + limitOffsetY: 0, + scaleDifference: 0, + targetPinchDistance: 0, + touchCount: 0, + doubleTapped: false, + touchmoveCount: 0 + }); + + this.options = Object.assign(this.defaultOptions, options); + + if (typeof elements === 'string') { + this.initialSelector = elements; + this.elements = Array.from(document.querySelectorAll(elements)); + } else { + this.elements = typeof elements.length !== 'undefined' && elements.length > 0 ? Array.from(elements) : [elements]; + } + + this.relatedElements = []; + this.transitionPrefix = this.calculateTransitionPrefix(); + this.transitionCapable = this.transitionPrefix !== false; + this.initialLocationHash = this.hash; // this should be handled by attribute selector IMHO! => 'a[rel=bla]'... + + if (this.options.rel) { + this.elements = this.getRelated(this.options.rel); + } + + if (this.options.uniqueImages) { + var imgArr = []; + this.elements = Array.from(this.elements).filter(function (element) { + var src = element.getAttribute(_this.options.sourceAttr); + + if (imgArr.indexOf(src) === -1) { + imgArr.push(src); + return true; + } + + return false; + }); + } + + this.createDomNodes(); + + if (this.options.close) { + this.domNodes.wrapper.appendChild(this.domNodes.closeButton); + } + + if (this.options.nav) { + this.domNodes.wrapper.appendChild(this.domNodes.navigation); + } + + if (this.options.spinner) { + this.domNodes.wrapper.appendChild(this.domNodes.spinner); + } + + this.addEventListener(this.elements, 'click.' + this.eventNamespace, function (event) { + if (_this.isValidLink(event.currentTarget)) { + event.preventDefault(); + + if (_this.isAnimating) { + return false; + } + + _this.initialImageIndex = _this.elements.indexOf(event.currentTarget); + + _this.openImage(event.currentTarget); + } + }); // close addEventListener click addEventListener doc + + if (this.options.docClose) { + this.addEventListener(this.domNodes.wrapper, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], function (event) { + if (_this.isOpen && event.target === event.currentTarget) { + _this.close(); + } + }); + } // disable rightclick + + + if (this.options.disableRightClick) { + this.addEventListener(document.body, 'contextmenu.' + this.eventNamespace, function (event) { + if (event.target.classList.contains('sl-overlay')) { + event.preventDefault(); + } + }); + } // keyboard-control + + + if (this.options.enableKeyboard) { + this.addEventListener(document.body, 'keyup.' + this.eventNamespace, this.throttle(function (event) { + _this.controlCoordinates.swipeDiff = 0; // keyboard control only if lightbox is open + + if (_this.isAnimating && event.key === 'Escape') { + _this.currentImage.setAttribute('src', ''); + + _this.isAnimating = false; + return _this.close(); + } + + if (_this.isOpen) { + event.preventDefault(); + + if (event.key === 'Escape') { + _this.close(); + } + + if (!_this.isAnimating && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) > -1) { + _this.loadImage(event.key === 'ArrowRight' ? 1 : -1); + } + } + }, this.options.throttleInterval)); + } + + this.addEvents(); + } + + _createClass(SimpleLightbox, [{ + key: "createDomNodes", + value: function createDomNodes() { + this.domNodes.overlay = document.createElement('div'); + this.domNodes.overlay.classList.add('sl-overlay'); + this.domNodes.overlay.dataset.opacityTarget = ".7"; + this.domNodes.closeButton = document.createElement('button'); + this.domNodes.closeButton.classList.add('sl-close'); + this.domNodes.closeButton.innerHTML = this.options.closeText; + this.domNodes.spinner = document.createElement('div'); + this.domNodes.spinner.classList.add('sl-spinner'); + this.domNodes.spinner.innerHTML = '<div></div>'; + this.domNodes.navigation = document.createElement('div'); + this.domNodes.navigation.classList.add('sl-navigation'); + this.domNodes.navigation.innerHTML = "<button class=\"sl-prev\">".concat(this.options.navText[0], "</button><button class=\"sl-next\">").concat(this.options.navText[1], "</button>"); + this.domNodes.counter = document.createElement('div'); + this.domNodes.counter.classList.add('sl-counter'); + this.domNodes.counter.innerHTML = '<span class="sl-current"></span>/<span class="sl-total"></span>'; + this.domNodes.caption = document.createElement('div'); + this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition); + + if (this.options.captionClass) { + this.domNodes.caption.classList.add(this.options.captionClass); + } + + this.domNodes.image = document.createElement('div'); + this.domNodes.image.classList.add('sl-image'); + this.domNodes.wrapper = document.createElement('div'); + this.domNodes.wrapper.classList.add('sl-wrapper'); + this.domNodes.wrapper.setAttribute('tabindex', -1); + this.domNodes.wrapper.setAttribute('role', 'dialog'); + this.domNodes.wrapper.setAttribute('aria-hidden', false); + + if (this.options.className) { + this.domNodes.wrapper.classList.add(this.options.className); + } + + if (this.options.rtl) { + this.domNodes.wrapper.classList.add('sl-dir-rtl'); + } + } + }, { + key: "throttle", + value: function throttle(func, limit) { + var inThrottle; + return function () { + if (!inThrottle) { + func.apply(this, arguments); + inThrottle = true; + setTimeout(function () { + return inThrottle = false; + }, limit); + } + }; + } + }, { + key: "isValidLink", + value: function isValidLink(element) { + return !this.options.fileExt || 'pathname' in element && new RegExp('(' + this.options.fileExt + ')$', 'i').test(element.pathname); + } + }, { + key: "calculateTransitionPrefix", + value: function calculateTransitionPrefix() { + var s = (document.body || document.documentElement).style; + return 'transition' in s ? '' : 'WebkitTransition' in s ? '-webkit-' : 'MozTransition' in s ? '-moz-' : 'OTransition' in s ? '-o' : false; + } + }, { + key: "toggleScrollbar", + value: function toggleScrollbar(type) { + var scrollbarWidth = 0; + var fixedElements = [].slice.call(document.querySelectorAll('.' + this.options.fixedClass)); + + if (type === 'hide') { + var fullWindowWidth = window.innerWidth; + + if (!fullWindowWidth) { + var documentElementRect = document.documentElement.getBoundingClientRect(); + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left); + } + + if (document.body.clientWidth < fullWindowWidth) { + var scrollDiv = document.createElement('div'), + paddingRight = parseInt(document.body.style.paddingRight || 0, 10); + scrollDiv.classList.add('sl-scrollbar-measure'); + document.body.appendChild(scrollDiv); + scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + document.body.dataset.originalPaddingRight = paddingRight; + + if (scrollbarWidth > 0) { + document.body.classList.add('hidden-scroll'); + document.body.style.paddingRight = paddingRight + scrollbarWidth + 'px'; + fixedElements.forEach(function (element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = window.getComputedStyle(element)['padding-right']; + element.dataset.originalPaddingRight = actualPadding; + element.style.paddingRight = "".concat(parseFloat(calculatedPadding) + scrollbarWidth, "px"); + }); + } + } + } else { + document.body.classList.remove('hidden-scroll'); + document.body.style.paddingRight = document.body.dataset.originalPaddingRight; + fixedElements.forEach(function (element) { + var padding = element.dataset.originalPaddingRight; + + if (typeof padding !== 'undefined') { + element.style.paddingRight = padding; + } + }); + } + + return scrollbarWidth; + } + }, { + key: "close", + value: function close() { + var _this2 = this; + + if (!this.isOpen || this.isAnimating || this.isClosing) { + return false; + } + + this.isClosing = true; + var element = this.relatedElements[this.currentImageIndex]; + element.dispatchEvent(new Event('close.simplelightbox')); + + if (this.options.history) { + this.historyHasChanges = false; + + if (!this.hashReseted) { + this.resetHash(); + } + } + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.fadeOut(document.querySelectorAll('.sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, function () { + if (_this2.options.disableScroll) { + _this2.toggleScrollbar('show'); + } + + if (_this2.options.htmlClass && _this2.options.htmlClass !== '') { + document.querySelector('html').classList.remove(_this2.options.htmlClass); + } + + document.body.removeChild(_this2.domNodes.wrapper); + document.body.removeChild(_this2.domNodes.overlay); + _this2.domNodes.additionalHtml = null; + element.dispatchEvent(new Event('closed.simplelightbox')); + _this2.isClosing = false; + }); + this.currentImage = null; + this.isOpen = false; + this.isAnimating = false; // reset touchcontrol coordinates + + for (var key in this.controlCoordinates) { + this.controlCoordinates[key] = 0; + } + + this.controlCoordinates.mousedown = false; + this.controlCoordinates.zoomed = false; + this.controlCoordinates.capture = false; + this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom); + this.controlCoordinates.doubleTapped = false; + } + }, { + key: "preload", + value: function preload() { + var _this3 = this; + + var index = this.currentImageIndex, + length = this.relatedElements.length, + next = index + 1 < 0 ? length - 1 : index + 1 >= length - 1 ? 0 : index + 1, + prev = index - 1 < 0 ? length - 1 : index - 1 >= length - 1 ? 0 : index - 1, + nextImage = new Image(), + prevImage = new Image(); + nextImage.addEventListener('load', function (event) { + var src = event.target.getAttribute('src'); + + if (_this3.loadedImages.indexOf(src) === -1) { + //is this condition even required... setting multiple times will not change usage... + _this3.loadedImages.push(src); + } + + _this3.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + _this3.eventNamespace)); + }); + nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr)); + prevImage.addEventListener('load', function (event) { + var src = event.target.getAttribute('src'); + + if (_this3.loadedImages.indexOf(src) === -1) { + _this3.loadedImages.push(src); + } + + _this3.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + _this3.eventNamespace)); + }); + prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr)); + } + }, { + key: "loadImage", + value: function loadImage(direction) { + var _this4 = this; + + var slideDirection = direction; + + if (this.options.rtl) { + direction = -direction; + } + + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace)); + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace)); + var newIndex = this.currentImageIndex + direction; + + if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) { + return false; + } + + this.currentImageIndex = newIndex < 0 ? this.relatedElements.length - 1 : newIndex > this.relatedElements.length - 1 ? 0 : newIndex; + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + + if (this.options.animationSlide) { + this.slide(this.options.animationSpeed / 1000, -100 * slideDirection - this.controlCoordinates.swipeDiff + 'px'); + } + + this.fadeOut(this.domNodes.image, this.options.fadeSpeed, function () { + _this4.isAnimating = true; + + if (!_this4.isClosing) { + setTimeout(function () { + var element = _this4.relatedElements[_this4.currentImageIndex]; + + _this4.currentImage.setAttribute('src', element.getAttribute(_this4.options.sourceAttr)); + + if (_this4.loadedImages.indexOf(element.getAttribute(_this4.options.sourceAttr)) === -1) { + _this4.show(_this4.domNodes.spinner); + } + + if (_this4.domNodes.image.contains(_this4.domNodes.caption)) { + _this4.domNodes.image.removeChild(_this4.domNodes.caption); + } + + _this4.adjustImage(slideDirection); + + if (_this4.options.preloading) _this4.preload(); + }, 100); + } else { + _this4.isAnimating = false; + } + }); + } + }, { + key: "adjustImage", + value: function adjustImage(direction) { + var _this5 = this; + + if (!this.currentImage) { + return false; + } + + var tmpImage = new Image(), + windowWidth = window.innerWidth * this.options.widthRatio, + windowHeight = window.innerHeight * this.options.heightRatio; + tmpImage.setAttribute('src', this.currentImage.getAttribute('src')); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + this.zoomPanElement(0, 0, 1); + tmpImage.addEventListener('error', function (event) { + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('error.' + _this5.eventNamespace)); + + _this5.isAnimating = false; + _this5.isOpen = false; + _this5.domNodes.spinner.style.display = 'none'; + var dirIsDefined = direction === 1 || direction === -1; + + if (_this5.initialImageIndex === _this5.currentImageIndex && dirIsDefined) { + return _this5.close(); + } + + if (_this5.options.alertError) { + alert(_this5.options.alertErrorMessage); + } + + _this5.loadImage(dirIsDefined ? direction : 1); + }); + tmpImage.addEventListener('load', function (event) { + if (typeof direction !== 'undefined') { + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('changed.' + _this5.eventNamespace)); + + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + _this5.eventNamespace)); + } // history + + + if (_this5.options.history) { + _this5.updateURL(); + } + + if (_this5.loadedImages.indexOf(_this5.currentImage.getAttribute('src')) === -1) { + _this5.loadedImages.push(_this5.currentImage.getAttribute('src')); + } + + var imageWidth = event.target.width, + imageHeight = event.target.height; + + if (_this5.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) { + var ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight; + imageWidth /= ratio; + imageHeight /= ratio; + } + + _this5.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px'; + _this5.domNodes.image.style.left = (window.innerWidth - imageWidth - _this5.globalScrollbarWidth) / 2 + 'px'; + _this5.domNodes.image.style.width = imageWidth + 'px'; + _this5.domNodes.image.style.height = imageHeight + 'px'; + _this5.domNodes.spinner.style.display = 'none'; + + if (_this5.options.focus) { + _this5.forceFocus(); + } + + _this5.fadeIn(_this5.currentImage, _this5.options.fadeSpeed, function () { + if (_this5.options.focus) { + _this5.domNodes.wrapper.focus(); + } + }); + + _this5.isOpen = true; + var captionContainer, captionText; + + if (typeof _this5.options.captionSelector === 'string') { + captionContainer = _this5.options.captionSelector === 'self' ? _this5.relatedElements[_this5.currentImageIndex] : _this5.relatedElements[_this5.currentImageIndex].querySelector(_this5.options.captionSelector); + } else if (typeof _this5.options.captionSelector === 'function') { + captionContainer = _this5.options.captionSelector(_this5.relatedElements[_this5.currentImageIndex]); + } + + if (_this5.options.captions && captionContainer) { + if (_this5.options.captionType === 'data') { + captionText = captionContainer.dataset[_this5.options.captionsData]; + } else if (_this5.options.captionType === 'text') { + captionText = captionContainer.innerHTML; + } else { + captionText = captionContainer.getAttribute(_this5.options.captionsData); + } + } + + if (!_this5.options.loop) { + if (_this5.currentImageIndex === 0) { + _this5.hide(_this5.domNodes.navigation.querySelector('.sl-prev')); + } + + if (_this5.currentImageIndex >= _this5.relatedElements.length - 1) { + _this5.hide(_this5.domNodes.navigation.querySelector('.sl-next')); + } + + if (_this5.currentImageIndex > 0) { + _this5.show(_this5.domNodes.navigation.querySelector('.sl-prev')); + } + + if (_this5.currentImageIndex < _this5.relatedElements.length - 1) { + _this5.show(_this5.domNodes.navigation.querySelector('.sl-next')); + } + } + + if (_this5.relatedElements.length === 1) { + _this5.hide(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } else { + _this5.show(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } + + if (direction === 1 || direction === -1) { + if (_this5.options.animationSlide) { + _this5.slide(0, 100 * direction + 'px'); + + setTimeout(function () { + _this5.slide(_this5.options.animationSpeed / 1000, 0 + 'px'); + }, 50); + } + + _this5.fadeIn(_this5.domNodes.image, _this5.options.fadeSpeed, function () { + _this5.isAnimating = false; + + _this5.setCaption(captionText, imageWidth); + }); + } else { + _this5.isAnimating = false; + + _this5.setCaption(captionText, imageWidth); + } + + if (_this5.options.additionalHtml && !_this5.domNodes.additionalHtml) { + _this5.domNodes.additionalHtml = document.createElement('div'); + + _this5.domNodes.additionalHtml.classList.add('sl-additional-html'); + + _this5.domNodes.additionalHtml.innerHTML = _this5.options.additionalHtml; + + _this5.domNodes.image.appendChild(_this5.domNodes.additionalHtml); + } + }); + } + }, { + key: "zoomPanElement", + value: function zoomPanElement(targetOffsetX, targetOffsetY, targetScale) { + this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')'; + } + }, { + key: "minMax", + value: function minMax(value, min, max) { + return value < min ? min : value > max ? max : value; + } + }, { + key: "setZoomData", + value: function setZoomData(initialScale, targetOffsetX, targetOffsetY) { + this.currentImage.dataset.scale = initialScale; + this.currentImage.dataset.translateX = targetOffsetX; + this.currentImage.dataset.translateY = targetOffsetY; + } + }, { + key: "hashchangeHandler", + value: function hashchangeHandler() { + if (this.isOpen && this.hash === this.initialLocationHash) { + this.hashReseted = true; + this.close(); + } + } + }, { + key: "addEvents", + value: function addEvents() { + var _this6 = this; + + // resize/responsive + this.addEventListener(window, 'resize.' + this.eventNamespace, function (event) { + //this.adjustImage.bind(this) + if (_this6.isOpen) { + _this6.adjustImage(); + } + }); + this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this)); + + if (this.options.history) { + setTimeout(function () { + _this6.addEventListener(window, 'hashchange.' + _this6.eventNamespace, function (event) { + if (_this6.isOpen) { + _this6.hashchangeHandler(); + } + }); + }, 40); + } + + this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, function (event) { + if (!event.currentTarget.tagName.match(/button/i)) { + return true; + } + + event.preventDefault(); + _this6.controlCoordinates.swipeDiff = 0; + + _this6.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1); + }); + this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], function (event) { + if (event.target.tagName === 'A' && event.type === 'touchstart') { + return true; + } + + if (event.type === 'mousedown') { + _this6.controlCoordinates.initialPointerOffsetX = event.clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + _this6.controlCoordinates.capture = true; + } else { + _this6.controlCoordinates.touchCount = event.touches.length; + _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + + if (_this6.controlCoordinates.touchCount === 1) + /* Single touch */ + { + if (!_this6.controlCoordinates.doubleTapped) { + _this6.controlCoordinates.doubleTapped = true; + setTimeout(function () { + _this6.controlCoordinates.doubleTapped = false; + }, 300); + } else { + _this6.currentImage.classList.add('sl-transition'); + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + + _this6.controlCoordinates.zoomed = true; + } else { + _this6.controlCoordinates.initialScale = 1; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + _this6.controlCoordinates.zoomed = false; + } + + setTimeout(function () { + if (_this6.currentImage) { + _this6.currentImage.classList.remove('sl-transition'); + } + }, 200); + return false; + } + + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + } else if (_this6.controlCoordinates.touchCount === 2) + /* Pinch */ + { + _this6.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX; + _this6.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY; + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + _this6.controlCoordinates.pinchOffsetX = (_this6.controlCoordinates.initialPointerOffsetX + _this6.controlCoordinates.initialPointerOffsetX2) / 2; + _this6.controlCoordinates.pinchOffsetY = (_this6.controlCoordinates.initialPointerOffsetY + _this6.controlCoordinates.initialPointerOffsetY2) / 2; + _this6.controlCoordinates.initialPinchDistance = Math.sqrt((_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) * (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) + (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2) * (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2)); + } + + _this6.controlCoordinates.capture = true; + } + + if (_this6.controlCoordinates.mousedown) return true; + + if (_this6.transitionCapable) { + _this6.controlCoordinates.imageLeft = parseInt(_this6.domNodes.image.style.left, 10); + } + + _this6.controlCoordinates.mousedown = true; + _this6.controlCoordinates.swipeDiff = 0; + _this6.controlCoordinates.swipeYDiff = 0; + _this6.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX; + _this6.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY; + return false; + }); + this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], function (event) { + if (!_this6.controlCoordinates.mousedown) { + return true; + } + + event.preventDefault(); + + if (event.type === 'touchmove') { + if (_this6.controlCoordinates.capture === false) { + return false; + } + + _this6.controlCoordinates.pointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.pointerOffsetY = event.touches[0].clientY; + _this6.controlCoordinates.touchCount = event.touches.length; + _this6.controlCoordinates.touchmoveCount++; + + if (_this6.controlCoordinates.touchCount > 1) + /* Pinch */ + { + _this6.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX; + _this6.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY; + _this6.controlCoordinates.targetPinchDistance = Math.sqrt((_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) * (_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) + (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2) * (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2)); + + if (_this6.controlCoordinates.initialPinchDistance === null) { + _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance; + } + + if (Math.abs(_this6.controlCoordinates.initialPinchDistance - _this6.controlCoordinates.targetPinchDistance) >= 1) { + /* Initialize helpers */ + _this6.controlCoordinates.targetScale = _this6.minMax(_this6.controlCoordinates.targetPinchDistance / _this6.controlCoordinates.initialPinchDistance * _this6.controlCoordinates.initialScale, 1, _this6.options.maxZoom); + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + + if (_this6.controlCoordinates.targetScale > 1) { + _this6.controlCoordinates.zoomed = true; + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance; + _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale; + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + } + } else { + _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) { + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) { + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY; + } + + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + } + } + /* Mouse Move implementation */ + + + if (event.type === 'mousemove' && _this6.controlCoordinates.mousedown) { + if (event.type == 'touchmove') return true; + if (_this6.controlCoordinates.capture === false) return false; + _this6.controlCoordinates.pointerOffsetX = event.clientX; + _this6.controlCoordinates.pointerOffsetY = event.clientY; + _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) { + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) { + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY; + } + + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + } + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX; + _this6.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY; + _this6.controlCoordinates.swipeDiff = _this6.controlCoordinates.swipeStart - _this6.controlCoordinates.swipeEnd; + _this6.controlCoordinates.swipeYDiff = _this6.controlCoordinates.swipeYStart - _this6.controlCoordinates.swipeYEnd; + + if (_this6.options.animationSlide) { + _this6.slide(0, -_this6.controlCoordinates.swipeDiff + 'px'); + } + } + }); + this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], function (event) { + if (_this6.isTouchDevice && event.type === 'touchend') { + _this6.controlCoordinates.touchCount = event.touches.length; + + if (_this6.controlCoordinates.touchCount === 0) + /* No touch */ + { + /* Set attributes */ + if (_this6.currentImage) { + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + } + + if (_this6.controlCoordinates.initialScale === 1) { + _this6.controlCoordinates.zoomed = false; + + if (_this6.domNodes.caption.style.display === 'none') { + _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + _this6.controlCoordinates.initialPinchDistance = null; + _this6.controlCoordinates.capture = false; + } else if (_this6.controlCoordinates.touchCount === 1) + /* Single touch */ + { + _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + } else if (_this6.controlCoordinates.touchCount > 1) + /* Pinch */ + { + _this6.controlCoordinates.initialPinchDistance = null; + } + } + + if (_this6.controlCoordinates.mousedown) { + _this6.controlCoordinates.mousedown = false; + var possibleDir = true; + + if (!_this6.options.loop) { + if (_this6.currentImageIndex === 0 && _this6.controlCoordinates.swipeDiff < 0) { + possibleDir = false; + } + + if (_this6.currentImageIndex >= _this6.relatedElements.length - 1 && _this6.controlCoordinates.swipeDiff > 0) { + possibleDir = false; + } + } + + if (Math.abs(_this6.controlCoordinates.swipeDiff) > _this6.options.swipeTolerance && possibleDir) { + _this6.loadImage(_this6.controlCoordinates.swipeDiff > 0 ? 1 : -1); + } else if (_this6.options.animationSlide) { + _this6.slide(_this6.options.animationSpeed / 1000, 0 + 'px'); + } + + if (_this6.options.swipeClose && Math.abs(_this6.controlCoordinates.swipeYDiff) > 50 && Math.abs(_this6.controlCoordinates.swipeDiff) < _this6.options.swipeTolerance) { + _this6.close(); + } + } + }); + this.addEventListener(this.domNodes.image, ['dblclick'], function (event) { + if (_this6.isTouchDevice) return; + _this6.controlCoordinates.initialPointerOffsetX = event.clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + + _this6.currentImage.classList.add('sl-transition'); + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + + _this6.controlCoordinates.zoomed = true; + } else { + _this6.controlCoordinates.initialScale = 1; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + _this6.controlCoordinates.zoomed = false; + + if (_this6.domNodes.caption.style.display === 'none') { + _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + setTimeout(function () { + if (_this6.currentImage) { + _this6.currentImage.classList.remove('sl-transition'); + } + }, 200); + _this6.controlCoordinates.capture = true; + return false; + }); + } + }, { + key: "getDimensions", + value: function getDimensions(element) { + var styles = window.getComputedStyle(element), + height = element.offsetHeight, + width = element.offsetWidth, + borderTopWidth = parseFloat(styles.borderTopWidth), + borderBottomWidth = parseFloat(styles.borderBottomWidth), + paddingTop = parseFloat(styles.paddingTop), + paddingBottom = parseFloat(styles.paddingBottom), + borderLeftWidth = parseFloat(styles.borderLeftWidth), + borderRightWidth = parseFloat(styles.borderRightWidth), + paddingLeft = parseFloat(styles.paddingLeft), + paddingRight = parseFloat(styles.paddingRight); + return { + height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom, + width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight + }; + } + }, { + key: "updateHash", + value: function updateHash() { + var newHash = 'pid=' + (this.currentImageIndex + 1), + newURL = window.location.href.split('#')[0] + '#' + newHash; + this.hashReseted = false; + + if (this.pushStateSupport) { + window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL); + } else { + // what is the browser target of this? + if (this.historyHasChanges) { + window.location.replace(newURL); + } else { + window.location.hash = newHash; + } + } + + if (!this.historyHasChanges) { + this.urlChangedOnce = true; + } + + this.historyHasChanges = true; + } + }, { + key: "resetHash", + value: function resetHash() { + this.hashReseted = true; + + if (this.urlChangedOnce) { + history.back(); + } else { + if (this.pushStateSupport) { + history.pushState('', document.title, window.location.pathname + window.location.search); + } else { + window.location.hash = ''; + } + } // + //in case an history operation is still pending + + + clearTimeout(this.historyUpdateTimeout); + } + }, { + key: "updateURL", + value: function updateURL() { + clearTimeout(this.historyUpdateTimeout); + + if (!this.historyHasChanges) { + this.updateHash(); // first time + } else { + this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800); + } + } + }, { + key: "setCaption", + value: function setCaption(captionText, imageWidth) { + var _this7 = this; + + if (this.options.captions && captionText && captionText !== '' && typeof captionText !== "undefined") { + this.hide(this.domNodes.caption); + this.domNodes.caption.style.width = imageWidth + 'px'; + this.domNodes.caption.innerHTML = captionText; + this.domNodes.image.appendChild(this.domNodes.caption); + setTimeout(function () { + _this7.fadeIn(_this7.domNodes.caption, _this7.options.fadeSpeed); + }, this.options.captionDelay); + } + } + }, { + key: "slide", + value: function slide(speed, pos) { + if (!this.transitionCapable) { + return this.domNodes.image.style.left = pos; + } + + this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')'; + this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear'; + } + }, { + key: "getRelated", + value: function getRelated(rel) { + var elems; + + if (rel && rel !== false && rel !== 'nofollow') { + elems = Array.from(this.elements).filter(function (element) { + return element.getAttribute('rel') === rel; + }); + } else { + elems = this.elements; + } + + return elems; + } + }, { + key: "openImage", + value: function openImage(element) { + var _this8 = this; + + element.dispatchEvent(new Event('show.' + this.eventNamespace)); + + if (this.options.disableScroll) { + this.globalScrollbarWidth = this.toggleScrollbar('hide'); + } + + if (this.options.htmlClass && this.options.htmlClass !== '') { + document.querySelector('html').classList.add(this.options.htmlClass); + } + + document.body.appendChild(this.domNodes.wrapper); + this.domNodes.wrapper.appendChild(this.domNodes.image); + + if (this.options.overlay) { + document.body.appendChild(this.domNodes.overlay); + } + + this.relatedElements = this.getRelated(element.rel); + + if (this.options.showCounter) { + if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.removeChild(this.domNodes.counter); + } else if (this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.appendChild(this.domNodes.counter); + } + } + + this.isAnimating = true; + this.currentImageIndex = this.relatedElements.indexOf(element); + var targetURL = element.getAttribute(this.options.sourceAttr); + this.currentImage = document.createElement('img'); + this.currentImage.style.display = 'none'; + this.currentImage.setAttribute('src', targetURL); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + + if (this.loadedImages.indexOf(targetURL) === -1) { + this.loadedImages.push(targetURL); + } + + this.domNodes.image.innerHTML = ''; + this.domNodes.image.setAttribute('style', ''); + this.domNodes.image.appendChild(this.currentImage); + this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed); + this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton], this.options.fadeSpeed); + this.show(this.domNodes.spinner); + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length; + this.adjustImage(); + + if (this.options.preloading) { + this.preload(); + } + + setTimeout(function () { + element.dispatchEvent(new Event('shown.' + _this8.eventNamespace)); + }, this.options.animationSpeed); + } + }, { + key: "forceFocus", + value: function forceFocus() { + var _this9 = this; + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.addEventListener(document, 'focusin.' + this.eventNamespace, function (event) { + if (document !== event.target && _this9.domNodes.wrapper !== event.target && !_this9.domNodes.wrapper.contains(event.target)) { + _this9.domNodes.wrapper.focus(); + } + }); + } // utility + + }, { + key: "addEventListener", + value: function addEventListener(elements, events, callback, opts) { + elements = this.wrap(elements); + events = this.wrap(events); + + var _iterator = _createForOfIteratorHelper(elements), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var element = _step.value; + + if (!element.namespaces) { + element.namespaces = {}; + } // save the namespaces addEventListener the DOM element itself + + + var _iterator2 = _createForOfIteratorHelper(events), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var event = _step2.value; + var options = opts || false; + element.namespaces[event] = callback; + element.addEventListener(event.split('.')[0], callback, options); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "removeEventListener", + value: function removeEventListener(elements, events) { + elements = this.wrap(elements); + events = this.wrap(events); + + var _iterator3 = _createForOfIteratorHelper(elements), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var element = _step3.value; + + var _iterator4 = _createForOfIteratorHelper(events), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var event = _step4.value; + + if (element.namespaces && element.namespaces[event]) { + element.removeEventListener(event.split('.')[0], element.namespaces[event]); + delete element.namespaces[event]; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + key: "fadeOut", + value: function fadeOut(elements, duration, callback) { + var _this10 = this; + + elements = this.wrap(elements); + + var _iterator5 = _createForOfIteratorHelper(elements), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var element = _step5.value; + element.style.opacity = 1; + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.isFadeIn = false; + + var step = 16.66666 / (duration || this.options.fadeSpeed), + fade = function fade() { + var currentOpacity = parseFloat(elements[0].style.opacity); + + if ((currentOpacity -= step) < 0) { + var _iterator6 = _createForOfIteratorHelper(elements), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var element = _step6.value; + element.style.display = "none"; + element.style.opacity = ''; + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + callback && callback.call(_this10, elements); + } else { + var _iterator7 = _createForOfIteratorHelper(elements), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _element = _step7.value; + _element.style.opacity = currentOpacity; + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + requestAnimationFrame(fade); + } + }; + + fade(); + } + }, { + key: "fadeIn", + value: function fadeIn(elements, duration, callback, display) { + var _this11 = this; + + elements = this.wrap(elements); + + var _iterator8 = _createForOfIteratorHelper(elements), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var element = _step8.value; + element.style.opacity = 0; + element.style.display = display || "block"; + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + this.isFadeIn = true; + + var opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1), + step = 16.66666 * opacityTarget / (duration || this.options.fadeSpeed), + fade = function fade() { + var currentOpacity = parseFloat(elements[0].style.opacity); + + if (!((currentOpacity += step) > opacityTarget)) { + var _iterator9 = _createForOfIteratorHelper(elements), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var element = _step9.value; + element.style.opacity = currentOpacity; + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + if (!_this11.isFadeIn) return; + requestAnimationFrame(fade); + } else { + var _iterator10 = _createForOfIteratorHelper(elements), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var _element2 = _step10.value; + _element2.style.opacity = ''; + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + callback && callback.call(_this11, elements); + } + }; + + fade(); + } + }, { + key: "hide", + value: function hide(elements) { + elements = this.wrap(elements); + + var _iterator11 = _createForOfIteratorHelper(elements), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var element = _step11.value; + element.dataset.initialDisplay = element.style.display; + element.style.display = 'none'; + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + } + }, { + key: "show", + value: function show(elements, display) { + elements = this.wrap(elements); + + var _iterator12 = _createForOfIteratorHelper(elements), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var element = _step12.value; + element.style.display = element.dataset.initialDisplay || display || 'block'; + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + } + }, { + key: "wrap", + value: function wrap(input) { + return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input]; + } + }, { + key: "on", + value: function on(events, callback) { + events = this.wrap(events); + + var _iterator13 = _createForOfIteratorHelper(this.elements), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var element = _step13.value; + + if (!element.fullyNamespacedEvents) { + element.fullyNamespacedEvents = {}; + } + + var _iterator14 = _createForOfIteratorHelper(events), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var event = _step14.value; + element.fullyNamespacedEvents[event] = callback; + element.addEventListener(event, callback); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + return this; + } + }, { + key: "off", + value: function off(events) { + events = this.wrap(events); + + var _iterator15 = _createForOfIteratorHelper(this.elements), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var element = _step15.value; + + var _iterator16 = _createForOfIteratorHelper(events), + _step16; + + try { + for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { + var event = _step16.value; + + if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) { + element.removeEventListener(event, element.fullyNamespacedEvents[event]); + } + } + } catch (err) { + _iterator16.e(err); + } finally { + _iterator16.f(); + } + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + + return this; + } // api + + }, { + key: "open", + value: function open(elem) { + elem = elem || this.elements[0]; + + if (typeof jQuery !== "undefined" && elem instanceof jQuery) { + elem = elem.get(0); + } + + this.initialImageIndex = this.elements.indexOf(elem); + + if (this.initialImageIndex > -1) { + this.openImage(elem); + } + } + }, { + key: "next", + value: function next() { + this.loadImage(1); + } + }, { + key: "prev", + value: function prev() { + this.loadImage(-1); + } //close is exposed anyways.. + + }, { + key: "destroy", + value: function destroy() { + //remove all custom event listeners from elements + this.off(['close.' + this.eventNamespace, 'closed.' + this.eventNamespace, 'nextImageLoaded.' + this.eventNamespace, 'prevImageLoaded.' + this.eventNamespace, 'change.' + this.eventNamespace, 'nextDone.' + this.eventNamespace, 'prevDone.' + this.eventNamespace, 'error.' + this.eventNamespace, 'changed.' + this.eventNamespace, 'next.' + this.eventNamespace, 'prev.' + this.eventNamespace, 'show.' + this.eventNamespace, 'shown.' + this.eventNamespace]); + this.removeEventListener(this.elements, 'click.' + this.eventNamespace); + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace); + this.removeEventListener(document.body, 'keyup.' + this.eventNamespace); + this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace); + this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace); + this.removeEventListener(window, 'resize.' + this.eventNamespace); + this.removeEventListener(window, 'hashchange.' + this.eventNamespace); + this.close(); + + if (this.isOpen) { + document.body.removeChild(this.domNodes.wrapper); + document.body.removeChild(this.domNodes.overlay); + } + + this.elements = null; + } + }, { + key: "refresh", + value: function refresh() { + if (!this.initialSelector) { + throw 'refreshing only works when you initialize using a selector!'; + } + + var options = this.options, + selector = this.initialSelector; + this.destroy(); + this.constructor(selector, options); + return this; + } + }, { + key: "hash", + get: function get() { + return window.location.hash.substring(1); + } + }]); + + return SimpleLightbox; +}(); + +var _default = SimpleLightbox; +exports["default"] = _default; +global.SimpleLightbox = SimpleLightbox; + +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}]},{},[1]); diff --git a/photos/simplelightbox-master/dist/simple-lightbox.legacy.js b/photos/simplelightbox-master/dist/simple-lightbox.legacy.js new file mode 100644 index 0000000000000000000000000000000000000000..a8d657d6d243a8a57a177839707aeee6eeaa33ba --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.legacy.js @@ -0,0 +1,13716 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.7.0 +*/ +(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){ +require('../modules/es.symbol'); +require('../modules/es.symbol.async-iterator'); +require('../modules/es.symbol.description'); +require('../modules/es.symbol.has-instance'); +require('../modules/es.symbol.is-concat-spreadable'); +require('../modules/es.symbol.iterator'); +require('../modules/es.symbol.match'); +require('../modules/es.symbol.match-all'); +require('../modules/es.symbol.replace'); +require('../modules/es.symbol.search'); +require('../modules/es.symbol.species'); +require('../modules/es.symbol.split'); +require('../modules/es.symbol.to-primitive'); +require('../modules/es.symbol.to-string-tag'); +require('../modules/es.symbol.unscopables'); +require('../modules/es.object.assign'); +require('../modules/es.object.create'); +require('../modules/es.object.define-property'); +require('../modules/es.object.define-properties'); +require('../modules/es.object.entries'); +require('../modules/es.object.freeze'); +require('../modules/es.object.from-entries'); +require('../modules/es.object.get-own-property-descriptor'); +require('../modules/es.object.get-own-property-descriptors'); +require('../modules/es.object.get-own-property-names'); +require('../modules/es.object.get-prototype-of'); +require('../modules/es.object.is'); +require('../modules/es.object.is-extensible'); +require('../modules/es.object.is-frozen'); +require('../modules/es.object.is-sealed'); +require('../modules/es.object.keys'); +require('../modules/es.object.prevent-extensions'); +require('../modules/es.object.seal'); +require('../modules/es.object.set-prototype-of'); +require('../modules/es.object.values'); +require('../modules/es.object.to-string'); +require('../modules/es.object.define-getter'); +require('../modules/es.object.define-setter'); +require('../modules/es.object.lookup-getter'); +require('../modules/es.object.lookup-setter'); +require('../modules/es.function.bind'); +require('../modules/es.function.name'); +require('../modules/es.function.has-instance'); +require('../modules/es.global-this'); +require('../modules/es.array.from'); +require('../modules/es.array.is-array'); +require('../modules/es.array.of'); +require('../modules/es.array.concat'); +require('../modules/es.array.copy-within'); +require('../modules/es.array.every'); +require('../modules/es.array.fill'); +require('../modules/es.array.filter'); +require('../modules/es.array.find'); +require('../modules/es.array.find-index'); +require('../modules/es.array.flat'); +require('../modules/es.array.flat-map'); +require('../modules/es.array.for-each'); +require('../modules/es.array.includes'); +require('../modules/es.array.index-of'); +require('../modules/es.array.join'); +require('../modules/es.array.last-index-of'); +require('../modules/es.array.map'); +require('../modules/es.array.reduce'); +require('../modules/es.array.reduce-right'); +require('../modules/es.array.reverse'); +require('../modules/es.array.slice'); +require('../modules/es.array.some'); +require('../modules/es.array.sort'); +require('../modules/es.array.splice'); +require('../modules/es.array.species'); +require('../modules/es.array.unscopables.flat'); +require('../modules/es.array.unscopables.flat-map'); +require('../modules/es.array.iterator'); +require('../modules/es.string.from-code-point'); +require('../modules/es.string.raw'); +require('../modules/es.string.code-point-at'); +require('../modules/es.string.ends-with'); +require('../modules/es.string.includes'); +require('../modules/es.string.match'); +require('../modules/es.string.match-all'); +require('../modules/es.string.pad-end'); +require('../modules/es.string.pad-start'); +require('../modules/es.string.repeat'); +require('../modules/es.string.replace'); +require('../modules/es.string.search'); +require('../modules/es.string.split'); +require('../modules/es.string.starts-with'); +require('../modules/es.string.trim'); +require('../modules/es.string.trim-start'); +require('../modules/es.string.trim-end'); +require('../modules/es.string.iterator'); +require('../modules/es.string.anchor'); +require('../modules/es.string.big'); +require('../modules/es.string.blink'); +require('../modules/es.string.bold'); +require('../modules/es.string.fixed'); +require('../modules/es.string.fontcolor'); +require('../modules/es.string.fontsize'); +require('../modules/es.string.italics'); +require('../modules/es.string.link'); +require('../modules/es.string.small'); +require('../modules/es.string.strike'); +require('../modules/es.string.sub'); +require('../modules/es.string.sup'); +require('../modules/es.regexp.constructor'); +require('../modules/es.regexp.exec'); +require('../modules/es.regexp.flags'); +require('../modules/es.regexp.sticky'); +require('../modules/es.regexp.test'); +require('../modules/es.regexp.to-string'); +require('../modules/es.parse-int'); +require('../modules/es.parse-float'); +require('../modules/es.number.constructor'); +require('../modules/es.number.epsilon'); +require('../modules/es.number.is-finite'); +require('../modules/es.number.is-integer'); +require('../modules/es.number.is-nan'); +require('../modules/es.number.is-safe-integer'); +require('../modules/es.number.max-safe-integer'); +require('../modules/es.number.min-safe-integer'); +require('../modules/es.number.parse-float'); +require('../modules/es.number.parse-int'); +require('../modules/es.number.to-fixed'); +require('../modules/es.number.to-precision'); +require('../modules/es.math.acosh'); +require('../modules/es.math.asinh'); +require('../modules/es.math.atanh'); +require('../modules/es.math.cbrt'); +require('../modules/es.math.clz32'); +require('../modules/es.math.cosh'); +require('../modules/es.math.expm1'); +require('../modules/es.math.fround'); +require('../modules/es.math.hypot'); +require('../modules/es.math.imul'); +require('../modules/es.math.log10'); +require('../modules/es.math.log1p'); +require('../modules/es.math.log2'); +require('../modules/es.math.sign'); +require('../modules/es.math.sinh'); +require('../modules/es.math.tanh'); +require('../modules/es.math.to-string-tag'); +require('../modules/es.math.trunc'); +require('../modules/es.date.now'); +require('../modules/es.date.to-json'); +require('../modules/es.date.to-iso-string'); +require('../modules/es.date.to-string'); +require('../modules/es.date.to-primitive'); +require('../modules/es.json.stringify'); +require('../modules/es.json.to-string-tag'); +require('../modules/es.promise'); +require('../modules/es.promise.all-settled'); +require('../modules/es.promise.finally'); +require('../modules/es.map'); +require('../modules/es.set'); +require('../modules/es.weak-map'); +require('../modules/es.weak-set'); +require('../modules/es.array-buffer.constructor'); +require('../modules/es.array-buffer.is-view'); +require('../modules/es.array-buffer.slice'); +require('../modules/es.data-view'); +require('../modules/es.typed-array.int8-array'); +require('../modules/es.typed-array.uint8-array'); +require('../modules/es.typed-array.uint8-clamped-array'); +require('../modules/es.typed-array.int16-array'); +require('../modules/es.typed-array.uint16-array'); +require('../modules/es.typed-array.int32-array'); +require('../modules/es.typed-array.uint32-array'); +require('../modules/es.typed-array.float32-array'); +require('../modules/es.typed-array.float64-array'); +require('../modules/es.typed-array.from'); +require('../modules/es.typed-array.of'); +require('../modules/es.typed-array.copy-within'); +require('../modules/es.typed-array.every'); +require('../modules/es.typed-array.fill'); +require('../modules/es.typed-array.filter'); +require('../modules/es.typed-array.find'); +require('../modules/es.typed-array.find-index'); +require('../modules/es.typed-array.for-each'); +require('../modules/es.typed-array.includes'); +require('../modules/es.typed-array.index-of'); +require('../modules/es.typed-array.iterator'); +require('../modules/es.typed-array.join'); +require('../modules/es.typed-array.last-index-of'); +require('../modules/es.typed-array.map'); +require('../modules/es.typed-array.reduce'); +require('../modules/es.typed-array.reduce-right'); +require('../modules/es.typed-array.reverse'); +require('../modules/es.typed-array.set'); +require('../modules/es.typed-array.slice'); +require('../modules/es.typed-array.some'); +require('../modules/es.typed-array.sort'); +require('../modules/es.typed-array.subarray'); +require('../modules/es.typed-array.to-locale-string'); +require('../modules/es.typed-array.to-string'); +require('../modules/es.reflect.apply'); +require('../modules/es.reflect.construct'); +require('../modules/es.reflect.define-property'); +require('../modules/es.reflect.delete-property'); +require('../modules/es.reflect.get'); +require('../modules/es.reflect.get-own-property-descriptor'); +require('../modules/es.reflect.get-prototype-of'); +require('../modules/es.reflect.has'); +require('../modules/es.reflect.is-extensible'); +require('../modules/es.reflect.own-keys'); +require('../modules/es.reflect.prevent-extensions'); +require('../modules/es.reflect.set'); +require('../modules/es.reflect.set-prototype-of'); +var path = require('../internals/path'); + +module.exports = path; + +},{"../internals/path":112,"../modules/es.array-buffer.constructor":158,"../modules/es.array-buffer.is-view":159,"../modules/es.array-buffer.slice":160,"../modules/es.array.concat":161,"../modules/es.array.copy-within":162,"../modules/es.array.every":163,"../modules/es.array.fill":164,"../modules/es.array.filter":165,"../modules/es.array.find":167,"../modules/es.array.find-index":166,"../modules/es.array.flat":169,"../modules/es.array.flat-map":168,"../modules/es.array.for-each":170,"../modules/es.array.from":171,"../modules/es.array.includes":172,"../modules/es.array.index-of":173,"../modules/es.array.is-array":174,"../modules/es.array.iterator":175,"../modules/es.array.join":176,"../modules/es.array.last-index-of":177,"../modules/es.array.map":178,"../modules/es.array.of":179,"../modules/es.array.reduce":181,"../modules/es.array.reduce-right":180,"../modules/es.array.reverse":182,"../modules/es.array.slice":183,"../modules/es.array.some":184,"../modules/es.array.sort":185,"../modules/es.array.species":186,"../modules/es.array.splice":187,"../modules/es.array.unscopables.flat":189,"../modules/es.array.unscopables.flat-map":188,"../modules/es.data-view":190,"../modules/es.date.now":191,"../modules/es.date.to-iso-string":192,"../modules/es.date.to-json":193,"../modules/es.date.to-primitive":194,"../modules/es.date.to-string":195,"../modules/es.function.bind":196,"../modules/es.function.has-instance":197,"../modules/es.function.name":198,"../modules/es.global-this":199,"../modules/es.json.stringify":200,"../modules/es.json.to-string-tag":201,"../modules/es.map":202,"../modules/es.math.acosh":203,"../modules/es.math.asinh":204,"../modules/es.math.atanh":205,"../modules/es.math.cbrt":206,"../modules/es.math.clz32":207,"../modules/es.math.cosh":208,"../modules/es.math.expm1":209,"../modules/es.math.fround":210,"../modules/es.math.hypot":211,"../modules/es.math.imul":212,"../modules/es.math.log10":213,"../modules/es.math.log1p":214,"../modules/es.math.log2":215,"../modules/es.math.sign":216,"../modules/es.math.sinh":217,"../modules/es.math.tanh":218,"../modules/es.math.to-string-tag":219,"../modules/es.math.trunc":220,"../modules/es.number.constructor":221,"../modules/es.number.epsilon":222,"../modules/es.number.is-finite":223,"../modules/es.number.is-integer":224,"../modules/es.number.is-nan":225,"../modules/es.number.is-safe-integer":226,"../modules/es.number.max-safe-integer":227,"../modules/es.number.min-safe-integer":228,"../modules/es.number.parse-float":229,"../modules/es.number.parse-int":230,"../modules/es.number.to-fixed":231,"../modules/es.number.to-precision":232,"../modules/es.object.assign":233,"../modules/es.object.create":234,"../modules/es.object.define-getter":235,"../modules/es.object.define-properties":236,"../modules/es.object.define-property":237,"../modules/es.object.define-setter":238,"../modules/es.object.entries":239,"../modules/es.object.freeze":240,"../modules/es.object.from-entries":241,"../modules/es.object.get-own-property-descriptor":242,"../modules/es.object.get-own-property-descriptors":243,"../modules/es.object.get-own-property-names":244,"../modules/es.object.get-prototype-of":245,"../modules/es.object.is":249,"../modules/es.object.is-extensible":246,"../modules/es.object.is-frozen":247,"../modules/es.object.is-sealed":248,"../modules/es.object.keys":250,"../modules/es.object.lookup-getter":251,"../modules/es.object.lookup-setter":252,"../modules/es.object.prevent-extensions":253,"../modules/es.object.seal":254,"../modules/es.object.set-prototype-of":255,"../modules/es.object.to-string":256,"../modules/es.object.values":257,"../modules/es.parse-float":258,"../modules/es.parse-int":259,"../modules/es.promise":262,"../modules/es.promise.all-settled":260,"../modules/es.promise.finally":261,"../modules/es.reflect.apply":263,"../modules/es.reflect.construct":264,"../modules/es.reflect.define-property":265,"../modules/es.reflect.delete-property":266,"../modules/es.reflect.get":269,"../modules/es.reflect.get-own-property-descriptor":267,"../modules/es.reflect.get-prototype-of":268,"../modules/es.reflect.has":270,"../modules/es.reflect.is-extensible":271,"../modules/es.reflect.own-keys":272,"../modules/es.reflect.prevent-extensions":273,"../modules/es.reflect.set":275,"../modules/es.reflect.set-prototype-of":274,"../modules/es.regexp.constructor":276,"../modules/es.regexp.exec":277,"../modules/es.regexp.flags":278,"../modules/es.regexp.sticky":279,"../modules/es.regexp.test":280,"../modules/es.regexp.to-string":281,"../modules/es.set":282,"../modules/es.string.anchor":283,"../modules/es.string.big":284,"../modules/es.string.blink":285,"../modules/es.string.bold":286,"../modules/es.string.code-point-at":287,"../modules/es.string.ends-with":288,"../modules/es.string.fixed":289,"../modules/es.string.fontcolor":290,"../modules/es.string.fontsize":291,"../modules/es.string.from-code-point":292,"../modules/es.string.includes":293,"../modules/es.string.italics":294,"../modules/es.string.iterator":295,"../modules/es.string.link":296,"../modules/es.string.match":298,"../modules/es.string.match-all":297,"../modules/es.string.pad-end":299,"../modules/es.string.pad-start":300,"../modules/es.string.raw":301,"../modules/es.string.repeat":302,"../modules/es.string.replace":303,"../modules/es.string.search":304,"../modules/es.string.small":305,"../modules/es.string.split":306,"../modules/es.string.starts-with":307,"../modules/es.string.strike":308,"../modules/es.string.sub":309,"../modules/es.string.sup":310,"../modules/es.string.trim":313,"../modules/es.string.trim-end":311,"../modules/es.string.trim-start":312,"../modules/es.symbol":319,"../modules/es.symbol.async-iterator":314,"../modules/es.symbol.description":315,"../modules/es.symbol.has-instance":316,"../modules/es.symbol.is-concat-spreadable":317,"../modules/es.symbol.iterator":318,"../modules/es.symbol.match":321,"../modules/es.symbol.match-all":320,"../modules/es.symbol.replace":322,"../modules/es.symbol.search":323,"../modules/es.symbol.species":324,"../modules/es.symbol.split":325,"../modules/es.symbol.to-primitive":326,"../modules/es.symbol.to-string-tag":327,"../modules/es.symbol.unscopables":328,"../modules/es.typed-array.copy-within":329,"../modules/es.typed-array.every":330,"../modules/es.typed-array.fill":331,"../modules/es.typed-array.filter":332,"../modules/es.typed-array.find":334,"../modules/es.typed-array.find-index":333,"../modules/es.typed-array.float32-array":335,"../modules/es.typed-array.float64-array":336,"../modules/es.typed-array.for-each":337,"../modules/es.typed-array.from":338,"../modules/es.typed-array.includes":339,"../modules/es.typed-array.index-of":340,"../modules/es.typed-array.int16-array":341,"../modules/es.typed-array.int32-array":342,"../modules/es.typed-array.int8-array":343,"../modules/es.typed-array.iterator":344,"../modules/es.typed-array.join":345,"../modules/es.typed-array.last-index-of":346,"../modules/es.typed-array.map":347,"../modules/es.typed-array.of":348,"../modules/es.typed-array.reduce":350,"../modules/es.typed-array.reduce-right":349,"../modules/es.typed-array.reverse":351,"../modules/es.typed-array.set":352,"../modules/es.typed-array.slice":353,"../modules/es.typed-array.some":354,"../modules/es.typed-array.sort":355,"../modules/es.typed-array.subarray":356,"../modules/es.typed-array.to-locale-string":357,"../modules/es.typed-array.to-string":358,"../modules/es.typed-array.uint16-array":359,"../modules/es.typed-array.uint32-array":360,"../modules/es.typed-array.uint8-array":361,"../modules/es.typed-array.uint8-clamped-array":362,"../modules/es.weak-map":363,"../modules/es.weak-set":364}],2:[function(require,module,exports){ +module.exports = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; +}; + +},{}],3:[function(require,module,exports){ +var isObject = require('../internals/is-object'); + +module.exports = function (it) { + if (!isObject(it) && it !== null) { + throw TypeError("Can't set " + String(it) + ' as a prototype'); + } return it; +}; + +},{"../internals/is-object":75}],4:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); +var create = require('../internals/object-create'); +var definePropertyModule = require('../internals/object-define-property'); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] == undefined) { + definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +},{"../internals/object-create":96,"../internals/object-define-property":98,"../internals/well-known-symbol":156}],5:[function(require,module,exports){ +'use strict'; +var charAt = require('../internals/string-multibyte').charAt; + +// `AdvanceStringIndex` abstract operation +// https://tc39.github.io/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + +},{"../internals/string-multibyte":131}],6:[function(require,module,exports){ +module.exports = function (it, Constructor, name) { + if (!(it instanceof Constructor)) { + throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); + } return it; +}; + +},{}],7:[function(require,module,exports){ +var isObject = require('../internals/is-object'); + +module.exports = function (it) { + if (!isObject(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; +}; + +},{"../internals/is-object":75}],8:[function(require,module,exports){ +module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined'; + +},{}],9:[function(require,module,exports){ +'use strict'; +var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native'); +var DESCRIPTORS = require('../internals/descriptors'); +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); +var has = require('../internals/has'); +var classof = require('../internals/classof'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var defineProperty = require('../internals/object-define-property').f; +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var uid = require('../internals/uid'); + +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = global.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var isPrototypeOf = ObjectPrototype.isPrototypeOf; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQIRED = false; +var NAME; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var isView = function isView(it) { + var klass = classof(it); + return klass === 'DataView' || has(TypedArrayConstructorsList, klass); +}; + +var isTypedArray = function (it) { + return isObject(it) && has(TypedArrayConstructorsList, classof(it)); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (setPrototypeOf) { + if (isPrototypeOf.call(TypedArray, C)) return C; + } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) { + var TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) { + return C; + } + } throw TypeError('Target is not a typed array constructor'); +}; + +var exportTypedArrayMethod = function (KEY, property, forced) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) { + delete TypedArrayConstructor.prototype[KEY]; + } + } + if (!TypedArrayPrototype[KEY] || forced) { + redefine(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property); + } +}; + +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) { + delete TypedArrayConstructor[KEY]; + } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + redefine(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow + TypedArray = function TypedArray() { + throw TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) setPrototypeOf(global[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQIRED = true; + defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } }); + for (NAME in TypedArrayConstructorsList) if (global[NAME]) { + createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + +},{"../internals/array-buffer-native":8,"../internals/classof":26,"../internals/create-non-enumerable-property":35,"../internals/descriptors":42,"../internals/global":59,"../internals/has":60,"../internals/is-object":75,"../internals/object-define-property":98,"../internals/object-get-prototype-of":103,"../internals/object-set-prototype-of":108,"../internals/redefine":116,"../internals/uid":153,"../internals/well-known-symbol":156}],10:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var DESCRIPTORS = require('../internals/descriptors'); +var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefineAll = require('../internals/redefine-all'); +var fails = require('../internals/fails'); +var anInstance = require('../internals/an-instance'); +var toInteger = require('../internals/to-integer'); +var toLength = require('../internals/to-length'); +var toIndex = require('../internals/to-index'); +var IEEE754 = require('../internals/ieee754'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var defineProperty = require('../internals/object-define-property').f; +var arrayFill = require('../internals/array-fill'); +var setToStringTag = require('../internals/set-to-string-tag'); +var InternalStateModule = require('../internals/internal-state'); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var NativeArrayBuffer = global[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var $DataView = global[DATA_VIEW]; +var $DataViewPrototype = $DataView && $DataView[PROTOTYPE]; +var ObjectPrototype = Object.prototype; +var RangeError = global.RangeError; + +var packIEEE754 = IEEE754.pack; +var unpackIEEE754 = IEEE754.unpack; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packFloat32 = function (number) { + return packIEEE754(number, 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key) { + defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } }); +}; + +var get = function (view, count, index, isLittleEndian) { + var intIndex = toIndex(index); + var store = getInternalState(view); + if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); + var bytes = getInternalState(store.buffer).bytes; + var start = intIndex + store.byteOffset; + var pack = bytes.slice(start, start + count); + return isLittleEndian ? pack : pack.reverse(); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var intIndex = toIndex(index); + var store = getInternalState(view); + if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); + var bytes = getInternalState(store.buffer).bytes; + var start = intIndex + store.byteOffset; + var pack = conversion(+value); + for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + setInternalState(this, { + bytes: arrayFill.call(new Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) this.byteLength = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = getInternalState(buffer).byteLength; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + setInternalState(this, { + buffer: buffer, + byteLength: byteLength, + byteOffset: offset + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength'); + addGetter($DataView, 'buffer'); + addGetter($DataView, 'byteLength'); + addGetter($DataView, 'byteOffset'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); + } + }); +} else { + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new NativeArrayBuffer(); // eslint-disable-line no-new + new NativeArrayBuffer(1.5); // eslint-disable-line no-new + new NativeArrayBuffer(NaN); // eslint-disable-line no-new + return NativeArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new NativeArrayBuffer(toIndex(length)); + }; + var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE]; + for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) { + createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]); + } + } + ArrayBufferPrototype.constructor = $ArrayBuffer; + } + + // WebKit bug - the same parent prototype for typed arrays and data view + if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf($DataViewPrototype, ObjectPrototype); + } + + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var nativeSetInt8 = $DataViewPrototype.setInt8; + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, { + setInt8: function setInt8(byteOffset, value) { + nativeSetInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + nativeSetInt8.call(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + +},{"../internals/an-instance":6,"../internals/array-buffer-native":8,"../internals/array-fill":12,"../internals/create-non-enumerable-property":35,"../internals/descriptors":42,"../internals/fails":50,"../internals/global":59,"../internals/ieee754":65,"../internals/internal-state":70,"../internals/object-define-property":98,"../internals/object-get-own-property-names":101,"../internals/object-get-prototype-of":103,"../internals/object-set-prototype-of":108,"../internals/redefine-all":115,"../internals/set-to-string-tag":125,"../internals/to-index":141,"../internals/to-integer":143,"../internals/to-length":144}],11:[function(require,module,exports){ +'use strict'; +var toObject = require('../internals/to-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toLength = require('../internals/to-length'); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = toLength(O.length); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; + +},{"../internals/to-absolute-index":140,"../internals/to-length":144,"../internals/to-object":145}],12:[function(require,module,exports){ +'use strict'; +var toObject = require('../internals/to-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toLength = require('../internals/to-length'); + +// `Array.prototype.fill` method implementation +// https://tc39.github.io/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + +},{"../internals/to-absolute-index":140,"../internals/to-length":144,"../internals/to-object":145}],13:[function(require,module,exports){ +'use strict'; +var $forEach = require('../internals/array-iteration').forEach; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); +var USES_TO_LENGTH = arrayMethodUsesToLength('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.github.io/ecma262/#sec-array.prototype.foreach +module.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +} : [].forEach; + +},{"../internals/array-iteration":16,"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20}],14:[function(require,module,exports){ +'use strict'; +var bind = require('../internals/function-bind-context'); +var toObject = require('../internals/to-object'); +var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); +var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); +var toLength = require('../internals/to-length'); +var createProperty = require('../internals/create-property'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +// `Array.from` method implementation +// https://tc39.github.io/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = iteratorMethod.call(O); + next = iterator.next; + result = new C(); + for (;!(step = next.call(iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = toLength(O.length); + result = new C(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + +},{"../internals/call-with-safe-iteration-closing":23,"../internals/create-property":37,"../internals/function-bind-context":54,"../internals/get-iterator-method":57,"../internals/is-array-iterator-method":71,"../internals/to-length":144,"../internals/to-object":145}],15:[function(require,module,exports){ +var toIndexedObject = require('../internals/to-indexed-object'); +var toLength = require('../internals/to-length'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.github.io/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.github.io/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + +},{"../internals/to-absolute-index":140,"../internals/to-indexed-object":142,"../internals/to-length":144}],16:[function(require,module,exports){ +var bind = require('../internals/function-bind-context'); +var IndexedObject = require('../internals/indexed-object'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var arraySpeciesCreate = require('../internals/array-species-create'); + +var push = [].push; + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push.call(target, value); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.github.io/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.github.io/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.github.io/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.github.io/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.github.io/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.github.io/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6) +}; + +},{"../internals/array-species-create":22,"../internals/function-bind-context":54,"../internals/indexed-object":66,"../internals/to-length":144,"../internals/to-object":145}],17:[function(require,module,exports){ +'use strict'; +var toIndexedObject = require('../internals/to-indexed-object'); +var toInteger = require('../internals/to-integer'); +var toLength = require('../internals/to-length'); +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var min = Math.min; +var nativeLastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); +// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method +var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); +var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH; + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof +module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0; + var O = toIndexedObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : nativeLastIndexOf; + +},{"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/to-indexed-object":142,"../internals/to-integer":143,"../internals/to-length":144}],18:[function(require,module,exports){ +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/engine-v8-version'); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + +},{"../internals/engine-v8-version":47,"../internals/fails":50,"../internals/well-known-symbol":156}],19:[function(require,module,exports){ +'use strict'; +var fails = require('../internals/fails'); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + +},{"../internals/fails":50}],20:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var fails = require('../internals/fails'); +var has = require('../internals/has'); + +var defineProperty = Object.defineProperty; +var cache = {}; + +var thrower = function (it) { throw it; }; + +module.exports = function (METHOD_NAME, options) { + if (has(cache, METHOD_NAME)) return cache[METHOD_NAME]; + if (!options) options = {}; + var method = [][METHOD_NAME]; + var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false; + var argument0 = has(options, 0) ? options[0] : thrower; + var argument1 = has(options, 1) ? options[1] : undefined; + + return cache[METHOD_NAME] = !!method && !fails(function () { + if (ACCESSORS && !DESCRIPTORS) return true; + var O = { length: -1 }; + + if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower }); + else O[1] = 1; + + method.call(O, argument0, argument1); + }); +}; + +},{"../internals/descriptors":42,"../internals/fails":50,"../internals/has":60}],21:[function(require,module,exports){ +var aFunction = require('../internals/a-function'); +var toObject = require('../internals/to-object'); +var IndexedObject = require('../internals/indexed-object'); +var toLength = require('../internals/to-length'); + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + aFunction(callbackfn); + var O = toObject(that); + var self = IndexedObject(O); + var length = toLength(O.length); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.github.io/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + +},{"../internals/a-function":2,"../internals/indexed-object":66,"../internals/to-length":144,"../internals/to-object":145}],22:[function(require,module,exports){ +var isObject = require('../internals/is-object'); +var isArray = require('../internals/is-array'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var SPECIES = wellKnownSymbol('species'); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.github.io/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); +}; + +},{"../internals/is-array":72,"../internals/is-object":75,"../internals/well-known-symbol":156}],23:[function(require,module,exports){ +var anObject = require('../internals/an-object'); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (error) { + var returnMethod = iterator['return']; + if (returnMethod !== undefined) anObject(returnMethod.call(iterator)); + throw error; + } +}; + +},{"../internals/an-object":7}],24:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line no-throw-literal + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + +},{"../internals/well-known-symbol":156}],25:[function(require,module,exports){ +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + +},{}],26:[function(require,module,exports){ +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var classofRaw = require('../internals/classof-raw'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; +}; + +},{"../internals/classof-raw":25,"../internals/to-string-tag-support":149,"../internals/well-known-symbol":156}],27:[function(require,module,exports){ +'use strict'; +var defineProperty = require('../internals/object-define-property').f; +var create = require('../internals/object-create'); +var redefineAll = require('../internals/redefine-all'); +var bind = require('../internals/function-bind-context'); +var anInstance = require('../internals/an-instance'); +var iterate = require('../internals/iterate'); +var defineIterator = require('../internals/define-iterator'); +var setSpecies = require('../internals/set-species'); +var DESCRIPTORS = require('../internals/descriptors'); +var fastKey = require('../internals/internal-metadata').fastKey; +var InternalStateModule = require('../internals/internal-state'); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, CONSTRUCTOR_NAME); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: undefined, + last: undefined, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); + }); + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: undefined, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key == key) return entry; + } + }; + + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + var that = this; + var state = getInternalState(that); + var data = state.index; + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = undefined; + delete data[entry.index]; + entry = entry.next; + } + state.first = state.last = undefined; + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first == entry) state.first = next; + if (state.last == entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(this, key); + } + }); + + redefineAll(C.prototype, IS_MAP ? { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineProperty(C.prototype, 'size', { + get: function () { + return getInternalState(this).size; + } + }); + return C; + }, + setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // add .keys, .values, .entries, [@@iterator] + // 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 + defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: undefined + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = undefined; + return { value: undefined, done: true }; + } + // return step by kind + if (kind == 'keys') return { value: entry.key, done: false }; + if (kind == 'values') return { value: entry.value, done: false }; + return { value: [entry.key, entry.value], done: false }; + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(CONSTRUCTOR_NAME); + } +}; + +},{"../internals/an-instance":6,"../internals/define-iterator":40,"../internals/descriptors":42,"../internals/function-bind-context":54,"../internals/internal-metadata":69,"../internals/internal-state":70,"../internals/iterate":78,"../internals/object-create":96,"../internals/object-define-property":98,"../internals/redefine-all":115,"../internals/set-species":124}],28:[function(require,module,exports){ +'use strict'; +var redefineAll = require('../internals/redefine-all'); +var getWeakData = require('../internals/internal-metadata').getWeakData; +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var anInstance = require('../internals/an-instance'); +var iterate = require('../internals/iterate'); +var ArrayIterationModule = require('../internals/array-iteration'); +var $has = require('../internals/has'); +var InternalStateModule = require('../internals/internal-state'); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (store) { + return store.frozen || (store.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) this.entries.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, CONSTRUCTOR_NAME); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: undefined + }); + if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); + }); + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && $has(data, state.id) && delete data[state.id]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && $has(data, state.id); + } + }); + + redefineAll(C.prototype, IS_MAP ? { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + return data ? data[state.id] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return define(this, key, value); + } + } : { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return define(this, value, true); + } + }); + + return C; + } +}; + +},{"../internals/an-instance":6,"../internals/an-object":7,"../internals/array-iteration":16,"../internals/has":60,"../internals/internal-metadata":69,"../internals/internal-state":70,"../internals/is-object":75,"../internals/iterate":78,"../internals/redefine-all":115}],29:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var isForced = require('../internals/is-forced'); +var redefine = require('../internals/redefine'); +var InternalMetadataModule = require('../internals/internal-metadata'); +var iterate = require('../internals/iterate'); +var anInstance = require('../internals/an-instance'); +var isObject = require('../internals/is-object'); +var fails = require('../internals/fails'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); +var setToStringTag = require('../internals/set-to-string-tag'); +var inheritIfRequired = require('../internals/inherit-if-required'); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = global[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + + var fixMethod = function (KEY) { + var nativeMethod = NativePrototype[KEY]; + redefine(NativePrototype, KEY, + KEY == 'add' ? function add(value) { + nativeMethod.call(this, value === 0 ? 0 : value); + return this; + } : KEY == 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); + } : KEY == 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); + } : KEY == 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); + } : function set(key, value) { + nativeMethod.call(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + // eslint-disable-next-line max-len + if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })))) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.REQUIRED = true; + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, Constructor, CONSTRUCTOR_NAME); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, forced: Constructor != NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + +},{"../internals/an-instance":6,"../internals/check-correctness-of-iteration":24,"../internals/export":49,"../internals/fails":50,"../internals/global":59,"../internals/inherit-if-required":67,"../internals/internal-metadata":69,"../internals/is-forced":73,"../internals/is-object":75,"../internals/iterate":78,"../internals/redefine":116,"../internals/set-to-string-tag":125}],30:[function(require,module,exports){ +var has = require('../internals/has'); +var ownKeys = require('../internals/own-keys'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var definePropertyModule = require('../internals/object-define-property'); + +module.exports = function (target, source) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } +}; + +},{"../internals/has":60,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/own-keys":111}],31:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (e) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (f) { /* empty */ } + } return false; +}; + +},{"../internals/well-known-symbol":156}],32:[function(require,module,exports){ +var fails = require('../internals/fails'); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +},{"../internals/fails":50}],33:[function(require,module,exports){ +var requireObjectCoercible = require('../internals/require-object-coercible'); + +var quot = /"/g; + +// B.2.3.2.1 CreateHTML(string, tag, attribute, value) +// https://tc39.github.io/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = String(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + '</' + tag + '>'; +}; + +},{"../internals/require-object-coercible":121}],34:[function(require,module,exports){ +'use strict'; +var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; +var create = require('../internals/object-create'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var setToStringTag = require('../internals/set-to-string-tag'); +var Iterators = require('../internals/iterators'); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + +},{"../internals/create-property-descriptor":36,"../internals/iterators":80,"../internals/iterators-core":79,"../internals/object-create":96,"../internals/set-to-string-tag":125}],35:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var definePropertyModule = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +},{"../internals/create-property-descriptor":36,"../internals/descriptors":42,"../internals/object-define-property":98}],36:[function(require,module,exports){ +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +},{}],37:[function(require,module,exports){ +'use strict'; +var toPrimitive = require('../internals/to-primitive'); +var definePropertyModule = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +module.exports = function (object, key, value) { + var propertyKey = toPrimitive(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + +},{"../internals/create-property-descriptor":36,"../internals/object-define-property":98,"../internals/to-primitive":148}],38:[function(require,module,exports){ +'use strict'; +var fails = require('../internals/fails'); +var padStart = require('../internals/string-pad').start; + +var abs = Math.abs; +var DatePrototype = Date.prototype; +var getTime = DatePrototype.getTime; +var nativeDateToISOString = DatePrototype.toISOString; + +// `Date.prototype.toISOString` method implementation +// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var date = this; + var year = date.getUTCFullYear(); + var milliseconds = date.getUTCMilliseconds(); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(date.getUTCMonth() + 1, 2, 0) + + '-' + padStart(date.getUTCDate(), 2, 0) + + 'T' + padStart(date.getUTCHours(), 2, 0) + + ':' + padStart(date.getUTCMinutes(), 2, 0) + + ':' + padStart(date.getUTCSeconds(), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + +},{"../internals/fails":50,"../internals/string-pad":133}],39:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); +var toPrimitive = require('../internals/to-primitive'); + +module.exports = function (hint) { + if (hint !== 'string' && hint !== 'number' && hint !== 'default') { + throw TypeError('Incorrect hint'); + } return toPrimitive(anObject(this), hint !== 'number'); +}; + +},{"../internals/an-object":7,"../internals/to-primitive":148}],40:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var setToStringTag = require('../internals/set-to-string-tag'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); +var Iterators = require('../internals/iterators'); +var IteratorsCore = require('../internals/iterators-core'); + +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { + createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return nativeIterator.call(this); }; + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); + } + Iterators[NAME] = defaultIterator; + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + return methods; +}; + +},{"../internals/create-iterator-constructor":34,"../internals/create-non-enumerable-property":35,"../internals/export":49,"../internals/is-pure":76,"../internals/iterators":80,"../internals/iterators-core":79,"../internals/object-get-prototype-of":103,"../internals/object-set-prototype-of":108,"../internals/redefine":116,"../internals/set-to-string-tag":125,"../internals/well-known-symbol":156}],41:[function(require,module,exports){ +var path = require('../internals/path'); +var has = require('../internals/has'); +var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped'); +var defineProperty = require('../internals/object-define-property').f; + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + +},{"../internals/has":60,"../internals/object-define-property":98,"../internals/path":112,"../internals/well-known-symbol-wrapped":155}],42:[function(require,module,exports){ +var fails = require('../internals/fails'); + +// Thank's IE8 for his funny defineProperty +module.exports = !fails(function () { + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; +}); + +},{"../internals/fails":50}],43:[function(require,module,exports){ +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); + +var document = global.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +},{"../internals/global":59,"../internals/is-object":75}],44:[function(require,module,exports){ +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + +},{}],45:[function(require,module,exports){ +var userAgent = require('../internals/engine-user-agent'); + +module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent); + +},{"../internals/engine-user-agent":46}],46:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); + +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + +},{"../internals/get-built-in":56}],47:[function(require,module,exports){ +var global = require('../internals/global'); +var userAgent = require('../internals/engine-user-agent'); + +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + version = match[0] + match[1]; +} else if (userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = match[1]; + } +} + +module.exports = version && +version; + +},{"../internals/engine-user-agent":46,"../internals/global":59}],48:[function(require,module,exports){ +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +},{}],49:[function(require,module,exports){ +var global = require('../internals/global'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var setGlobal = require('../internals/set-global'); +var copyConstructorProperties = require('../internals/copy-constructor-properties'); +var isForced = require('../internals/is-forced'); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty === typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } +}; + +},{"../internals/copy-constructor-properties":30,"../internals/create-non-enumerable-property":35,"../internals/global":59,"../internals/is-forced":73,"../internals/object-get-own-property-descriptor":99,"../internals/redefine":116,"../internals/set-global":123}],50:[function(require,module,exports){ +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +},{}],51:[function(require,module,exports){ +'use strict'; +// TODO: Remove from `core-js@4` since it's moved to entry points +require('../modules/es.regexp.exec'); +var redefine = require('../internals/redefine'); +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var regexpExec = require('../internals/regexp-exec'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); + +var SPECIES = wellKnownSymbol('species'); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + // #replace needs built-in support for named groups. + // #match works fine because it just return the exec results, even if it has + // a "grops" property. + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + return ''.replace(re, '$<a>') !== '7'; +}); + +// IE <= 11 replaces $0 with the whole match, as if it was $& +// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 +var REPLACE_KEEPS_$0 = (function () { + return 'a'.replace(/./, '$0') === '$0'; +})(); + +var REPLACE = wellKnownSymbol('replace'); +// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string +var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { + if (/./[REPLACE]) { + return /./[REPLACE]('a', '$0') === ''; + } + return false; +})(); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +module.exports = function (KEY, length, exec, sham) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegEp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) != 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { execCalled = true; return null; }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + (KEY === 'replace' && !( + REPLACE_SUPPORTS_NAMED_GROUPS && + REPLACE_KEEPS_$0 && + !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE + )) || + (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + if (regexp.exec === regexpExec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; + } + return { done: true, value: nativeMethod.call(str, regexp, arg2) }; + } + return { done: false }; + }, { + REPLACE_KEEPS_$0: REPLACE_KEEPS_$0, + REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE + }); + var stringMethod = methods[0]; + var regexMethod = methods[1]; + + redefine(String.prototype, KEY, stringMethod); + redefine(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function (string, arg) { return regexMethod.call(string, this, arg); } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function (string) { return regexMethod.call(string, this); } + ); + } + + if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); +}; + +},{"../internals/create-non-enumerable-property":35,"../internals/fails":50,"../internals/redefine":116,"../internals/regexp-exec":118,"../internals/well-known-symbol":156,"../modules/es.regexp.exec":277}],52:[function(require,module,exports){ +'use strict'; +var isArray = require('../internals/is-array'); +var toLength = require('../internals/to-length'); +var bind = require('../internals/function-bind-context'); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg, 3) : false; + var element; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + +},{"../internals/function-bind-context":54,"../internals/is-array":72,"../internals/to-length":144}],53:[function(require,module,exports){ +var fails = require('../internals/fails'); + +module.exports = !fails(function () { + return Object.isExtensible(Object.preventExtensions({})); +}); + +},{"../internals/fails":50}],54:[function(require,module,exports){ +var aFunction = require('../internals/a-function'); + +// optional / simple context binding +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +},{"../internals/a-function":2}],55:[function(require,module,exports){ +'use strict'; +var aFunction = require('../internals/a-function'); +var isObject = require('../internals/is-object'); + +var slice = [].slice; +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!(argsLength in factories)) { + for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func + factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.github.io/ecma262/#sec-function.prototype.bind +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = slice.call(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = partArgs.concat(slice.call(arguments)); + return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args); + }; + if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype; + return boundFunction; +}; + +},{"../internals/a-function":2,"../internals/is-object":75}],56:[function(require,module,exports){ +var path = require('../internals/path'); +var global = require('../internals/global'); + +var aFunction = function (variable) { + return typeof variable == 'function' ? variable : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) + : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; +}; + +},{"../internals/global":59,"../internals/path":112}],57:[function(require,module,exports){ +var classof = require('../internals/classof'); +var Iterators = require('../internals/iterators'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; + +},{"../internals/classof":26,"../internals/iterators":80,"../internals/well-known-symbol":156}],58:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +module.exports = function (it) { + var iteratorMethod = getIteratorMethod(it); + if (typeof iteratorMethod != 'function') { + throw TypeError(String(it) + ' is not iterable'); + } return anObject(iteratorMethod.call(it)); +}; + +},{"../internals/an-object":7,"../internals/get-iterator-method":57}],59:[function(require,module,exports){ +(function (global){(function (){ +var check = function (it) { + return it && it.Math == Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line no-undef + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + // eslint-disable-next-line no-new-func + Function('return this')(); + +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],60:[function(require,module,exports){ +var hasOwnProperty = {}.hasOwnProperty; + +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + +},{}],61:[function(require,module,exports){ +module.exports = {}; + +},{}],62:[function(require,module,exports){ +var global = require('../internals/global'); + +module.exports = function (a, b) { + var console = global.console; + if (console && console.error) { + arguments.length === 1 ? console.error(a) : console.error(a, b); + } +}; + +},{"../internals/global":59}],63:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); + +module.exports = getBuiltIn('document', 'documentElement'); + +},{"../internals/get-built-in":56}],64:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var fails = require('../internals/fails'); +var createElement = require('../internals/document-create-element'); + +// Thank's IE8 for his funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + +},{"../internals/descriptors":42,"../internals/document-create-element":43,"../internals/fails":50}],65:[function(require,module,exports){ +// IEEE754 conversions based on https://github.com/feross/ieee754 +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = 1 / 0; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +var pack = function (number, mantissaLength, bytes) { + var buffer = new Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare + if (number != number || number === Infinity) { + // eslint-disable-next-line no-self-compare + mantissa = number != number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + if (number * (c = pow(2, -exponent)) < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent = exponent + eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8); + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8); + buffer[--index] |= sign * 128; + return buffer; +}; + +var unpack = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8); + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8); + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa = mantissa + pow(2, mantissaLength); + exponent = exponent - eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +module.exports = { + pack: pack, + unpack: unpack +}; + +},{}],66:[function(require,module,exports){ +var fails = require('../internals/fails'); +var classof = require('../internals/classof-raw'); + +var split = ''.split; + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split.call(it, '') : Object(it); +} : Object; + +},{"../internals/classof-raw":25,"../internals/fails":50}],67:[function(require,module,exports){ +var isObject = require('../internals/is-object'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + typeof (NewTarget = dummy.constructor) == 'function' && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + +},{"../internals/is-object":75,"../internals/object-set-prototype-of":108}],68:[function(require,module,exports){ +var store = require('../internals/shared-store'); + +var functionToString = Function.toString; + +// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper +if (typeof store.inspectSource != 'function') { + store.inspectSource = function (it) { + return functionToString.call(it); + }; +} + +module.exports = store.inspectSource; + +},{"../internals/shared-store":127}],69:[function(require,module,exports){ +var hiddenKeys = require('../internals/hidden-keys'); +var isObject = require('../internals/is-object'); +var has = require('../internals/has'); +var defineProperty = require('../internals/object-define-property').f; +var uid = require('../internals/uid'); +var FREEZING = require('../internals/freezing'); + +var METADATA = uid('meta'); +var id = 0; + +var isExtensible = Object.isExtensible || function () { + return true; +}; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + ++id, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!has(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it); + return it; +}; + +var meta = module.exports = { + REQUIRED: false, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + +},{"../internals/freezing":53,"../internals/has":60,"../internals/hidden-keys":61,"../internals/is-object":75,"../internals/object-define-property":98,"../internals/uid":153}],70:[function(require,module,exports){ +var NATIVE_WEAK_MAP = require('../internals/native-weak-map'); +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var objectHas = require('../internals/has'); +var sharedKey = require('../internals/shared-key'); +var hiddenKeys = require('../internals/hidden-keys'); + +var WeakMap = global.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP) { + var store = new WeakMap(); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function (it, metadata) { + wmset.call(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget.call(store, it) || {}; + }; + has = function (it) { + return wmhas.call(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return objectHas(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return objectHas(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +},{"../internals/create-non-enumerable-property":35,"../internals/global":59,"../internals/has":60,"../internals/hidden-keys":61,"../internals/is-object":75,"../internals/native-weak-map":89,"../internals/shared-key":126}],71:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); +var Iterators = require('../internals/iterators'); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +},{"../internals/iterators":80,"../internals/well-known-symbol":156}],72:[function(require,module,exports){ +var classof = require('../internals/classof-raw'); + +// `IsArray` abstract operation +// https://tc39.github.io/ecma262/#sec-isarray +module.exports = Array.isArray || function isArray(arg) { + return classof(arg) == 'Array'; +}; + +},{"../internals/classof-raw":25}],73:[function(require,module,exports){ +var fails = require('../internals/fails'); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + +},{"../internals/fails":50}],74:[function(require,module,exports){ +var isObject = require('../internals/is-object'); + +var floor = Math.floor; + +// `Number.isInteger` method implementation +// https://tc39.github.io/ecma262/#sec-number.isinteger +module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + +},{"../internals/is-object":75}],75:[function(require,module,exports){ +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +},{}],76:[function(require,module,exports){ +module.exports = false; + +},{}],77:[function(require,module,exports){ +var isObject = require('../internals/is-object'); +var classof = require('../internals/classof-raw'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.github.io/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); +}; + +},{"../internals/classof-raw":25,"../internals/is-object":75,"../internals/well-known-symbol":156}],78:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); +var toLength = require('../internals/to-length'); +var bind = require('../internals/function-bind-context'); +var getIteratorMethod = require('../internals/get-iterator-method'); +var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) { + var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1); + var iterator, iterFn, index, length, result, next, step; + + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = toLength(iterable.length); length > index; index++) { + result = AS_ENTRIES + ? boundFunction(anObject(step = iterable[index])[0], step[1]) + : boundFunction(iterable[index]); + if (result && result instanceof Result) return result; + } return new Result(false); + } + iterator = iterFn.call(iterable); + } + + next = iterator.next; + while (!(step = next.call(iterator)).done) { + result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES); + if (typeof result == 'object' && result && result instanceof Result) return result; + } return new Result(false); +}; + +iterate.stop = function (result) { + return new Result(true, result); +}; + +},{"../internals/an-object":7,"../internals/call-with-safe-iteration-closing":23,"../internals/function-bind-context":54,"../internals/get-iterator-method":57,"../internals/is-array-iterator-method":71,"../internals/to-length":144}],79:[function(require,module,exports){ +'use strict'; +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var has = require('../internals/has'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +var returnThis = function () { return this; }; + +// `%IteratorPrototype%` object +// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +if (IteratorPrototype == undefined) IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) { + createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + +},{"../internals/create-non-enumerable-property":35,"../internals/has":60,"../internals/is-pure":76,"../internals/object-get-prototype-of":103,"../internals/well-known-symbol":156}],80:[function(require,module,exports){ +arguments[4][61][0].apply(exports,arguments) +},{"dup":61}],81:[function(require,module,exports){ +var nativeExpm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.github.io/ecma262/#sec-math.expm1 +module.exports = (!nativeExpm1 + // Old FF bug + || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 + // Tor Browser bug + || nativeExpm1(-2e-17) != -2e-17 +) ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1; +} : nativeExpm1; + +},{}],82:[function(require,module,exports){ +var sign = require('../internals/math-sign'); + +var abs = Math.abs; +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +// `Math.fround` method implementation +// https://tc39.github.io/ecma262/#sec-math.fround +module.exports = Math.fround || function fround(x) { + var $abs = abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; + +},{"../internals/math-sign":84}],83:[function(require,module,exports){ +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.github.io/ecma262/#sec-math.log1p +module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x); +}; + +},{}],84:[function(require,module,exports){ +// `Math.sign` method implementation +// https://tc39.github.io/ecma262/#sec-math.sign +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; + +},{}],85:[function(require,module,exports){ +var global = require('../internals/global'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var classof = require('../internals/classof-raw'); +var macrotask = require('../internals/task').set; +var IS_IOS = require('../internals/engine-is-ios'); + +var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var IS_NODE = classof(process) == 'process'; +// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` +var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); +var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; + +var flush, head, last, notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!queueMicrotask) { + flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (error) { + if (head) notify(); + else last = undefined; + throw error; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + } else if (MutationObserver && !IS_IOS) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + then = promise.then; + notify = function () { + then.call(promise, flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } +} + +module.exports = queueMicrotask || function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; +}; + +},{"../internals/classof-raw":25,"../internals/engine-is-ios":45,"../internals/global":59,"../internals/object-get-own-property-descriptor":99,"../internals/task":138}],86:[function(require,module,exports){ +var global = require('../internals/global'); + +module.exports = global.Promise; + +},{"../internals/global":59}],87:[function(require,module,exports){ +var fails = require('../internals/fails'); + +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + // Chrome 38 Symbol has incorrect toString conversion + // eslint-disable-next-line no-undef + return !String(Symbol()); +}); + +},{"../internals/fails":50}],88:[function(require,module,exports){ +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + var url = new URL('b?a=1&b=2&c=3', 'http://a'); + var searchParams = url.searchParams; + var result = ''; + url.pathname = 'c%20d'; + searchParams.forEach(function (value, key) { + searchParams['delete']('b'); + result += key + value; + }); + return (IS_PURE && !url.toJSON) + || !searchParams.sort + || url.href !== 'http://a/c%20d?a=1&c=3' + || searchParams.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !searchParams[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('http://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('http://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('http://x', undefined).host !== 'x'; +}); + +},{"../internals/fails":50,"../internals/is-pure":76,"../internals/well-known-symbol":156}],89:[function(require,module,exports){ +var global = require('../internals/global'); +var inspectSource = require('../internals/inspect-source'); + +var WeakMap = global.WeakMap; + +module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); + +},{"../internals/global":59,"../internals/inspect-source":68}],90:[function(require,module,exports){ +'use strict'; +var aFunction = require('../internals/a-function'); + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +}; + +// 25.4.1.5 NewPromiseCapability(C) +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + +},{"../internals/a-function":2}],91:[function(require,module,exports){ +var isRegExp = require('../internals/is-regexp'); + +module.exports = function (it) { + if (isRegExp(it)) { + throw TypeError("The method doesn't accept regular expressions"); + } return it; +}; + +},{"../internals/is-regexp":77}],92:[function(require,module,exports){ +var global = require('../internals/global'); + +var globalIsFinite = global.isFinite; + +// `Number.isFinite` method +// https://tc39.github.io/ecma262/#sec-number.isfinite +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + +},{"../internals/global":59}],93:[function(require,module,exports){ +var global = require('../internals/global'); +var trim = require('../internals/string-trim').trim; +var whitespaces = require('../internals/whitespaces'); + +var $parseFloat = global.parseFloat; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity; + +// `parseFloat` method +// https://tc39.github.io/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(String(string)); + var result = $parseFloat(trimmedString); + return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result; +} : $parseFloat; + +},{"../internals/global":59,"../internals/string-trim":137,"../internals/whitespaces":157}],94:[function(require,module,exports){ +var global = require('../internals/global'); +var trim = require('../internals/string-trim').trim; +var whitespaces = require('../internals/whitespaces'); + +var $parseInt = global.parseInt; +var hex = /^[+-]?0[Xx]/; +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22; + +// `parseInt` method +// https://tc39.github.io/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(String(string)); + return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); +} : $parseInt; + +},{"../internals/global":59,"../internals/string-trim":137,"../internals/whitespaces":157}],95:[function(require,module,exports){ +'use strict'; +var DESCRIPTORS = require('../internals/descriptors'); +var fails = require('../internals/fails'); +var objectKeys = require('../internals/object-keys'); +var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var toObject = require('../internals/to-object'); +var IndexedObject = require('../internals/indexed-object'); + +var nativeAssign = Object.assign; +var defineProperty = Object.defineProperty; + +// `Object.assign` method +// https://tc39.github.io/ecma262/#sec-object.assign +module.exports = !nativeAssign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var symbol = Symbol(); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; + } + } return T; +} : nativeAssign; + +},{"../internals/descriptors":42,"../internals/fails":50,"../internals/indexed-object":66,"../internals/object-get-own-property-symbols":102,"../internals/object-keys":105,"../internals/object-property-is-enumerable":106,"../internals/to-object":145}],96:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var defineProperties = require('../internals/object-define-properties'); +var enumBugKeys = require('../internals/enum-bug-keys'); +var hiddenKeys = require('../internals/hidden-keys'); +var html = require('../internals/html'); +var documentCreateElement = require('../internals/document-create-element'); +var sharedKey = require('../internals/shared-key'); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; // avoid memory leak + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + /* global ActiveXObject */ + activeXDocument = document.domain && new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.github.io/ecma262/#sec-object.create +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + +},{"../internals/an-object":7,"../internals/document-create-element":43,"../internals/enum-bug-keys":48,"../internals/hidden-keys":61,"../internals/html":63,"../internals/object-define-properties":97,"../internals/shared-key":126}],97:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var definePropertyModule = require('../internals/object-define-property'); +var anObject = require('../internals/an-object'); +var objectKeys = require('../internals/object-keys'); + +// `Object.defineProperties` method +// https://tc39.github.io/ecma262/#sec-object.defineproperties +module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); + return O; +}; + +},{"../internals/an-object":7,"../internals/descriptors":42,"../internals/object-define-property":98,"../internals/object-keys":105}],98:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); +var anObject = require('../internals/an-object'); +var toPrimitive = require('../internals/to-primitive'); + +var nativeDefineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.github.io/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return nativeDefineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +},{"../internals/an-object":7,"../internals/descriptors":42,"../internals/ie8-dom-define":64,"../internals/to-primitive":148}],99:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toPrimitive = require('../internals/to-primitive'); +var has = require('../internals/has'); +var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); + +var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return nativeGetOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); +}; + +},{"../internals/create-property-descriptor":36,"../internals/descriptors":42,"../internals/has":60,"../internals/ie8-dom-define":64,"../internals/object-property-is-enumerable":106,"../internals/to-indexed-object":142,"../internals/to-primitive":148}],100:[function(require,module,exports){ +var toIndexedObject = require('../internals/to-indexed-object'); +var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f; + +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return nativeGetOwnPropertyNames(it); + } catch (error) { + return windowNames.slice(); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' + ? getWindowNames(it) + : nativeGetOwnPropertyNames(toIndexedObject(it)); +}; + +},{"../internals/object-get-own-property-names":101,"../internals/to-indexed-object":142}],101:[function(require,module,exports){ +var internalObjectKeys = require('../internals/object-keys-internal'); +var enumBugKeys = require('../internals/enum-bug-keys'); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertynames +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +},{"../internals/enum-bug-keys":48,"../internals/object-keys-internal":104}],102:[function(require,module,exports){ +exports.f = Object.getOwnPropertySymbols; + +},{}],103:[function(require,module,exports){ +var has = require('../internals/has'); +var toObject = require('../internals/to-object'); +var sharedKey = require('../internals/shared-key'); +var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); + +var IE_PROTO = sharedKey('IE_PROTO'); +var ObjectPrototype = Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-object.getprototypeof +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectPrototype : null; +}; + +},{"../internals/correct-prototype-getter":32,"../internals/has":60,"../internals/shared-key":126,"../internals/to-object":145}],104:[function(require,module,exports){ +var has = require('../internals/has'); +var toIndexedObject = require('../internals/to-indexed-object'); +var indexOf = require('../internals/array-includes').indexOf; +var hiddenKeys = require('../internals/hidden-keys'); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~indexOf(result, key) || result.push(key); + } + return result; +}; + +},{"../internals/array-includes":15,"../internals/has":60,"../internals/hidden-keys":61,"../internals/to-indexed-object":142}],105:[function(require,module,exports){ +var internalObjectKeys = require('../internals/object-keys-internal'); +var enumBugKeys = require('../internals/enum-bug-keys'); + +// `Object.keys` method +// https://tc39.github.io/ecma262/#sec-object.keys +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +},{"../internals/enum-bug-keys":48,"../internals/object-keys-internal":104}],106:[function(require,module,exports){ +'use strict'; +var nativePropertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : nativePropertyIsEnumerable; + +},{}],107:[function(require,module,exports){ +'use strict'; +var IS_PURE = require('../internals/is-pure'); +var global = require('../internals/global'); +var fails = require('../internals/fails'); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + var key = Math.random(); + // In FF throws only define methods + // eslint-disable-next-line no-undef, no-useless-call + __defineSetter__.call(null, key, function () { /* empty */ }); + delete global[key]; +}); + +},{"../internals/fails":50,"../internals/global":59,"../internals/is-pure":76}],108:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var aPossiblePrototype = require('../internals/a-possible-prototype'); + +// `Object.setPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; + setter.call(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) setter.call(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + +},{"../internals/a-possible-prototype":3,"../internals/an-object":7}],109:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var objectKeys = require('../internals/object-keys'); +var toIndexedObject = require('../internals/to-indexed-object'); +var propertyIsEnumerable = require('../internals/object-property-is-enumerable').f; + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) { + result.push(TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.github.io/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.github.io/ecma262/#sec-object.values + values: createMethod(false) +}; + +},{"../internals/descriptors":42,"../internals/object-keys":105,"../internals/object-property-is-enumerable":106,"../internals/to-indexed-object":142}],110:[function(require,module,exports){ +'use strict'; +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var classof = require('../internals/classof'); + +// `Object.prototype.toString` method implementation +// https://tc39.github.io/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + +},{"../internals/classof":26,"../internals/to-string-tag-support":149}],111:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); +var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); +var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); +var anObject = require('../internals/an-object'); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; +}; + +},{"../internals/an-object":7,"../internals/get-built-in":56,"../internals/object-get-own-property-names":101,"../internals/object-get-own-property-symbols":102}],112:[function(require,module,exports){ +var global = require('../internals/global'); + +module.exports = global; + +},{"../internals/global":59}],113:[function(require,module,exports){ +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + +},{}],114:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var newPromiseCapability = require('../internals/new-promise-capability'); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + +},{"../internals/an-object":7,"../internals/is-object":75,"../internals/new-promise-capability":90}],115:[function(require,module,exports){ +var redefine = require('../internals/redefine'); + +module.exports = function (target, src, options) { + for (var key in src) redefine(target, key, src[key], options); + return target; +}; + +},{"../internals/redefine":116}],116:[function(require,module,exports){ +var global = require('../internals/global'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var has = require('../internals/has'); +var setGlobal = require('../internals/set-global'); +var inspectSource = require('../internals/inspect-source'); +var InternalStateModule = require('../internals/internal-state'); + +var getInternalState = InternalStateModule.get; +var enforceInternalState = InternalStateModule.enforce; +var TEMPLATE = String(String).split('String'); + +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + if (typeof value == 'function') { + if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key); + enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : ''); + } + if (O === global) { + if (simple) O[key] = value; + else setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty(O, key, value); +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, 'toString', function toString() { + return typeof this == 'function' && getInternalState(this).source || inspectSource(this); +}); + +},{"../internals/create-non-enumerable-property":35,"../internals/global":59,"../internals/has":60,"../internals/inspect-source":68,"../internals/internal-state":70,"../internals/set-global":123}],117:[function(require,module,exports){ +var classof = require('./classof-raw'); +var regexpExec = require('./regexp-exec'); + +// `RegExpExec` abstract operation +// https://tc39.github.io/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (typeof exec === 'function') { + var result = exec.call(R, S); + if (typeof result !== 'object') { + throw TypeError('RegExp exec method returned something other than an Object or null'); + } + return result; + } + + if (classof(R) !== 'RegExp') { + throw TypeError('RegExp#exec called on incompatible receiver'); + } + + return regexpExec.call(R, S); +}; + + +},{"./classof-raw":25,"./regexp-exec":118}],118:[function(require,module,exports){ +'use strict'; +var regexpFlags = require('./regexp-flags'); +var stickyHelpers = require('./regexp-sticky-helpers'); + +var nativeExec = RegExp.prototype.exec; +// This always refers to the native implementation, because the +// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, +// which loads this file before patching the method. +var nativeReplace = String.prototype.replace; + +var patchedExec = nativeExec; + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + nativeExec.call(re1, 'a'); + nativeExec.call(re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y; + +if (PATCH) { + patchedExec = function exec(str) { + var re = this; + var lastIndex, reCopy, match, i; + var sticky = UNSUPPORTED_Y && re.sticky; + var flags = regexpFlags.call(re); + var source = re.source; + var charsAdded = 0; + var strCopy = str; + + if (sticky) { + flags = flags.replace('y', ''); + if (flags.indexOf('g') === -1) { + flags += 'g'; + } + + strCopy = String(str).slice(re.lastIndex); + // Support anchored sticky behavior. + if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) { + source = '(?: ' + source + ')'; + strCopy = ' ' + strCopy; + charsAdded++; + } + // ^(? + rx + ) is needed, in combination with some str slicing, to + // simulate the 'y' flag. + reCopy = new RegExp('^(?:' + source + ')', flags); + } + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + source + '$(?!\\s)', flags); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = nativeExec.call(sticky ? reCopy : re, strCopy); + + if (sticky) { + if (match) { + match.input = match.input.slice(charsAdded); + match[0] = match[0].slice(charsAdded); + match.index = re.lastIndex; + re.lastIndex += match[0].length; + } else re.lastIndex = 0; + } else if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ + nativeReplace.call(match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + return match; + }; +} + +module.exports = patchedExec; + +},{"./regexp-flags":119,"./regexp-sticky-helpers":120}],119:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + +},{"../internals/an-object":7}],120:[function(require,module,exports){ +'use strict'; + +var fails = require('./fails'); + +// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError, +// so we use an intermediate function. +function RE(s, f) { + return RegExp(s, f); +} + +exports.UNSUPPORTED_Y = fails(function () { + // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError + var re = RE('a', 'y'); + re.lastIndex = 2; + return re.exec('abcd') != null; +}); + +exports.BROKEN_CARET = fails(function () { + // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 + var re = RE('^r', 'gy'); + re.lastIndex = 2; + return re.exec('str') != null; +}); + +},{"./fails":50}],121:[function(require,module,exports){ +// `RequireObjectCoercible` abstract operation +// https://tc39.github.io/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + +},{}],122:[function(require,module,exports){ +// `SameValue` abstract operation +// https://tc39.github.io/ecma262/#sec-samevalue +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; + +},{}],123:[function(require,module,exports){ +var global = require('../internals/global'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); + +module.exports = function (key, value) { + try { + createNonEnumerableProperty(global, key, value); + } catch (error) { + global[key] = value; + } return value; +}; + +},{"../internals/create-non-enumerable-property":35,"../internals/global":59}],124:[function(require,module,exports){ +'use strict'; +var getBuiltIn = require('../internals/get-built-in'); +var definePropertyModule = require('../internals/object-define-property'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var DESCRIPTORS = require('../internals/descriptors'); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + var defineProperty = definePropertyModule.f; + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineProperty(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + +},{"../internals/descriptors":42,"../internals/get-built-in":56,"../internals/object-define-property":98,"../internals/well-known-symbol":156}],125:[function(require,module,exports){ +var defineProperty = require('../internals/object-define-property').f; +var has = require('../internals/has'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (it, TAG, STATIC) { + if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { + defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + +},{"../internals/has":60,"../internals/object-define-property":98,"../internals/well-known-symbol":156}],126:[function(require,module,exports){ +var shared = require('../internals/shared'); +var uid = require('../internals/uid'); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +},{"../internals/shared":128,"../internals/uid":153}],127:[function(require,module,exports){ +var global = require('../internals/global'); +var setGlobal = require('../internals/set-global'); + +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); + +module.exports = store; + +},{"../internals/global":59,"../internals/set-global":123}],128:[function(require,module,exports){ +var IS_PURE = require('../internals/is-pure'); +var store = require('../internals/shared-store'); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.6.5', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2020 Denis Pushkarev (zloirock.ru)' +}); + +},{"../internals/is-pure":76,"../internals/shared-store":127}],129:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.github.io/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); +}; + +},{"../internals/a-function":2,"../internals/an-object":7,"../internals/well-known-symbol":156}],130:[function(require,module,exports){ +var fails = require('../internals/fails'); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + +},{"../internals/fails":50}],131:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +// `String.prototype.{ codePointAt, at }` methods implementation +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = String(requireObjectCoercible($this)); + var position = toInteger(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = S.charCodeAt(position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING ? S.charAt(position) : first + : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + +},{"../internals/require-object-coercible":121,"../internals/to-integer":143}],132:[function(require,module,exports){ +// https://github.com/zloirock/core-js/issues/280 +var userAgent = require('../internals/engine-user-agent'); + +// eslint-disable-next-line unicorn/no-unsafe-regex +module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); + +},{"../internals/engine-user-agent":46}],133:[function(require,module,exports){ +// https://github.com/tc39/proposal-string-pad-start-end +var toLength = require('../internals/to-length'); +var repeat = require('../internals/string-repeat'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = String(requireObjectCoercible($this)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr == '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.github.io/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.github.io/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + +},{"../internals/require-object-coercible":121,"../internals/string-repeat":135,"../internals/to-length":144}],134:[function(require,module,exports){ +'use strict'; +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; +var floor = Math.floor; +var stringFromCharCode = String.fromCharCode; + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +// eslint-disable-next-line max-statements +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw RangeError(OVERFLOW_ERROR); + } + if (currentValue == n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + for (var k = base; /* no condition */; k += base) { + var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + } + return output.join(''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); + } + return encoded.join('.'); +}; + +},{}],135:[function(require,module,exports){ +'use strict'; +var toInteger = require('../internals/to-integer'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +// `String.prototype.repeat` method implementation +// https://tc39.github.io/ecma262/#sec-string.prototype.repeat +module.exports = ''.repeat || function repeat(count) { + var str = String(requireObjectCoercible(this)); + var result = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + +},{"../internals/require-object-coercible":121,"../internals/to-integer":143}],136:[function(require,module,exports){ +var fails = require('../internals/fails'); +var whitespaces = require('../internals/whitespaces'); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; + }); +}; + +},{"../internals/fails":50,"../internals/whitespaces":157}],137:[function(require,module,exports){ +var requireObjectCoercible = require('../internals/require-object-coercible'); +var whitespaces = require('../internals/whitespaces'); + +var whitespace = '[' + whitespaces + ']'; +var ltrim = RegExp('^' + whitespace + whitespace + '*'); +var rtrim = RegExp(whitespace + whitespace + '*$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = String(requireObjectCoercible($this)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.github.io/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.github.io/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + +},{"../internals/require-object-coercible":121,"../internals/whitespaces":157}],138:[function(require,module,exports){ +var global = require('../internals/global'); +var fails = require('../internals/fails'); +var classof = require('../internals/classof-raw'); +var bind = require('../internals/function-bind-context'); +var html = require('../internals/html'); +var createElement = require('../internals/document-create-element'); +var IS_IOS = require('../internals/engine-is-ios'); + +var location = global.location; +var set = global.setImmediate; +var clear = global.clearImmediate; +var process = global.process; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; + +var run = function (id) { + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var listener = function (event) { + run(event.data); +}; + +var post = function (id) { + // old engines have not location.origin + global.postMessage(id + '', location.protocol + '//' + location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (classof(process) == 'process') { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = bind(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + global.addEventListener && + typeof postMessage == 'function' && + !global.importScripts && + !fails(post) && + location.protocol !== 'file:' + ) { + defer = post; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + +},{"../internals/classof-raw":25,"../internals/document-create-element":43,"../internals/engine-is-ios":45,"../internals/fails":50,"../internals/function-bind-context":54,"../internals/global":59,"../internals/html":63}],139:[function(require,module,exports){ +var classof = require('../internals/classof-raw'); + +// `thisNumberValue` abstract operation +// https://tc39.github.io/ecma262/#sec-thisnumbervalue +module.exports = function (value) { + if (typeof value != 'number' && classof(value) != 'Number') { + throw TypeError('Incorrect invocation'); + } + return +value; +}; + +},{"../internals/classof-raw":25}],140:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +},{"../internals/to-integer":143}],141:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); +var toLength = require('../internals/to-length'); + +// `ToIndex` abstract operation +// https://tc39.github.io/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length or index'); + return length; +}; + +},{"../internals/to-integer":143,"../internals/to-length":144}],142:[function(require,module,exports){ +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = require('../internals/indexed-object'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +},{"../internals/indexed-object":66,"../internals/require-object-coercible":121}],143:[function(require,module,exports){ +var ceil = Math.ceil; +var floor = Math.floor; + +// `ToInteger` abstract operation +// https://tc39.github.io/ecma262/#sec-tointeger +module.exports = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); +}; + +},{}],144:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.github.io/ecma262/#sec-tolength +module.exports = function (argument) { + return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + +},{"../internals/to-integer":143}],145:[function(require,module,exports){ +var requireObjectCoercible = require('../internals/require-object-coercible'); + +// `ToObject` abstract operation +// https://tc39.github.io/ecma262/#sec-toobject +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +},{"../internals/require-object-coercible":121}],146:[function(require,module,exports){ +var toPositiveInteger = require('../internals/to-positive-integer'); + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw RangeError('Wrong offset'); + return offset; +}; + +},{"../internals/to-positive-integer":147}],147:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); + +module.exports = function (it) { + var result = toInteger(it); + if (result < 0) throw RangeError("The argument can't be less than 0"); + return result; +}; + +},{"../internals/to-integer":143}],148:[function(require,module,exports){ +var isObject = require('../internals/is-object'); + +// `ToPrimitive` abstract operation +// https://tc39.github.io/ecma262/#sec-toprimitive +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (input, PREFERRED_STRING) { + if (!isObject(input)) return input; + var fn, val; + if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; + if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +},{"../internals/is-object":75}],149:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + +},{"../internals/well-known-symbol":156}],150:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var DESCRIPTORS = require('../internals/descriptors'); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var ArrayBufferModule = require('../internals/array-buffer'); +var anInstance = require('../internals/an-instance'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var toLength = require('../internals/to-length'); +var toIndex = require('../internals/to-index'); +var toOffset = require('../internals/to-offset'); +var toPrimitive = require('../internals/to-primitive'); +var has = require('../internals/has'); +var classof = require('../internals/classof'); +var isObject = require('../internals/is-object'); +var create = require('../internals/object-create'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var typedArrayFrom = require('../internals/typed-array-from'); +var forEach = require('../internals/array-iteration').forEach; +var setSpecies = require('../internals/set-species'); +var definePropertyModule = require('../internals/object-define-property'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var InternalStateModule = require('../internals/internal-state'); +var inheritIfRequired = require('../internals/inherit-if-required'); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var round = Math.round; +var RangeError = global.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = new (aTypedArrayConstructor(C))(length); + while (length > index) result[index] = list[index++]; + return result; +}; + +var addGetter = function (it, key) { + nativeDefineProperty(it, key, { get: function () { + return getInternalState(this)[key]; + } }); +}; + +var isArrayBuffer = function (it) { + var klass; + return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && typeof key != 'symbol' + && key in target + && String(+key) == String(key); +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + return isTypedArrayIndex(target, key = toPrimitive(key, true)) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + if (isTypedArrayIndex(target, key = toPrimitive(key, true)) + && isObject(descriptor) + && has(descriptor, 'value') + && !has(descriptor, 'get') + && !has(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!has(descriptor, 'writable') || descriptor.writable) + && (!has(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, wrapper, CLAMPED) { + var BYTES = TYPE.match(/\d+$/)[0] / 8; + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; + data.view[SETTER](index * BYTES + data.byteOffset, value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return fromList(TypedArrayConstructor, data); + } else { + return typedArrayFrom.call(TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return fromList(TypedArrayConstructor, data); + return typedArrayFrom.call(TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ + global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS + }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + +},{"../internals/an-instance":6,"../internals/array-buffer":10,"../internals/array-buffer-view-core":9,"../internals/array-iteration":16,"../internals/classof":26,"../internals/create-non-enumerable-property":35,"../internals/create-property-descriptor":36,"../internals/descriptors":42,"../internals/export":49,"../internals/global":59,"../internals/has":60,"../internals/inherit-if-required":67,"../internals/internal-state":70,"../internals/is-object":75,"../internals/object-create":96,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-own-property-names":101,"../internals/object-set-prototype-of":108,"../internals/set-species":124,"../internals/to-index":141,"../internals/to-length":144,"../internals/to-offset":146,"../internals/to-primitive":148,"../internals/typed-array-constructors-require-wrappers":151,"../internals/typed-array-from":152}],151:[function(require,module,exports){ +/* eslint-disable no-new */ +var global = require('../internals/global'); +var fails = require('../internals/fails'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); +var NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS; + +var ArrayBuffer = global.ArrayBuffer; +var Int8Array = global.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + +},{"../internals/array-buffer-view-core":9,"../internals/check-correctness-of-iteration":24,"../internals/fails":50,"../internals/global":59}],152:[function(require,module,exports){ +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var getIteratorMethod = require('../internals/get-iterator-method'); +var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); +var bind = require('../internals/function-bind-context'); +var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor; + +module.exports = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, step, iterator, next; + if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) { + iterator = iteratorMethod.call(O); + next = iterator.next; + O = []; + while (!(step = next.call(iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2], 2); + } + length = toLength(O.length); + result = new (aTypedArrayConstructor(this))(length); + for (i = 0; length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; +}; + +},{"../internals/array-buffer-view-core":9,"../internals/function-bind-context":54,"../internals/get-iterator-method":57,"../internals/is-array-iterator-method":71,"../internals/to-length":144,"../internals/to-object":145}],153:[function(require,module,exports){ +var id = 0; +var postfix = Math.random(); + +module.exports = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); +}; + +},{}],154:[function(require,module,exports){ +var NATIVE_SYMBOL = require('../internals/native-symbol'); + +module.exports = NATIVE_SYMBOL + // eslint-disable-next-line no-undef + && !Symbol.sham + // eslint-disable-next-line no-undef + && typeof Symbol.iterator == 'symbol'; + +},{"../internals/native-symbol":87}],155:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +exports.f = wellKnownSymbol; + +},{"../internals/well-known-symbol":156}],156:[function(require,module,exports){ +var global = require('../internals/global'); +var shared = require('../internals/shared'); +var has = require('../internals/has'); +var uid = require('../internals/uid'); +var NATIVE_SYMBOL = require('../internals/native-symbol'); +var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid'); + +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!has(WellKnownSymbolsStore, name)) { + if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name]; + else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; +}; + +},{"../internals/global":59,"../internals/has":60,"../internals/native-symbol":87,"../internals/shared":128,"../internals/uid":153,"../internals/use-symbol-as-uid":154}],157:[function(require,module,exports){ +// a string of all valid unicode whitespaces +// eslint-disable-next-line max-len +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + +},{}],158:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var arrayBufferModule = require('../internals/array-buffer'); +var setSpecies = require('../internals/set-species'); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = global[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor +$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + +},{"../internals/array-buffer":10,"../internals/export":49,"../internals/global":59,"../internals/set-species":124}],159:[function(require,module,exports){ +var $ = require('../internals/export'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.github.io/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + +},{"../internals/array-buffer-view-core":9,"../internals/export":49}],160:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var ArrayBufferModule = require('../internals/array-buffer'); +var anObject = require('../internals/an-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toLength = require('../internals/to-length'); +var speciesConstructor = require('../internals/species-constructor'); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var nativeArrayBufferSlice = ArrayBuffer.prototype.slice; + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice !== undefined && end === undefined) { + return nativeArrayBufferSlice.call(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + viewTarget.setUint8(index++, viewSource.getUint8(first++)); + } return result; + } +}); + +},{"../internals/an-object":7,"../internals/array-buffer":10,"../internals/export":49,"../internals/fails":50,"../internals/species-constructor":129,"../internals/to-absolute-index":140,"../internals/to-length":144}],161:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var isArray = require('../internals/is-array'); +var isObject = require('../internals/is-object'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var createProperty = require('../internals/create-property'); +var arraySpeciesCreate = require('../internals/array-species-create'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/engine-v8-version'); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; + +// `Array.prototype.concat` method +// https://tc39.github.io/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, forced: FORCED }, { + concat: function concat(arg) { // eslint-disable-line no-unused-vars + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = toLength(E.length); + if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + +},{"../internals/array-method-has-species-support":18,"../internals/array-species-create":22,"../internals/create-property":37,"../internals/engine-v8-version":47,"../internals/export":49,"../internals/fails":50,"../internals/is-array":72,"../internals/is-object":75,"../internals/to-length":144,"../internals/to-object":145,"../internals/well-known-symbol":156}],162:[function(require,module,exports){ +var $ = require('../internals/export'); +var copyWithin = require('../internals/array-copy-within'); +var addToUnscopables = require('../internals/add-to-unscopables'); + +// `Array.prototype.copyWithin` method +// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + +},{"../internals/add-to-unscopables":4,"../internals/array-copy-within":11,"../internals/export":49}],163:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $every = require('../internals/array-iteration').every; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var STRICT_METHOD = arrayMethodIsStrict('every'); +var USES_TO_LENGTH = arrayMethodUsesToLength('every'); + +// `Array.prototype.every` method +// https://tc39.github.io/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-iteration":16,"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/export":49}],164:[function(require,module,exports){ +var $ = require('../internals/export'); +var fill = require('../internals/array-fill'); +var addToUnscopables = require('../internals/add-to-unscopables'); + +// `Array.prototype.fill` method +// https://tc39.github.io/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + +},{"../internals/add-to-unscopables":4,"../internals/array-fill":12,"../internals/export":49}],165:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $filter = require('../internals/array-iteration').filter; +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); +// Edge 14- issue +var USES_TO_LENGTH = arrayMethodUsesToLength('filter'); + +// `Array.prototype.filter` method +// https://tc39.github.io/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-iteration":16,"../internals/array-method-has-species-support":18,"../internals/array-method-uses-to-length":20,"../internals/export":49}],166:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $findIndex = require('../internals/array-iteration').findIndex; +var addToUnscopables = require('../internals/add-to-unscopables'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +var USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX); + +// Shouldn't skip holes +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.github.io/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + +},{"../internals/add-to-unscopables":4,"../internals/array-iteration":16,"../internals/array-method-uses-to-length":20,"../internals/export":49}],167:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $find = require('../internals/array-iteration').find; +var addToUnscopables = require('../internals/add-to-unscopables'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +var USES_TO_LENGTH = arrayMethodUsesToLength(FIND); + +// Shouldn't skip holes +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.github.io/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + +},{"../internals/add-to-unscopables":4,"../internals/array-iteration":16,"../internals/array-method-uses-to-length":20,"../internals/export":49}],168:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var flattenIntoArray = require('../internals/flatten-into-array'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var aFunction = require('../internals/a-function'); +var arraySpeciesCreate = require('../internals/array-species-create'); + +// `Array.prototype.flatMap` method +// https://github.com/tc39/proposal-flatMap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = toLength(O.length); + var A; + aFunction(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + +},{"../internals/a-function":2,"../internals/array-species-create":22,"../internals/export":49,"../internals/flatten-into-array":52,"../internals/to-length":144,"../internals/to-object":145}],169:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var flattenIntoArray = require('../internals/flatten-into-array'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var toInteger = require('../internals/to-integer'); +var arraySpeciesCreate = require('../internals/array-species-create'); + +// `Array.prototype.flat` method +// https://github.com/tc39/proposal-flatMap +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); + +},{"../internals/array-species-create":22,"../internals/export":49,"../internals/flatten-into-array":52,"../internals/to-integer":143,"../internals/to-length":144,"../internals/to-object":145}],170:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var forEach = require('../internals/array-for-each'); + +// `Array.prototype.forEach` method +// https://tc39.github.io/ecma262/#sec-array.prototype.foreach +$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { + forEach: forEach +}); + +},{"../internals/array-for-each":13,"../internals/export":49}],171:[function(require,module,exports){ +var $ = require('../internals/export'); +var from = require('../internals/array-from'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.github.io/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + +},{"../internals/array-from":14,"../internals/check-correctness-of-iteration":24,"../internals/export":49}],172:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $includes = require('../internals/array-includes').includes; +var addToUnscopables = require('../internals/add-to-unscopables'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); + +// `Array.prototype.includes` method +// https://tc39.github.io/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + +},{"../internals/add-to-unscopables":4,"../internals/array-includes":15,"../internals/array-method-uses-to-length":20,"../internals/export":49}],173:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $indexOf = require('../internals/array-includes').indexOf; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var nativeIndexOf = [].indexOf; + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('indexOf'); +var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); + +// `Array.prototype.indexOf` method +// https://tc39.github.io/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-includes":15,"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/export":49}],174:[function(require,module,exports){ +var $ = require('../internals/export'); +var isArray = require('../internals/is-array'); + +// `Array.isArray` method +// https://tc39.github.io/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + +},{"../internals/export":49,"../internals/is-array":72}],175:[function(require,module,exports){ +'use strict'; +var toIndexedObject = require('../internals/to-indexed-object'); +var addToUnscopables = require('../internals/add-to-unscopables'); +var Iterators = require('../internals/iterators'); +var InternalStateModule = require('../internals/internal-state'); +var defineIterator = require('../internals/define-iterator'); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.github.io/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.github.io/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.github.io/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.github.io/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; + return { value: undefined, done: true }; + } + if (kind == 'keys') return { value: index, done: false }; + if (kind == 'values') return { value: target[index], done: false }; + return { value: [index, target[index]], done: false }; +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject +// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject +Iterators.Arguments = Iterators.Array; + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +},{"../internals/add-to-unscopables":4,"../internals/define-iterator":40,"../internals/internal-state":70,"../internals/iterators":80,"../internals/to-indexed-object":142}],176:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IndexedObject = require('../internals/indexed-object'); +var toIndexedObject = require('../internals/to-indexed-object'); +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); + +var nativeJoin = [].join; + +var ES3_STRINGS = IndexedObject != Object; +var STRICT_METHOD = arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.github.io/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { + join: function join(separator) { + return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + +},{"../internals/array-method-is-strict":19,"../internals/export":49,"../internals/indexed-object":66,"../internals/to-indexed-object":142}],177:[function(require,module,exports){ +var $ = require('../internals/export'); +var lastIndexOf = require('../internals/array-last-index-of'); + +// `Array.prototype.lastIndexOf` method +// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + +},{"../internals/array-last-index-of":17,"../internals/export":49}],178:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $map = require('../internals/array-iteration').map; +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); +// FF49- issue +var USES_TO_LENGTH = arrayMethodUsesToLength('map'); + +// `Array.prototype.map` method +// https://tc39.github.io/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-iteration":16,"../internals/array-method-has-species-support":18,"../internals/array-method-uses-to-length":20,"../internals/export":49}],179:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var createProperty = require('../internals/create-property'); + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + return !(Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.github.io/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + +},{"../internals/create-property":37,"../internals/export":49,"../internals/fails":50}],180:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $reduceRight = require('../internals/array-reduce').right; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var STRICT_METHOD = arrayMethodIsStrict('reduceRight'); +// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method +var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 }); + +// `Array.prototype.reduceRight` method +// https://tc39.github.io/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/array-reduce":21,"../internals/export":49}],181:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $reduce = require('../internals/array-reduce').left; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var STRICT_METHOD = arrayMethodIsStrict('reduce'); +var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 }); + +// `Array.prototype.reduce` method +// https://tc39.github.io/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/array-reduce":21,"../internals/export":49}],182:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var isArray = require('../internals/is-array'); + +var nativeReverse = [].reverse; +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.github.io/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign + if (isArray(this)) this.length = this.length; + return nativeReverse.call(this); + } +}); + +},{"../internals/export":49,"../internals/is-array":72}],183:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); +var isArray = require('../internals/is-array'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toLength = require('../internals/to-length'); +var toIndexedObject = require('../internals/to-indexed-object'); +var createProperty = require('../internals/create-property'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); +var USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 }); + +var SPECIES = wellKnownSymbol('species'); +var nativeSlice = [].slice; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.github.io/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = toLength(O.length); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === Array || Constructor === undefined) { + return nativeSlice.call(O, k, fin); + } + } + result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + +},{"../internals/array-method-has-species-support":18,"../internals/array-method-uses-to-length":20,"../internals/create-property":37,"../internals/export":49,"../internals/is-array":72,"../internals/is-object":75,"../internals/to-absolute-index":140,"../internals/to-indexed-object":142,"../internals/to-length":144,"../internals/well-known-symbol":156}],184:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $some = require('../internals/array-iteration').some; +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var STRICT_METHOD = arrayMethodIsStrict('some'); +var USES_TO_LENGTH = arrayMethodUsesToLength('some'); + +// `Array.prototype.some` method +// https://tc39.github.io/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-iteration":16,"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/export":49}],185:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var toObject = require('../internals/to-object'); +var fails = require('../internals/fails'); +var arrayMethodIsStrict = require('../internals/array-method-is-strict'); + +var test = []; +var nativeSort = test.sort; + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD; + +// `Array.prototype.sort` method +// https://tc39.github.io/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + return comparefn === undefined + ? nativeSort.call(toObject(this)) + : nativeSort.call(toObject(this), aFunction(comparefn)); + } +}); + +},{"../internals/a-function":2,"../internals/array-method-is-strict":19,"../internals/export":49,"../internals/fails":50,"../internals/to-object":145}],186:[function(require,module,exports){ +var setSpecies = require('../internals/set-species'); + +// `Array[@@species]` getter +// https://tc39.github.io/ecma262/#sec-get-array-@@species +setSpecies('Array'); + +},{"../internals/set-species":124}],187:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toInteger = require('../internals/to-integer'); +var toLength = require('../internals/to-length'); +var toObject = require('../internals/to-object'); +var arraySpeciesCreate = require('../internals/array-species-create'); +var createProperty = require('../internals/create-property'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length'); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); +var USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 }); + +var max = Math.max; +var min = Math.min; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; + +// `Array.prototype.splice` method +// https://tc39.github.io/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = toLength(O.length); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart); + } + if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { + throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); + } + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else delete O[to]; + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else delete O[to]; + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + O.length = len - actualDeleteCount + insertCount; + return A; + } +}); + +},{"../internals/array-method-has-species-support":18,"../internals/array-method-uses-to-length":20,"../internals/array-species-create":22,"../internals/create-property":37,"../internals/export":49,"../internals/to-absolute-index":140,"../internals/to-integer":143,"../internals/to-length":144,"../internals/to-object":145}],188:[function(require,module,exports){ +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = require('../internals/add-to-unscopables'); + +addToUnscopables('flatMap'); + +},{"../internals/add-to-unscopables":4}],189:[function(require,module,exports){ +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = require('../internals/add-to-unscopables'); + +addToUnscopables('flat'); + +},{"../internals/add-to-unscopables":4}],190:[function(require,module,exports){ +var $ = require('../internals/export'); +var ArrayBufferModule = require('../internals/array-buffer'); +var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native'); + +// `DataView` constructor +// https://tc39.github.io/ecma262/#sec-dataview-constructor +$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + +},{"../internals/array-buffer":10,"../internals/array-buffer-native":8,"../internals/export":49}],191:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Date.now` method +// https://tc39.github.io/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return new Date().getTime(); + } +}); + +},{"../internals/export":49}],192:[function(require,module,exports){ +var $ = require('../internals/export'); +var toISOString = require('../internals/date-to-iso-string'); + +// `Date.prototype.toISOString` method +// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + +},{"../internals/date-to-iso-string":38,"../internals/export":49}],193:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var toObject = require('../internals/to-object'); +var toPrimitive = require('../internals/to-primitive'); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.github.io/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/to-object":145,"../internals/to-primitive":148}],194:[function(require,module,exports){ +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var dateToPrimitive = require('../internals/date-to-primitive'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive +if (!(TO_PRIMITIVE in DatePrototype)) { + createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + +},{"../internals/create-non-enumerable-property":35,"../internals/date-to-primitive":39,"../internals/well-known-symbol":156}],195:[function(require,module,exports){ +var redefine = require('../internals/redefine'); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = DatePrototype[TO_STRING]; +var getTime = DatePrototype.getTime; + +// `Date.prototype.toString` method +// https://tc39.github.io/ecma262/#sec-date.prototype.tostring +if (new Date(NaN) + '' != INVALID_DATE) { + redefine(DatePrototype, TO_STRING, function toString() { + var value = getTime.call(this); + // eslint-disable-next-line no-self-compare + return value === value ? nativeDateToString.call(this) : INVALID_DATE; + }); +} + +},{"../internals/redefine":116}],196:[function(require,module,exports){ +var $ = require('../internals/export'); +var bind = require('../internals/function-bind'); + +// `Function.prototype.bind` method +// https://tc39.github.io/ecma262/#sec-function.prototype.bind +$({ target: 'Function', proto: true }, { + bind: bind +}); + +},{"../internals/export":49,"../internals/function-bind":55}],197:[function(require,module,exports){ +'use strict'; +var isObject = require('../internals/is-object'); +var definePropertyModule = require('../internals/object-define-property'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; + return false; + } }); +} + +},{"../internals/is-object":75,"../internals/object-define-property":98,"../internals/object-get-prototype-of":103,"../internals/well-known-symbol":156}],198:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var defineProperty = require('../internals/object-define-property').f; + +var FunctionPrototype = Function.prototype; +var FunctionPrototypeToString = FunctionPrototype.toString; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.github.io/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !(NAME in FunctionPrototype)) { + defineProperty(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return FunctionPrototypeToString.call(this).match(nameRE)[1]; + } catch (error) { + return ''; + } + } + }); +} + +},{"../internals/descriptors":42,"../internals/object-define-property":98}],199:[function(require,module,exports){ +var $ = require('../internals/export'); +var global = require('../internals/global'); + +// `globalThis` object +// https://github.com/tc39/proposal-global +$({ global: true }, { + globalThis: global +}); + +},{"../internals/export":49,"../internals/global":59}],200:[function(require,module,exports){ +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var fails = require('../internals/fails'); + +var $stringify = getBuiltIn('JSON', 'stringify'); +var re = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var fix = function (match, offset, string) { + var prev = string.charAt(offset - 1); + var next = string.charAt(offset + 1); + if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) { + return '\\u' + match.charCodeAt(0).toString(16); + } return match; +}; + +var FORCED = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +if ($stringify) { + // https://github.com/tc39/proposal-well-formed-stringify + $({ target: 'JSON', stat: true, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars + stringify: function stringify(it, replacer, space) { + var result = $stringify.apply(null, arguments); + return typeof result == 'string' ? result.replace(re, fix) : result; + } + }); +} + +},{"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":56}],201:[function(require,module,exports){ +var global = require('../internals/global'); +var setToStringTag = require('../internals/set-to-string-tag'); + +// JSON[@@toStringTag] property +// https://tc39.github.io/ecma262/#sec-json-@@tostringtag +setToStringTag(global.JSON, 'JSON', true); + +},{"../internals/global":59,"../internals/set-to-string-tag":125}],202:[function(require,module,exports){ +'use strict'; +var collection = require('../internals/collection'); +var collectionStrong = require('../internals/collection-strong'); + +// `Map` constructor +// https://tc39.github.io/ecma262/#sec-map-objects +module.exports = collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + +},{"../internals/collection":29,"../internals/collection-strong":27}],203:[function(require,module,exports){ +var $ = require('../internals/export'); +var log1p = require('../internals/math-log1p'); + +var nativeAcosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !nativeAcosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || nativeAcosh(Infinity) != Infinity; + +// `Math.acosh` method +// https://tc39.github.io/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? log(x) + LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); + +},{"../internals/export":49,"../internals/math-log1p":83}],204:[function(require,module,exports){ +var $ = require('../internals/export'); + +var nativeAsinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1)); +} + +// `Math.asinh` method +// https://tc39.github.io/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, { + asinh: asinh +}); + +},{"../internals/export":49}],205:[function(require,module,exports){ +var $ = require('../internals/export'); + +var nativeAtanh = Math.atanh; +var log = Math.log; + +// `Math.atanh` method +// https://tc39.github.io/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2; + } +}); + +},{"../internals/export":49}],206:[function(require,module,exports){ +var $ = require('../internals/export'); +var sign = require('../internals/math-sign'); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.github.io/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + return sign(x = +x) * pow(abs(x), 1 / 3); + } +}); + +},{"../internals/export":49,"../internals/math-sign":84}],207:[function(require,module,exports){ +var $ = require('../internals/export'); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.github.io/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32; + } +}); + +},{"../internals/export":49}],208:[function(require,module,exports){ +var $ = require('../internals/export'); +var expm1 = require('../internals/math-expm1'); + +var nativeCosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +// `Math.cosh` method +// https://tc39.github.io/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + +},{"../internals/export":49,"../internals/math-expm1":81}],209:[function(require,module,exports){ +var $ = require('../internals/export'); +var expm1 = require('../internals/math-expm1'); + +// `Math.expm1` method +// https://tc39.github.io/ecma262/#sec-math.expm1 +$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 }); + +},{"../internals/export":49,"../internals/math-expm1":81}],210:[function(require,module,exports){ +var $ = require('../internals/export'); +var fround = require('../internals/math-fround'); + +// `Math.fround` method +// https://tc39.github.io/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + +},{"../internals/export":49,"../internals/math-fround":82}],211:[function(require,module,exports){ +var $ = require('../internals/export'); + +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.github.io/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, forced: BUGGY }, { + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + +},{"../internals/export":49}],212:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); + +var nativeImul = Math.imul; + +var FORCED = fails(function () { + return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2; +}); + +// `Math.imul` method +// https://tc39.github.io/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + +},{"../internals/export":49,"../internals/fails":50}],213:[function(require,module,exports){ +var $ = require('../internals/export'); + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// `Math.log10` method +// https://tc39.github.io/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: function log10(x) { + return log(x) * LOG10E; + } +}); + +},{"../internals/export":49}],214:[function(require,module,exports){ +var $ = require('../internals/export'); +var log1p = require('../internals/math-log1p'); + +// `Math.log1p` method +// https://tc39.github.io/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + +},{"../internals/export":49,"../internals/math-log1p":83}],215:[function(require,module,exports){ +var $ = require('../internals/export'); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.github.io/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + +},{"../internals/export":49}],216:[function(require,module,exports){ +var $ = require('../internals/export'); +var sign = require('../internals/math-sign'); + +// `Math.sign` method +// https://tc39.github.io/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + +},{"../internals/export":49,"../internals/math-sign":84}],217:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var expm1 = require('../internals/math-expm1'); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + return Math.sinh(-2e-17) != -2e-17; +}); + +// `Math.sinh` method +// https://tc39.github.io/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2); + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/math-expm1":81}],218:[function(require,module,exports){ +var $ = require('../internals/export'); +var expm1 = require('../internals/math-expm1'); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.github.io/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); + +},{"../internals/export":49,"../internals/math-expm1":81}],219:[function(require,module,exports){ +var setToStringTag = require('../internals/set-to-string-tag'); + +// Math[@@toStringTag] property +// https://tc39.github.io/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + +},{"../internals/set-to-string-tag":125}],220:[function(require,module,exports){ +var $ = require('../internals/export'); + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.github.io/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: function trunc(it) { + return (it > 0 ? floor : ceil)(it); + } +}); + +},{"../internals/export":49}],221:[function(require,module,exports){ +'use strict'; +var DESCRIPTORS = require('../internals/descriptors'); +var global = require('../internals/global'); +var isForced = require('../internals/is-forced'); +var redefine = require('../internals/redefine'); +var has = require('../internals/has'); +var classof = require('../internals/classof-raw'); +var inheritIfRequired = require('../internals/inherit-if-required'); +var toPrimitive = require('../internals/to-primitive'); +var fails = require('../internals/fails'); +var create = require('../internals/object-create'); +var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var defineProperty = require('../internals/object-define-property').f; +var trim = require('../internals/string-trim').trim; + +var NUMBER = 'Number'; +var NativeNumber = global[NUMBER]; +var NumberPrototype = NativeNumber.prototype; + +// Opera ~12 has broken Object#toString +var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; + +// `ToNumber` abstract operation +// https://tc39.github.io/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, false); + var first, third, radix, maxCode, digits, length, index, code; + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = it.charCodeAt(0); + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i + default: return +it; + } + digits = it.slice(2); + length = digits.length; + for (index = 0; index < length; index++) { + code = digits.charCodeAt(index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +// `Number` constructor +// https://tc39.github.io/ecma262/#sec-number-constructor +if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { + var NumberWrapper = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var dummy = this; + return dummy instanceof NumberWrapper + // check on 1..constructor(foo) case + && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER) + ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); + }; + for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) { + defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); + } + } + NumberWrapper.prototype = NumberPrototype; + NumberPrototype.constructor = NumberWrapper; + redefine(global, NUMBER, NumberWrapper); +} + +},{"../internals/classof-raw":25,"../internals/descriptors":42,"../internals/fails":50,"../internals/global":59,"../internals/has":60,"../internals/inherit-if-required":67,"../internals/is-forced":73,"../internals/object-create":96,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-own-property-names":101,"../internals/redefine":116,"../internals/string-trim":137,"../internals/to-primitive":148}],222:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Number.EPSILON` constant +// https://tc39.github.io/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true }, { + EPSILON: Math.pow(2, -52) +}); + +},{"../internals/export":49}],223:[function(require,module,exports){ +var $ = require('../internals/export'); +var numberIsFinite = require('../internals/number-is-finite'); + +// `Number.isFinite` method +// https://tc39.github.io/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + +},{"../internals/export":49,"../internals/number-is-finite":92}],224:[function(require,module,exports){ +var $ = require('../internals/export'); +var isInteger = require('../internals/is-integer'); + +// `Number.isInteger` method +// https://tc39.github.io/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isInteger +}); + +},{"../internals/export":49,"../internals/is-integer":74}],225:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Number.isNaN` method +// https://tc39.github.io/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare + return number != number; + } +}); + +},{"../internals/export":49}],226:[function(require,module,exports){ +var $ = require('../internals/export'); +var isInteger = require('../internals/is-integer'); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.github.io/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + +},{"../internals/export":49,"../internals/is-integer":74}],227:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.github.io/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + +},{"../internals/export":49}],228:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.github.io/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + +},{"../internals/export":49}],229:[function(require,module,exports){ +var $ = require('../internals/export'); +var parseFloat = require('../internals/number-parse-float'); + +// `Number.parseFloat` method +// https://tc39.github.io/ecma262/#sec-number.parseFloat +$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, { + parseFloat: parseFloat +}); + +},{"../internals/export":49,"../internals/number-parse-float":93}],230:[function(require,module,exports){ +var $ = require('../internals/export'); +var parseInt = require('../internals/number-parse-int'); + +// `Number.parseInt` method +// https://tc39.github.io/ecma262/#sec-number.parseint +$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, { + parseInt: parseInt +}); + +},{"../internals/export":49,"../internals/number-parse-int":94}],231:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var toInteger = require('../internals/to-integer'); +var thisNumberValue = require('../internals/this-number-value'); +var repeat = require('../internals/string-repeat'); +var fails = require('../internals/fails'); + +var nativeToFixed = 1.0.toFixed; +var floor = Math.floor; + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var FORCED = nativeToFixed && ( + 0.00008.toFixed(3) !== '0.000' || + 0.9.toFixed(0) !== '1' || + 1.255.toFixed(2) !== '1.25' || + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed.call({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + // eslint-disable-next-line max-statements + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toInteger(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + var multiply = function (n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } + }; + + var divide = function (n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } + }; + + var dataToString = function () { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = String(data[index]); + s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t; + } + } return s; + }; + + if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare + if (number != number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = fractDigits; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + result = dataToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + result = dataToString() + repeat.call('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat.call('0', fractDigits - k) + result + : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/string-repeat":135,"../internals/this-number-value":139,"../internals/to-integer":143}],232:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var thisNumberValue = require('../internals/this-number-value'); + +var nativeToPrecision = 1.0.toPrecision; + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision.call(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision.call({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.github.io/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision.call(thisNumberValue(this)) + : nativeToPrecision.call(thisNumberValue(this), precision); + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/this-number-value":139}],233:[function(require,module,exports){ +var $ = require('../internals/export'); +var assign = require('../internals/object-assign'); + +// `Object.assign` method +// https://tc39.github.io/ecma262/#sec-object.assign +$({ target: 'Object', stat: true, forced: Object.assign !== assign }, { + assign: assign +}); + +},{"../internals/export":49,"../internals/object-assign":95}],234:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var create = require('../internals/object-create'); + +// `Object.create` method +// https://tc39.github.io/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + +},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-create":96}],235:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/object-prototype-accessors-forced'); +var toObject = require('../internals/to-object'); +var aFunction = require('../internals/a-function'); +var definePropertyModule = require('../internals/object-define-property'); + +// `Object.prototype.__defineGetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); + } + }); +} + +},{"../internals/a-function":2,"../internals/descriptors":42,"../internals/export":49,"../internals/object-define-property":98,"../internals/object-prototype-accessors-forced":107,"../internals/to-object":145}],236:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var defineProperties = require('../internals/object-define-properties'); + +// `Object.defineProperties` method +// https://tc39.github.io/ecma262/#sec-object.defineproperties +$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + +},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-define-properties":97}],237:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var objectDefinePropertyModile = require('../internals/object-define-property'); + +// `Object.defineProperty` method +// https://tc39.github.io/ecma262/#sec-object.defineproperty +$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { + defineProperty: objectDefinePropertyModile.f +}); + +},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-define-property":98}],238:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/object-prototype-accessors-forced'); +var toObject = require('../internals/to-object'); +var aFunction = require('../internals/a-function'); +var definePropertyModule = require('../internals/object-define-property'); + +// `Object.prototype.__defineSetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); + } + }); +} + +},{"../internals/a-function":2,"../internals/descriptors":42,"../internals/export":49,"../internals/object-define-property":98,"../internals/object-prototype-accessors-forced":107,"../internals/to-object":145}],239:[function(require,module,exports){ +var $ = require('../internals/export'); +var $entries = require('../internals/object-to-array').entries; + +// `Object.entries` method +// https://tc39.github.io/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + +},{"../internals/export":49,"../internals/object-to-array":109}],240:[function(require,module,exports){ +var $ = require('../internals/export'); +var FREEZING = require('../internals/freezing'); +var fails = require('../internals/fails'); +var isObject = require('../internals/is-object'); +var onFreeze = require('../internals/internal-metadata').onFreeze; + +var nativeFreeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); }); + +// `Object.freeze` method +// https://tc39.github.io/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it; + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":53,"../internals/internal-metadata":69,"../internals/is-object":75}],241:[function(require,module,exports){ +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var createProperty = require('../internals/create-property'); + +// `Object.fromEntries` method +// https://github.com/tc39/proposal-object-from-entries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, undefined, true); + return obj; + } +}); + +},{"../internals/create-property":37,"../internals/export":49,"../internals/iterate":78}],242:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var toIndexedObject = require('../internals/to-indexed-object'); +var nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var DESCRIPTORS = require('../internals/descriptors'); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); }); +var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + +},{"../internals/descriptors":42,"../internals/export":49,"../internals/fails":50,"../internals/object-get-own-property-descriptor":99,"../internals/to-indexed-object":142}],243:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var ownKeys = require('../internals/own-keys'); +var toIndexedObject = require('../internals/to-indexed-object'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var createProperty = require('../internals/create-property'); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + +},{"../internals/create-property":37,"../internals/descriptors":42,"../internals/export":49,"../internals/object-get-own-property-descriptor":99,"../internals/own-keys":111,"../internals/to-indexed-object":142}],244:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names-external').f; + +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: nativeGetOwnPropertyNames +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/object-get-own-property-names-external":100}],245:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var toObject = require('../internals/to-object'); +var nativeGetPrototypeOf = require('../internals/object-get-prototype-of'); +var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + +},{"../internals/correct-prototype-getter":32,"../internals/export":49,"../internals/fails":50,"../internals/object-get-prototype-of":103,"../internals/to-object":145}],246:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var isObject = require('../internals/is-object'); + +var nativeIsExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.github.io/ecma262/#sec-object.isextensible +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + isExtensible: function isExtensible(it) { + return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false; + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":75}],247:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var isObject = require('../internals/is-object'); + +var nativeIsFrozen = Object.isFrozen; +var FAILS_ON_PRIMITIVES = fails(function () { nativeIsFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.github.io/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + isFrozen: function isFrozen(it) { + return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true; + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":75}],248:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var isObject = require('../internals/is-object'); + +var nativeIsSealed = Object.isSealed; +var FAILS_ON_PRIMITIVES = fails(function () { nativeIsSealed(1); }); + +// `Object.isSealed` method +// https://tc39.github.io/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + isSealed: function isSealed(it) { + return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true; + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":75}],249:[function(require,module,exports){ +var $ = require('../internals/export'); +var is = require('../internals/same-value'); + +// `Object.is` method +// https://tc39.github.io/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + +},{"../internals/export":49,"../internals/same-value":122}],250:[function(require,module,exports){ +var $ = require('../internals/export'); +var toObject = require('../internals/to-object'); +var nativeKeys = require('../internals/object-keys'); +var fails = require('../internals/fails'); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.github.io/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/object-keys":105,"../internals/to-object":145}],251:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/object-prototype-accessors-forced'); +var toObject = require('../internals/to-object'); +var toPrimitive = require('../internals/to-primitive'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; + +// `Object.prototype.__lookupGetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPrimitive(P, true); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + +},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-prototype-of":103,"../internals/object-prototype-accessors-forced":107,"../internals/to-object":145,"../internals/to-primitive":148}],252:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/object-prototype-accessors-forced'); +var toObject = require('../internals/to-object'); +var toPrimitive = require('../internals/to-primitive'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; + +// `Object.prototype.__lookupSetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPrimitive(P, true); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + +},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-prototype-of":103,"../internals/object-prototype-accessors-forced":107,"../internals/to-object":145,"../internals/to-primitive":148}],253:[function(require,module,exports){ +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); +var onFreeze = require('../internals/internal-metadata').onFreeze; +var FREEZING = require('../internals/freezing'); +var fails = require('../internals/fails'); + +var nativePreventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.github.io/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it; + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":53,"../internals/internal-metadata":69,"../internals/is-object":75}],254:[function(require,module,exports){ +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); +var onFreeze = require('../internals/internal-metadata').onFreeze; +var FREEZING = require('../internals/freezing'); +var fails = require('../internals/fails'); + +var nativeSeal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); }); + +// `Object.seal` method +// https://tc39.github.io/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it; + } +}); + +},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":53,"../internals/internal-metadata":69,"../internals/is-object":75}],255:[function(require,module,exports){ +var $ = require('../internals/export'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); + +// `Object.setPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + +},{"../internals/export":49,"../internals/object-set-prototype-of":108}],256:[function(require,module,exports){ +var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support'); +var redefine = require('../internals/redefine'); +var toString = require('../internals/object-to-string'); + +// `Object.prototype.toString` method +// https://tc39.github.io/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + redefine(Object.prototype, 'toString', toString, { unsafe: true }); +} + +},{"../internals/object-to-string":110,"../internals/redefine":116,"../internals/to-string-tag-support":149}],257:[function(require,module,exports){ +var $ = require('../internals/export'); +var $values = require('../internals/object-to-array').values; + +// `Object.values` method +// https://tc39.github.io/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + +},{"../internals/export":49,"../internals/object-to-array":109}],258:[function(require,module,exports){ +var $ = require('../internals/export'); +var parseFloatImplementation = require('../internals/number-parse-float'); + +// `parseFloat` method +// https://tc39.github.io/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat != parseFloatImplementation }, { + parseFloat: parseFloatImplementation +}); + +},{"../internals/export":49,"../internals/number-parse-float":93}],259:[function(require,module,exports){ +var $ = require('../internals/export'); +var parseIntImplementation = require('../internals/number-parse-int'); + +// `parseInt` method +// https://tc39.github.io/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt != parseIntImplementation }, { + parseInt: parseIntImplementation +}); + +},{"../internals/export":49,"../internals/number-parse-int":94}],260:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var newPromiseCapabilityModule = require('../internals/new-promise-capability'); +var perform = require('../internals/perform'); +var iterate = require('../internals/iterate'); + +// `Promise.allSettled` method +// https://github.com/tc39/proposal-promise-allSettled +$({ target: 'Promise', stat: true }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aFunction(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + promiseResolve.call(C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (e) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: e }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + +},{"../internals/a-function":2,"../internals/export":49,"../internals/iterate":78,"../internals/new-promise-capability":90,"../internals/perform":113}],261:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var NativePromise = require('../internals/native-promise-constructor'); +var fails = require('../internals/fails'); +var getBuiltIn = require('../internals/get-built-in'); +var speciesConstructor = require('../internals/species-constructor'); +var promiseResolve = require('../internals/promise-resolve'); +var redefine = require('../internals/redefine'); + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromise && fails(function () { + NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.github.io/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// patch native Promise.prototype for native async functions +if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) { + redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']); +} + +},{"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":56,"../internals/is-pure":76,"../internals/native-promise-constructor":86,"../internals/promise-resolve":114,"../internals/redefine":116,"../internals/species-constructor":129}],262:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var global = require('../internals/global'); +var getBuiltIn = require('../internals/get-built-in'); +var NativePromise = require('../internals/native-promise-constructor'); +var redefine = require('../internals/redefine'); +var redefineAll = require('../internals/redefine-all'); +var setToStringTag = require('../internals/set-to-string-tag'); +var setSpecies = require('../internals/set-species'); +var isObject = require('../internals/is-object'); +var aFunction = require('../internals/a-function'); +var anInstance = require('../internals/an-instance'); +var classof = require('../internals/classof-raw'); +var inspectSource = require('../internals/inspect-source'); +var iterate = require('../internals/iterate'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); +var speciesConstructor = require('../internals/species-constructor'); +var task = require('../internals/task').set; +var microtask = require('../internals/microtask'); +var promiseResolve = require('../internals/promise-resolve'); +var hostReportErrors = require('../internals/host-report-errors'); +var newPromiseCapabilityModule = require('../internals/new-promise-capability'); +var perform = require('../internals/perform'); +var InternalStateModule = require('../internals/internal-state'); +var isForced = require('../internals/is-forced'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/engine-v8-version'); + +var SPECIES = wellKnownSymbol('species'); +var PROMISE = 'Promise'; +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var PromiseConstructor = NativePromise; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var $fetch = getBuiltIn('fetch'); +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; +var IS_NODE = classof(process) == 'process'; +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +var FORCED = isForced(PROMISE, function () { + var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); + if (!GLOBAL_CORE_JS_PROMISE) { + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (V8_VERSION === 66) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true; + } + // We need Promise#finally in the pure version for preventing prototype pollution + if (IS_PURE && !PromiseConstructor.prototype['finally']) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false; + // Detect correctness of subclassing with @@species support + var promise = PromiseConstructor.resolve(1); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + return !(promise.then(function () { /* empty */ }) instanceof FakePromise); +}); + +var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { + PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); +}); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; + +var notify = function (promise, state, isReject) { + if (state.notified) return; + state.notified = true; + var chain = state.reactions; + microtask(function () { + var value = state.value; + var ok = state.state == FULFILLED; + var index = 0; + // variable length - can't use forEach + while (chain.length > index) { + var reaction = chain[index++]; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } + } + state.reactions = []; + state.notified = false; + if (isReject && !state.rejection) onUnhandled(promise, state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (handler = global['on' + name]) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (promise, state) { + task.call(global, function () { + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (promise, state) { + task.call(global, function () { + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, promise, state, unwrap) { + return function (value) { + fn(promise, state, value, unwrap); + }; +}; + +var internalReject = function (promise, state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(promise, state, true); +}; + +var internalResolve = function (promise, state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + then.call(value, + bind(internalResolve, promise, wrapper, state), + bind(internalReject, promise, wrapper, state) + ); + } catch (error) { + internalReject(promise, wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(promise, state, false); + } + } catch (error) { + internalReject(promise, { done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromiseConstructor, PROMISE); + aFunction(executor); + Internal.call(this); + var state = getInternalState(this); + try { + executor(bind(internalResolve, this, state), bind(internalReject, this, state)); + } catch (error) { + internalReject(this, state, error); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: [], + rejection: false, + state: PENDING, + value: undefined + }); + }; + Internal.prototype = redefineAll(PromiseConstructor.prototype, { + // `Promise.prototype.then` method + // https://tc39.github.io/ecma262/#sec-promise.prototype.then + then: function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + state.parent = true; + state.reactions.push(reaction); + if (state.state != PENDING) notify(this, state, false); + return reaction.promise; + }, + // `Promise.prototype.catch` method + // https://tc39.github.io/ecma262/#sec-promise.prototype.catch + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, promise, state); + this.reject = bind(internalReject, promise, state); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && typeof NativePromise == 'function') { + nativeThen = NativePromise.prototype.then; + + // wrap native Promise#then for native async functions + redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + nativeThen.call(that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + + // wrap fetch result + if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, { + // eslint-disable-next-line no-unused-vars + fetch: function fetch(input /* , init */) { + return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); + } + }); + } +} + +$({ global: true, wrap: true, forced: FORCED }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + +PromiseWrapper = getBuiltIn(PROMISE); + +// statics +$({ target: PROMISE, stat: true, forced: FORCED }, { + // `Promise.reject` method + // https://tc39.github.io/ecma262/#sec-promise.reject + reject: function reject(r) { + var capability = newPromiseCapability(this); + capability.reject.call(undefined, r); + return capability.promise; + } +}); + +$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { + // `Promise.resolve` method + // https://tc39.github.io/ecma262/#sec-promise.resolve + resolve: function resolve(x) { + return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); + } +}); + +$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { + // `Promise.all` method + // https://tc39.github.io/ecma262/#sec-promise.all + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aFunction(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + $promiseResolve.call(C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + }, + // `Promise.race` method + // https://tc39.github.io/ecma262/#sec-promise.race + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aFunction(C.resolve); + iterate(iterable, function (promise) { + $promiseResolve.call(C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + +},{"../internals/a-function":2,"../internals/an-instance":6,"../internals/check-correctness-of-iteration":24,"../internals/classof-raw":25,"../internals/engine-v8-version":47,"../internals/export":49,"../internals/get-built-in":56,"../internals/global":59,"../internals/host-report-errors":62,"../internals/inspect-source":68,"../internals/internal-state":70,"../internals/is-forced":73,"../internals/is-object":75,"../internals/is-pure":76,"../internals/iterate":78,"../internals/microtask":85,"../internals/native-promise-constructor":86,"../internals/new-promise-capability":90,"../internals/perform":113,"../internals/promise-resolve":114,"../internals/redefine":116,"../internals/redefine-all":115,"../internals/set-species":124,"../internals/set-to-string-tag":125,"../internals/species-constructor":129,"../internals/task":138,"../internals/well-known-symbol":156}],263:[function(require,module,exports){ +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var fails = require('../internals/fails'); + +var nativeApply = getBuiltIn('Reflect', 'apply'); +var functionApply = Function.apply; + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + nativeApply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.github.io/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + aFunction(target); + anObject(argumentsList); + return nativeApply + ? nativeApply(target, thisArgument, argumentsList) + : functionApply.call(target, thisArgument, argumentsList); + } +}); + +},{"../internals/a-function":2,"../internals/an-object":7,"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":56}],264:[function(require,module,exports){ +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var create = require('../internals/object-create'); +var bind = require('../internals/function-bind'); +var fails = require('../internals/fails'); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); + +// `Reflect.construct` method +// https://tc39.github.io/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + +},{"../internals/a-function":2,"../internals/an-object":7,"../internals/export":49,"../internals/fails":50,"../internals/function-bind":55,"../internals/get-built-in":56,"../internals/is-object":75,"../internals/object-create":96}],265:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var anObject = require('../internals/an-object'); +var toPrimitive = require('../internals/to-primitive'); +var definePropertyModule = require('../internals/object-define-property'); +var fails = require('../internals/fails'); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.github.io/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPrimitive(propertyKey, true); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + +},{"../internals/an-object":7,"../internals/descriptors":42,"../internals/export":49,"../internals/fails":50,"../internals/object-define-property":98,"../internals/to-primitive":148}],266:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; + +// `Reflect.deleteProperty` method +// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + +},{"../internals/an-object":7,"../internals/export":49,"../internals/object-get-own-property-descriptor":99}],267:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var anObject = require('../internals/an-object'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + +},{"../internals/an-object":7,"../internals/descriptors":42,"../internals/export":49,"../internals/object-get-own-property-descriptor":99}],268:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var objectGetPrototypeOf = require('../internals/object-get-prototype-of'); +var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); + +// `Reflect.getPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + +},{"../internals/an-object":7,"../internals/correct-prototype-getter":32,"../internals/export":49,"../internals/object-get-prototype-of":103}],269:[function(require,module,exports){ +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); +var anObject = require('../internals/an-object'); +var has = require('../internals/has'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); + +// `Reflect.get` method +// https://tc39.github.io/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value') + ? descriptor.value + : descriptor.get === undefined + ? undefined + : descriptor.get.call(receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + +},{"../internals/an-object":7,"../internals/export":49,"../internals/has":60,"../internals/is-object":75,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-prototype-of":103}],270:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Reflect.has` method +// https://tc39.github.io/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + +},{"../internals/export":49}],271:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); + +var objectIsExtensible = Object.isExtensible; + +// `Reflect.isExtensible` method +// https://tc39.github.io/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return objectIsExtensible ? objectIsExtensible(target) : true; + } +}); + +},{"../internals/an-object":7,"../internals/export":49}],272:[function(require,module,exports){ +var $ = require('../internals/export'); +var ownKeys = require('../internals/own-keys'); + +// `Reflect.ownKeys` method +// https://tc39.github.io/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + +},{"../internals/export":49,"../internals/own-keys":111}],273:[function(require,module,exports){ +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var FREEZING = require('../internals/freezing'); + +// `Reflect.preventExtensions` method +// https://tc39.github.io/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + +},{"../internals/an-object":7,"../internals/export":49,"../internals/freezing":53,"../internals/get-built-in":56}],274:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var aPossiblePrototype = require('../internals/a-possible-prototype'); +var objectSetPrototypeOf = require('../internals/object-set-prototype-of'); + +// `Reflect.setPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + +},{"../internals/a-possible-prototype":3,"../internals/an-object":7,"../internals/export":49,"../internals/object-set-prototype-of":108}],275:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var has = require('../internals/has'); +var fails = require('../internals/fails'); +var definePropertyModule = require('../internals/object-define-property'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +// `Reflect.set` method +// https://tc39.github.io/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (has(ownDescriptor, 'value')) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + return true; + } + return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true); +} + +// MS Edge 17-18 Reflect.set allows setting the property to object +// with non-writable property on the prototype +var MS_EDGE_BUG = fails(function () { + var object = definePropertyModule.f({}, 'a', { configurable: true }); + // eslint-disable-next-line no-undef + return Reflect.set(getPrototypeOf(object), 'a', 1, object) !== false; +}); + +$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { + set: set +}); + +},{"../internals/an-object":7,"../internals/create-property-descriptor":36,"../internals/export":49,"../internals/fails":50,"../internals/has":60,"../internals/is-object":75,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-prototype-of":103}],276:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var global = require('../internals/global'); +var isForced = require('../internals/is-forced'); +var inheritIfRequired = require('../internals/inherit-if-required'); +var defineProperty = require('../internals/object-define-property').f; +var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var isRegExp = require('../internals/is-regexp'); +var getFlags = require('../internals/regexp-flags'); +var stickyHelpers = require('../internals/regexp-sticky-helpers'); +var redefine = require('../internals/redefine'); +var fails = require('../internals/fails'); +var setInternalState = require('../internals/internal-state').set; +var setSpecies = require('../internals/set-species'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = global.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; + +var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; +}))); + +// `RegExp` constructor +// https://tc39.github.io/ecma262/#sec-regexp-constructor +if (FORCED) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = this instanceof RegExpWrapper; + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + var sticky; + + if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) { + return pattern; + } + + if (CORRECT_NEW) { + if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source; + } else if (pattern instanceof RegExpWrapper) { + if (flagsAreUndefined) flags = getFlags.call(pattern); + pattern = pattern.source; + } + + if (UNSUPPORTED_Y) { + sticky = !!flags && flags.indexOf('y') > -1; + if (sticky) flags = flags.replace(/y/g, ''); + } + + var result = inheritIfRequired( + CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags), + thisIsRegExp ? this : RegExpPrototype, + RegExpWrapper + ); + + if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky }); + + return result; + }; + var proxy = function (key) { + key in RegExpWrapper || defineProperty(RegExpWrapper, key, { + configurable: true, + get: function () { return NativeRegExp[key]; }, + set: function (it) { NativeRegExp[key] = it; } + }); + }; + var keys = getOwnPropertyNames(NativeRegExp); + var index = 0; + while (keys.length > index) proxy(keys[index++]); + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + redefine(global, 'RegExp', RegExpWrapper); +} + +// https://tc39.github.io/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + +},{"../internals/descriptors":42,"../internals/fails":50,"../internals/global":59,"../internals/inherit-if-required":67,"../internals/internal-state":70,"../internals/is-forced":73,"../internals/is-regexp":77,"../internals/object-define-property":98,"../internals/object-get-own-property-names":101,"../internals/redefine":116,"../internals/regexp-flags":119,"../internals/regexp-sticky-helpers":120,"../internals/set-species":124,"../internals/well-known-symbol":156}],277:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var exec = require('../internals/regexp-exec'); + +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + +},{"../internals/export":49,"../internals/regexp-exec":118}],278:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var objectDefinePropertyModule = require('../internals/object-define-property'); +var regExpFlags = require('../internals/regexp-flags'); +var UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y; + +// `RegExp.prototype.flags` getter +// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags +if (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) { + objectDefinePropertyModule.f(RegExp.prototype, 'flags', { + configurable: true, + get: regExpFlags + }); +} + +},{"../internals/descriptors":42,"../internals/object-define-property":98,"../internals/regexp-flags":119,"../internals/regexp-sticky-helpers":120}],279:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y; +var defineProperty = require('../internals/object-define-property').f; +var getInternalState = require('../internals/internal-state').get; +var RegExpPrototype = RegExp.prototype; + +// `RegExp.prototype.sticky` getter +if (DESCRIPTORS && UNSUPPORTED_Y) { + defineProperty(RegExp.prototype, 'sticky', { + configurable: true, + get: function () { + if (this === RegExpPrototype) return undefined; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (this instanceof RegExp) { + return !!getInternalState(this).sticky; + } + throw TypeError('Incompatible receiver, RegExp required'); + } + }); +} + +},{"../internals/descriptors":42,"../internals/internal-state":70,"../internals/object-define-property":98,"../internals/regexp-sticky-helpers":120}],280:[function(require,module,exports){ +'use strict'; +// TODO: Remove from `core-js@4` since it's moved to entry points +require('../modules/es.regexp.exec'); +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); + +var DELEGATES_TO_EXEC = function () { + var execCalled = false; + var re = /[ac]/; + re.exec = function () { + execCalled = true; + return /./.exec.apply(this, arguments); + }; + return re.test('abc') === true && execCalled; +}(); + +var nativeTest = /./.test; + +$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { + test: function (str) { + if (typeof this.exec !== 'function') { + return nativeTest.call(this, str); + } + var result = this.exec(str); + if (result !== null && !isObject(result)) { + throw new Error('RegExp exec method returned something other than an Object or null'); + } + return !!result; + } +}); + +},{"../internals/export":49,"../internals/is-object":75,"../modules/es.regexp.exec":277}],281:[function(require,module,exports){ +'use strict'; +var redefine = require('../internals/redefine'); +var anObject = require('../internals/an-object'); +var fails = require('../internals/fails'); +var flags = require('../internals/regexp-flags'); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = nativeToString.name != TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + redefine(RegExp.prototype, TO_STRING, function toString() { + var R = anObject(this); + var p = String(R.source); + var rf = R.flags; + var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); + return '/' + p + '/' + f; + }, { unsafe: true }); +} + +},{"../internals/an-object":7,"../internals/fails":50,"../internals/redefine":116,"../internals/regexp-flags":119}],282:[function(require,module,exports){ +'use strict'; +var collection = require('../internals/collection'); +var collectionStrong = require('../internals/collection-strong'); + +// `Set` constructor +// https://tc39.github.io/ecma262/#sec-set-objects +module.exports = collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + +},{"../internals/collection":29,"../internals/collection-strong":27}],283:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.anchor` method +// https://tc39.github.io/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],284:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.big` method +// https://tc39.github.io/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],285:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.blink` method +// https://tc39.github.io/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],286:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.bold` method +// https://tc39.github.io/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],287:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var codeAt = require('../internals/string-multibyte').codeAt; + +// `String.prototype.codePointAt` method +// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + +},{"../internals/export":49,"../internals/string-multibyte":131}],288:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var toLength = require('../internals/to-length'); +var notARegExp = require('../internals/not-a-regexp'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); +var IS_PURE = require('../internals/is-pure'); + +var nativeEndsWith = ''.endsWith; +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.endsWith` method +// https://tc39.github.io/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = String(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = String(searchString); + return nativeEndsWith + ? nativeEndsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); + +},{"../internals/correct-is-regexp-logic":31,"../internals/export":49,"../internals/is-pure":76,"../internals/not-a-regexp":91,"../internals/object-get-own-property-descriptor":99,"../internals/require-object-coercible":121,"../internals/to-length":144}],289:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.fixed` method +// https://tc39.github.io/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],290:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.fontcolor` method +// https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],291:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.fontsize` method +// https://tc39.github.io/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],292:[function(require,module,exports){ +var $ = require('../internals/export'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); + +var fromCharCode = String.fromCharCode; +var nativeFromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; + +// `String.fromCodePoint` method +// https://tc39.github.io/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, { + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point'); + elements.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00) + ); + } return elements.join(''); + } +}); + +},{"../internals/export":49,"../internals/to-absolute-index":140}],293:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var notARegExp = require('../internals/not-a-regexp'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); + +// `String.prototype.includes` method +// https://tc39.github.io/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~String(requireObjectCoercible(this)) + .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/correct-is-regexp-logic":31,"../internals/export":49,"../internals/not-a-regexp":91,"../internals/require-object-coercible":121}],294:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.italics` method +// https://tc39.github.io/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],295:[function(require,module,exports){ +'use strict'; +var charAt = require('../internals/string-multibyte').charAt; +var InternalStateModule = require('../internals/internal-state'); +var defineIterator = require('../internals/define-iterator'); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: String(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: point, done: false }; +}); + +},{"../internals/define-iterator":40,"../internals/internal-state":70,"../internals/string-multibyte":131}],296:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.link` method +// https://tc39.github.io/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],297:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var toLength = require('../internals/to-length'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var classof = require('../internals/classof-raw'); +var isRegExp = require('../internals/is-regexp'); +var getRegExpFlags = require('../internals/regexp-flags'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var speciesConstructor = require('../internals/species-constructor'); +var advanceStringIndex = require('../internals/advance-string-index'); +var InternalStateModule = require('../internals/internal-state'); +var IS_PURE = require('../internals/is-pure'); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var regExpBuiltinExec = RegExpPrototype.exec; +var nativeMatchAll = ''.matchAll; + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + 'a'.matchAll(/./); +}); + +var regExpExec = function (R, S) { + var exec = R.exec; + var result; + if (typeof exec == 'function') { + result = exec.call(R, S); + if (typeof result != 'object') throw TypeError('Incorrect exec result'); + return result; + } return regExpBuiltinExec.call(R, S); +}; + +// eslint-disable-next-line max-len +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return { value: undefined, done: true }; + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) return { value: undefined, done: state.done = true }; + if (state.global) { + if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return { value: match, done: false }; + } + state.done = true; + return { value: match, done: false }; +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = String(string); + var C, flagsValue, flags, matcher, global, fullUnicode; + C = speciesConstructor(R, RegExp); + flagsValue = R.flags; + if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype)) { + flagsValue = getRegExpFlags.call(R); + } + flags = flagsValue === undefined ? '' : String(flagsValue); + matcher = new C(C === RegExp ? R.source : R, flags); + global = !!~flags.indexOf('g'); + fullUnicode = !!~flags.indexOf('u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://github.com/tc39/proposal-string-matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (regexp != null) { + if (isRegExp(regexp)) { + flags = String(requireObjectCoercible('flags' in RegExpPrototype + ? regexp.flags + : getRegExpFlags.call(regexp) + )); + if (!~flags.indexOf('g')) throw TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); + matcher = regexp[MATCH_ALL]; + if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll; + if (matcher != null) return aFunction(matcher).call(regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); + S = String(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? $matchAll.call(rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || createNonEnumerableProperty(RegExpPrototype, MATCH_ALL, $matchAll); + +},{"../internals/a-function":2,"../internals/advance-string-index":5,"../internals/an-object":7,"../internals/classof-raw":25,"../internals/create-iterator-constructor":34,"../internals/create-non-enumerable-property":35,"../internals/export":49,"../internals/fails":50,"../internals/internal-state":70,"../internals/is-pure":76,"../internals/is-regexp":77,"../internals/regexp-flags":119,"../internals/require-object-coercible":121,"../internals/species-constructor":129,"../internals/to-length":144,"../internals/well-known-symbol":156}],298:[function(require,module,exports){ +'use strict'; +var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); +var anObject = require('../internals/an-object'); +var toLength = require('../internals/to-length'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var advanceStringIndex = require('../internals/advance-string-index'); +var regExpExec = require('../internals/regexp-exec-abstract'); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.github.io/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = regexp == undefined ? undefined : regexp[MATCH]; + return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match + function (regexp) { + var res = maybeCallNative(nativeMatch, regexp, this); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = String(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + +},{"../internals/advance-string-index":5,"../internals/an-object":7,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":117,"../internals/require-object-coercible":121,"../internals/to-length":144}],299:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $padEnd = require('../internals/string-pad').end; +var WEBKIT_BUG = require('../internals/string-pad-webkit-bug'); + +// `String.prototype.padEnd` method +// https://tc39.github.io/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/export":49,"../internals/string-pad":133,"../internals/string-pad-webkit-bug":132}],300:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $padStart = require('../internals/string-pad').start; +var WEBKIT_BUG = require('../internals/string-pad-webkit-bug'); + +// `String.prototype.padStart` method +// https://tc39.github.io/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/export":49,"../internals/string-pad":133,"../internals/string-pad-webkit-bug":132}],301:[function(require,module,exports){ +var $ = require('../internals/export'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toLength = require('../internals/to-length'); + +// `String.raw` method +// https://tc39.github.io/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(template.raw); + var literalSegments = toLength(rawTemplate.length); + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (literalSegments > i) { + elements.push(String(rawTemplate[i++])); + if (i < argumentsLength) elements.push(String(arguments[i])); + } return elements.join(''); + } +}); + +},{"../internals/export":49,"../internals/to-indexed-object":142,"../internals/to-length":144}],302:[function(require,module,exports){ +var $ = require('../internals/export'); +var repeat = require('../internals/string-repeat'); + +// `String.prototype.repeat` method +// https://tc39.github.io/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + +},{"../internals/export":49,"../internals/string-repeat":135}],303:[function(require,module,exports){ +'use strict'; +var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); +var anObject = require('../internals/an-object'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var toInteger = require('../internals/to-integer'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var advanceStringIndex = require('../internals/advance-string-index'); +var regExpExec = require('../internals/regexp-exec-abstract'); + +var max = Math.max; +var min = Math.min; +var floor = Math.floor; +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) { + var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE; + var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0; + var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; + + return [ + // `String.prototype.replace` method + // https://tc39.github.io/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; + return replacer !== undefined + ? replacer.call(searchValue, O, replaceValue) + : nativeReplace.call(String(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace + function (regexp, replaceValue) { + if ( + (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) || + (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) + ) { + var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); + if (res.done) return res.value; + } + + var rx = anObject(regexp); + var S = String(this); + + var functionalReplace = typeof replaceValue === 'function'; + if (!functionalReplace) replaceValue = String(replaceValue); + + var global = rx.global; + if (global) { + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + var results = []; + while (true) { + var result = regExpExec(rx, S); + if (result === null) break; + + results.push(result); + if (!global) break; + + var matchStr = String(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = String(result[0]); + var position = max(min(toInteger(result.index), S.length), 0); + var captures = []; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = [matched].concat(captures, position, S); + if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); + var replacement = String(replaceValue.apply(undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += S.slice(nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + return accumulatedResult + S.slice(nextSourcePosition); + } + ]; + + // https://tc39.github.io/ecma262/#sec-getsubstitution + function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return nativeReplace.call(replacement, symbols, function (match, ch) { + var capture; + switch (ch.charAt(0)) { + case '$': return '$'; + case '&': return matched; + case '`': return str.slice(0, position); + case "'": return str.slice(tailPos); + case '<': + capture = namedCaptures[ch.slice(1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); + } +}); + +},{"../internals/advance-string-index":5,"../internals/an-object":7,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":117,"../internals/require-object-coercible":121,"../internals/to-integer":143,"../internals/to-length":144,"../internals/to-object":145}],304:[function(require,module,exports){ +'use strict'; +var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); +var anObject = require('../internals/an-object'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var sameValue = require('../internals/same-value'); +var regExpExec = require('../internals/regexp-exec-abstract'); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.github.io/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = regexp == undefined ? undefined : regexp[SEARCH]; + return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search + function (regexp) { + var res = maybeCallNative(nativeSearch, regexp, this); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + +},{"../internals/an-object":7,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":117,"../internals/require-object-coercible":121,"../internals/same-value":122}],305:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.small` method +// https://tc39.github.io/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],306:[function(require,module,exports){ +'use strict'; +var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); +var isRegExp = require('../internals/is-regexp'); +var anObject = require('../internals/an-object'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var speciesConstructor = require('../internals/species-constructor'); +var advanceStringIndex = require('../internals/advance-string-index'); +var toLength = require('../internals/to-length'); +var callRegExpExec = require('../internals/regexp-exec-abstract'); +var regexpExec = require('../internals/regexp-exec'); +var fails = require('../internals/fails'); + +var arrayPush = [].push; +var min = Math.min; +var MAX_UINT32 = 0xFFFFFFFF; + +// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError +var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit; + if ( + 'abbc'.split(/(b)*/)[1] == 'c' || + 'test'.split(/(?:)/, -1).length != 4 || + 'ab'.split(/(?:ab)*/).length != 2 || + '.'.split(/(.?)(.?)/).length != 4 || + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length + ) { + // based on es5-shim implementation, need to rework it + internalSplit = function (separator, limit) { + var string = String(requireObjectCoercible(this)); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (separator === undefined) return [string]; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) { + return nativeSplit.call(string, separator, lim); + } + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var match, lastIndex, lastLength; + while (match = regexpExec.call(separatorCopy, string)) { + lastIndex = separatorCopy.lastIndex; + if (lastIndex > lastLastIndex) { + output.push(string.slice(lastLastIndex, match.index)); + if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); + lastLength = match[0].length; + lastLastIndex = lastIndex; + if (output.length >= lim) break; + } + if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop + } + if (lastLastIndex === string.length) { + if (lastLength || !separatorCopy.test('')) output.push(''); + } else output.push(string.slice(lastLastIndex)); + return output.length > lim ? output.slice(0, lim) : output; + }; + // Chakra, V8 + } else if ('0'.split(undefined, 0).length) { + internalSplit = function (separator, limit) { + return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); + }; + } else internalSplit = nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.github.io/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = separator == undefined ? undefined : separator[SPLIT]; + return splitter !== undefined + ? splitter.call(separator, O, limit) + : internalSplit.call(String(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (regexp, limit) { + var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + var C = speciesConstructor(rx, RegExp); + + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (SUPPORTS_Y ? 'y' : 'g'); + + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = SUPPORTS_Y ? q : 0; + var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + A.push(S.slice(p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + A.push(z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + A.push(S.slice(p)); + return A; + } + ]; +}, !SUPPORTS_Y); + +},{"../internals/advance-string-index":5,"../internals/an-object":7,"../internals/fails":50,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/is-regexp":77,"../internals/regexp-exec":118,"../internals/regexp-exec-abstract":117,"../internals/require-object-coercible":121,"../internals/species-constructor":129,"../internals/to-length":144}],307:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var toLength = require('../internals/to-length'); +var notARegExp = require('../internals/not-a-regexp'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); +var IS_PURE = require('../internals/is-pure'); + +var nativeStartsWith = ''.startsWith; +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.github.io/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = String(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return nativeStartsWith + ? nativeStartsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + +},{"../internals/correct-is-regexp-logic":31,"../internals/export":49,"../internals/is-pure":76,"../internals/not-a-regexp":91,"../internals/object-get-own-property-descriptor":99,"../internals/require-object-coercible":121,"../internals/to-length":144}],308:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.strike` method +// https://tc39.github.io/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],309:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.sub` method +// https://tc39.github.io/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],310:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/string-html-forced'); + +// `String.prototype.sup` method +// https://tc39.github.io/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + +},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],311:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $trimEnd = require('../internals/string-trim').end; +var forcedStringTrimMethod = require('../internals/string-trim-forced'); + +var FORCED = forcedStringTrimMethod('trimEnd'); + +var trimEnd = FORCED ? function trimEnd() { + return $trimEnd(this); +} : ''.trimEnd; + +// `String.prototype.{ trimEnd, trimRight }` methods +// https://github.com/tc39/ecmascript-string-left-right-trim +$({ target: 'String', proto: true, forced: FORCED }, { + trimEnd: trimEnd, + trimRight: trimEnd +}); + +},{"../internals/export":49,"../internals/string-trim":137,"../internals/string-trim-forced":136}],312:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $trimStart = require('../internals/string-trim').start; +var forcedStringTrimMethod = require('../internals/string-trim-forced'); + +var FORCED = forcedStringTrimMethod('trimStart'); + +var trimStart = FORCED ? function trimStart() { + return $trimStart(this); +} : ''.trimStart; + +// `String.prototype.{ trimStart, trimLeft }` methods +// https://github.com/tc39/ecmascript-string-left-right-trim +$({ target: 'String', proto: true, forced: FORCED }, { + trimStart: trimStart, + trimLeft: trimStart +}); + +},{"../internals/export":49,"../internals/string-trim":137,"../internals/string-trim-forced":136}],313:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $trim = require('../internals/string-trim').trim; +var forcedStringTrimMethod = require('../internals/string-trim-forced'); + +// `String.prototype.trim` method +// https://tc39.github.io/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + +},{"../internals/export":49,"../internals/string-trim":137,"../internals/string-trim-forced":136}],314:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + +},{"../internals/define-well-known-symbol":41}],315:[function(require,module,exports){ +// `Symbol.prototype.description` getter +// https://tc39.github.io/ecma262/#sec-symbol.prototype.description +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var global = require('../internals/global'); +var has = require('../internals/has'); +var isObject = require('../internals/is-object'); +var defineProperty = require('../internals/object-define-property').f; +var copyConstructorProperties = require('../internals/copy-constructor-properties'); + +var NativeSymbol = global.Symbol; + +if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); + var result = this instanceof SymbolWrapper + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + copyConstructorProperties(SymbolWrapper, NativeSymbol); + var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; + symbolPrototype.constructor = SymbolWrapper; + + var symbolToString = symbolPrototype.toString; + var native = String(NativeSymbol('test')) == 'Symbol(test)'; + var regexp = /^Symbol\((.*)\)[^)]+$/; + defineProperty(symbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = isObject(this) ? this.valueOf() : this; + var string = symbolToString.call(symbol); + if (has(EmptyStringDescriptionStore, symbol)) return ''; + var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + +},{"../internals/copy-constructor-properties":30,"../internals/descriptors":42,"../internals/export":49,"../internals/global":59,"../internals/has":60,"../internals/is-object":75,"../internals/object-define-property":98}],316:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + +},{"../internals/define-well-known-symbol":41}],317:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + +},{"../internals/define-well-known-symbol":41}],318:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.iterator` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + +},{"../internals/define-well-known-symbol":41}],319:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var getBuiltIn = require('../internals/get-built-in'); +var IS_PURE = require('../internals/is-pure'); +var DESCRIPTORS = require('../internals/descriptors'); +var NATIVE_SYMBOL = require('../internals/native-symbol'); +var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid'); +var fails = require('../internals/fails'); +var has = require('../internals/has'); +var isArray = require('../internals/is-array'); +var isObject = require('../internals/is-object'); +var anObject = require('../internals/an-object'); +var toObject = require('../internals/to-object'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toPrimitive = require('../internals/to-primitive'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var nativeObjectCreate = require('../internals/object-create'); +var objectKeys = require('../internals/object-keys'); +var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); +var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external'); +var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var definePropertyModule = require('../internals/object-define-property'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var shared = require('../internals/shared'); +var sharedKey = require('../internals/shared-key'); +var hiddenKeys = require('../internals/hidden-keys'); +var uid = require('../internals/uid'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped'); +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); +var setToStringTag = require('../internals/set-to-string-tag'); +var InternalStateModule = require('../internals/internal-state'); +var $forEach = require('../internals/array-iteration').forEach; + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = global.Symbol; +var $stringify = getBuiltIn('JSON', 'stringify'); +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); +var WellKnownSymbolsStore = shared('wks'); +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +} : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var isSymbol = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return Object(it) instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPrimitive(P, true); + anObject(Attributes); + if (has(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPrimitive(V, true); + var enumerable = nativePropertyIsEnumerable.call(this, P); + if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false; + return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPrimitive(P, true); + if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key); + }); + return result; +}; + +var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { + result.push(AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.github.io/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return getInternalState(this).tag; + }); + + redefine($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + nativeDefineProperty($Symbol[PROTOTYPE], 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + // `Symbol.for` method + // https://tc39.github.io/ecma262/#sec-symbol.for + 'for': function (key) { + var string = String(key); + if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = $Symbol(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + }, + // `Symbol.keyFor` method + // https://tc39.github.io/ecma262/#sec-symbol.keyfor + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); + if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + }, + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.github.io/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.github.io/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.github.io/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.github.io/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames, + // `Object.getOwnPropertySymbols` method + // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + return getOwnPropertySymbolsModule.f(toObject(it)); + } +}); + +// `JSON.stringify` method behavior with symbols +// https://tc39.github.io/ecma262/#sec-json.stringify +if ($stringify) { + var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { + var symbol = $Symbol(); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) != '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) != '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) != '{}'; + }); + + $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { + // eslint-disable-next-line no-unused-vars + stringify: function stringify(it, replacer, space) { + var args = [it]; + var index = 1; + var $replacer; + while (arguments.length > index) args.push(arguments[index++]); + $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return $stringify.apply(null, args); + } + }); +} + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive +if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { + createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +} +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + +},{"../internals/an-object":7,"../internals/array-iteration":16,"../internals/create-non-enumerable-property":35,"../internals/create-property-descriptor":36,"../internals/define-well-known-symbol":41,"../internals/descriptors":42,"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":56,"../internals/global":59,"../internals/has":60,"../internals/hidden-keys":61,"../internals/internal-state":70,"../internals/is-array":72,"../internals/is-object":75,"../internals/is-pure":76,"../internals/native-symbol":87,"../internals/object-create":96,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-own-property-names":101,"../internals/object-get-own-property-names-external":100,"../internals/object-get-own-property-symbols":102,"../internals/object-keys":105,"../internals/object-property-is-enumerable":106,"../internals/redefine":116,"../internals/set-to-string-tag":125,"../internals/shared":128,"../internals/shared-key":126,"../internals/to-indexed-object":142,"../internals/to-object":145,"../internals/to-primitive":148,"../internals/uid":153,"../internals/use-symbol-as-uid":154,"../internals/well-known-symbol":156,"../internals/well-known-symbol-wrapped":155}],320:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.matchAll` well-known symbol +defineWellKnownSymbol('matchAll'); + +},{"../internals/define-well-known-symbol":41}],321:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.match` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + +},{"../internals/define-well-known-symbol":41}],322:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.replace` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + +},{"../internals/define-well-known-symbol":41}],323:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.search` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + +},{"../internals/define-well-known-symbol":41}],324:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.species` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + +},{"../internals/define-well-known-symbol":41}],325:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.split` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + +},{"../internals/define-well-known-symbol":41}],326:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +},{"../internals/define-well-known-symbol":41}],327:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +},{"../internals/define-well-known-symbol":41}],328:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.unscopables` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + +},{"../internals/define-well-known-symbol":41}],329:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $copyWithin = require('../internals/array-copy-within'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin +exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { + return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-copy-within":11}],330:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $every = require('../internals/array-iteration').every; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.every` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every +exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],331:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $fill = require('../internals/array-fill'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.fill` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill +// eslint-disable-next-line no-unused-vars +exportTypedArrayMethod('fill', function fill(value /* , start, end */) { + return $fill.apply(aTypedArray(this), arguments); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-fill":12}],332:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $filter = require('../internals/array-iteration').filter; +var speciesConstructor = require('../internals/species-constructor'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filter` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter +exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var C = speciesConstructor(this, this.constructor); + var index = 0; + var length = list.length; + var result = new (aTypedArrayConstructor(C))(length); + while (length > index) result[index] = list[index++]; + return result; +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16,"../internals/species-constructor":129}],333:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $findIndex = require('../internals/array-iteration').findIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],334:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $find = require('../internals/array-iteration').find; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.find` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find +exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],335:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Float32Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float32', function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":150}],336:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Float64Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float64', function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":150}],337:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $forEach = require('../internals/array-iteration').forEach; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach +exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],338:[function(require,module,exports){ +'use strict'; +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers'); +var exportTypedArrayStaticMethod = require('../internals/array-buffer-view-core').exportTypedArrayStaticMethod; +var typedArrayFrom = require('../internals/typed-array-from'); + +// `%TypedArray%.from` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.from +exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + +},{"../internals/array-buffer-view-core":9,"../internals/typed-array-constructors-require-wrappers":151,"../internals/typed-array-from":152}],339:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $includes = require('../internals/array-includes').includes; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.includes` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes +exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-includes":15}],340:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $indexOf = require('../internals/array-includes').indexOf; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof +exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-includes":15}],341:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Int16Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int16', function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":150}],342:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Int32Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int32', function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":150}],343:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Int8Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int8', function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":150}],344:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var ArrayIterators = require('../modules/es.array.iterator'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = global.Uint8Array; +var arrayValues = ArrayIterators.values; +var arrayKeys = ArrayIterators.keys; +var arrayEntries = ArrayIterators.entries; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR]; + +var CORRECT_ITER_NAME = !!nativeTypedArrayIterator + && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); + +var typedArrayValues = function values() { + return arrayValues.call(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries +exportTypedArrayMethod('entries', function entries() { + return arrayEntries.call(aTypedArray(this)); +}); +// `%TypedArray%.prototype.keys` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys +exportTypedArrayMethod('keys', function keys() { + return arrayKeys.call(aTypedArray(this)); +}); +// `%TypedArray%.prototype.values` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values +exportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator +exportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME); + +},{"../internals/array-buffer-view-core":9,"../internals/global":59,"../internals/well-known-symbol":156,"../modules/es.array.iterator":175}],345:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $join = [].join; + +// `%TypedArray%.prototype.join` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join +// eslint-disable-next-line no-unused-vars +exportTypedArrayMethod('join', function join(separator) { + return $join.apply(aTypedArray(this), arguments); +}); + +},{"../internals/array-buffer-view-core":9}],346:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $lastIndexOf = require('../internals/array-last-index-of'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof +// eslint-disable-next-line no-unused-vars +exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + return $lastIndexOf.apply(aTypedArray(this), arguments); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-last-index-of":17}],347:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $map = require('../internals/array-iteration').map; +var speciesConstructor = require('../internals/species-constructor'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length); + }); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16,"../internals/species-constructor":129}],348:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers'); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.of` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.of +exportTypedArrayStaticMethod('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + +},{"../internals/array-buffer-view-core":9,"../internals/typed-array-constructors-require-wrappers":151}],349:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $reduceRight = require('../internals/array-reduce').right; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduceRicht` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright +exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-reduce":21}],350:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $reduce = require('../internals/array-reduce').left; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce +exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { + return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-reduce":21}],351:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse +exportTypedArrayMethod('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + +},{"../internals/array-buffer-view-core":9}],352:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var toLength = require('../internals/to-length'); +var toOffset = require('../internals/to-offset'); +var toObject = require('../internals/to-object'); +var fails = require('../internals/fails'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var FORCED = fails(function () { + // eslint-disable-next-line no-undef + new Int8Array(1).set({}); +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, FORCED); + +},{"../internals/array-buffer-view-core":9,"../internals/fails":50,"../internals/to-length":144,"../internals/to-object":145,"../internals/to-offset":146}],353:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var speciesConstructor = require('../internals/species-constructor'); +var fails = require('../internals/fails'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $slice = [].slice; + +var FORCED = fails(function () { + // eslint-disable-next-line no-undef + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice +exportTypedArrayMethod('slice', function slice(start, end) { + var list = $slice.call(aTypedArray(this), start, end); + var C = speciesConstructor(this, this.constructor); + var index = 0; + var length = list.length; + var result = new (aTypedArrayConstructor(C))(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + +},{"../internals/array-buffer-view-core":9,"../internals/fails":50,"../internals/species-constructor":129}],354:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $some = require('../internals/array-iteration').some; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.some` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some +exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],355:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $sort = [].sort; + +// `%TypedArray%.prototype.sort` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort +exportTypedArrayMethod('sort', function sort(comparefn) { + return $sort.call(aTypedArray(this), comparefn); +}); + +},{"../internals/array-buffer-view-core":9}],356:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var toLength = require('../internals/to-length'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var speciesConstructor = require('../internals/species-constructor'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray +exportTypedArrayMethod('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + return new (speciesConstructor(O, O.constructor))( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + +},{"../internals/array-buffer-view-core":9,"../internals/species-constructor":129,"../internals/to-absolute-index":140,"../internals/to-length":144}],357:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var fails = require('../internals/fails'); + +var Int8Array = global.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $toLocaleString = [].toLocaleString; +var $slice = [].slice; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring +exportTypedArrayMethod('toLocaleString', function toLocaleString() { + return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments); +}, FORCED); + +},{"../internals/array-buffer-view-core":9,"../internals/fails":50,"../internals/global":59}],358:[function(require,module,exports){ +'use strict'; +var exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod; +var fails = require('../internals/fails'); +var global = require('../internals/global'); + +var Uint8Array = global.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; +var arrayToString = [].toString; +var arrayJoin = [].join; + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return arrayJoin.call(this); + }; +} + +var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString; + +// `%TypedArray%.prototype.toString` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring +exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); + +},{"../internals/array-buffer-view-core":9,"../internals/fails":50,"../internals/global":59}],359:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Uint16Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint16', function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":150}],360:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Uint32Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint32', function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":150}],361:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Uint8Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":150}],362:[function(require,module,exports){ +var createTypedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Uint8ClampedArray` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + +},{"../internals/typed-array-constructor":150}],363:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var redefineAll = require('../internals/redefine-all'); +var InternalMetadataModule = require('../internals/internal-metadata'); +var collection = require('../internals/collection'); +var collectionWeak = require('../internals/collection-weak'); +var isObject = require('../internals/is-object'); +var enforceIternalState = require('../internals/internal-state').enforce; +var NATIVE_WEAK_MAP = require('../internals/native-weak-map'); + +var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; +var isExtensible = Object.isExtensible; +var InternalWeakMap; + +var wrapper = function (init) { + return function WeakMap() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.github.io/ecma262/#sec-weakmap-constructor +var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak); + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP && IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.REQUIRED = true; + var WeakMapPrototype = $WeakMap.prototype; + var nativeDelete = WeakMapPrototype['delete']; + var nativeHas = WeakMapPrototype.has; + var nativeGet = WeakMapPrototype.get; + var nativeSet = WeakMapPrototype.set; + redefineAll(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete.call(this, key) || state.frozen['delete'](key); + } return nativeDelete.call(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas.call(this, key) || state.frozen.has(key); + } return nativeHas.call(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key); + } return nativeGet.call(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value); + } else nativeSet.call(this, key, value); + return this; + } + }); +} + +},{"../internals/collection":29,"../internals/collection-weak":28,"../internals/global":59,"../internals/internal-metadata":69,"../internals/internal-state":70,"../internals/is-object":75,"../internals/native-weak-map":89,"../internals/redefine-all":115}],364:[function(require,module,exports){ +'use strict'; +var collection = require('../internals/collection'); +var collectionWeak = require('../internals/collection-weak'); + +// `WeakSet` constructor +// https://tc39.github.io/ecma262/#sec-weakset-constructor +collection('WeakSet', function (init) { + return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak); + +},{"../internals/collection":29,"../internals/collection-weak":28}],365:[function(require,module,exports){ +var global = require('../internals/global'); +var DOMIterables = require('../internals/dom-iterables'); +var forEach = require('../internals/array-for-each'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +} + +},{"../internals/array-for-each":13,"../internals/create-non-enumerable-property":35,"../internals/dom-iterables":44,"../internals/global":59}],366:[function(require,module,exports){ +var global = require('../internals/global'); +var DOMIterables = require('../internals/dom-iterables'); +var ArrayIteratorMethods = require('../modules/es.array.iterator'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ArrayValues = ArrayIteratorMethods.values; + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + if (!CollectionPrototype[TO_STRING_TAG]) { + createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); + } + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +} + +},{"../internals/create-non-enumerable-property":35,"../internals/dom-iterables":44,"../internals/global":59,"../internals/well-known-symbol":156,"../modules/es.array.iterator":175}],367:[function(require,module,exports){ +var $ = require('../internals/export'); +var global = require('../internals/global'); +var task = require('../internals/task'); + +var FORCED = !global.setImmediate || !global.clearImmediate; + +// http://w3c.github.io/setImmediate/ +$({ global: true, bind: true, enumerable: true, forced: FORCED }, { + // `setImmediate` method + // http://w3c.github.io/setImmediate/#si-setImmediate + setImmediate: task.set, + // `clearImmediate` method + // http://w3c.github.io/setImmediate/#si-clearImmediate + clearImmediate: task.clear +}); + +},{"../internals/export":49,"../internals/global":59,"../internals/task":138}],368:[function(require,module,exports){ +var $ = require('../internals/export'); +var global = require('../internals/global'); +var microtask = require('../internals/microtask'); +var classof = require('../internals/classof-raw'); + +var process = global.process; +var isNode = classof(process) == 'process'; + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, noTargetGet: true }, { + queueMicrotask: function queueMicrotask(fn) { + var domain = isNode && process.domain; + microtask(domain ? domain.bind(fn) : fn); + } +}); + +},{"../internals/classof-raw":25,"../internals/export":49,"../internals/global":59,"../internals/microtask":85}],369:[function(require,module,exports){ +var $ = require('../internals/export'); +var global = require('../internals/global'); +var userAgent = require('../internals/engine-user-agent'); + +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check + +var wrap = function (scheduler) { + return function (handler, timeout /* , ...arguments */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : undefined; + return scheduler(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof handler == 'function' ? handler : Function(handler)).apply(this, args); + } : handler, timeout); + }; +}; + +// ie9- setTimeout & setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +$({ global: true, bind: true, forced: MSIE }, { + // `setTimeout` method + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout + setTimeout: wrap(global.setTimeout), + // `setInterval` method + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval + setInterval: wrap(global.setInterval) +}); + +},{"../internals/engine-user-agent":46,"../internals/export":49,"../internals/global":59}],370:[function(require,module,exports){ +'use strict'; +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +require('../modules/es.array.iterator'); +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var USE_NATIVE_URL = require('../internals/native-url'); +var redefine = require('../internals/redefine'); +var redefineAll = require('../internals/redefine-all'); +var setToStringTag = require('../internals/set-to-string-tag'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var InternalStateModule = require('../internals/internal-state'); +var anInstance = require('../internals/an-instance'); +var hasOwn = require('../internals/has'); +var bind = require('../internals/function-bind-context'); +var classof = require('../internals/classof'); +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var create = require('../internals/object-create'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var getIterator = require('../internals/get-iterator'); +var getIteratorMethod = require('../internals/get-iterator-method'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var $fetch = getBuiltIn('fetch'); +var Headers = getBuiltIn('Headers'); +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); + +var plus = /\+/g; +var sequences = Array(4); + +var percentSequence = function (bytes) { + return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); +}; + +var percentDecode = function (sequence) { + try { + return decodeURIComponent(sequence); + } catch (error) { + return sequence; + } +}; + +var deserialize = function (it) { + var result = it.replace(plus, ' '); + var bytes = 4; + try { + return decodeURIComponent(result); + } catch (error) { + while (bytes) { + result = result.replace(percentSequence(bytes--), percentDecode); + } + return result; + } +}; + +var find = /[!'()~]|%20/g; + +var replace = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replace[match]; +}; + +var serialize = function (it) { + return encodeURIComponent(it).replace(find, replacer); +}; + +var parseSearchParams = function (result, query) { + if (query) { + var attributes = query.split('&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = attribute.split('='); + result.push({ + key: deserialize(entry.shift()), + value: deserialize(entry.join('=')) + }); + } + } + } +}; + +var updateSearchParams = function (query) { + this.entries.length = 0; + parseSearchParams(this.entries, query); +}; + +var validateArgumentsLength = function (passed, required) { + if (passed < required) throw TypeError('Not enough arguments'); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + iterator: getIterator(getInternalParamsState(params).entries), + kind: kind + }); +}, 'Iterator', function next() { + var state = getInternalIteratorState(this); + var kind = state.kind; + var step = state.iterator.next(); + var entry = step.value; + if (!step.done) { + step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; + } return step; +}); + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); + var init = arguments.length > 0 ? arguments[0] : undefined; + var that = this; + var entries = []; + var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; + + setInternalState(that, { + type: URL_SEARCH_PARAMS, + entries: entries, + updateURL: function () { /* empty */ }, + updateSearchParams: updateSearchParams + }); + + if (init !== undefined) { + if (isObject(init)) { + iteratorMethod = getIteratorMethod(init); + if (typeof iteratorMethod === 'function') { + iterator = iteratorMethod.call(init); + next = iterator.next; + while (!(step = next.call(iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = entryNext.call(entryIterator)).done || + (second = entryNext.call(entryIterator)).done || + !entryNext.call(entryIterator).done + ) throw TypeError('Expected sequence with length 2'); + entries.push({ key: first.value + '', value: second.value + '' }); + } + } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' }); + } else { + parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); + } + } +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +redefineAll(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.appent` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + validateArgumentsLength(arguments.length, 2); + var state = getInternalParamsState(this); + state.entries.push({ key: name + '', value: value + '' }); + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name) { + validateArgumentsLength(arguments.length, 1); + var state = getInternalParamsState(this); + var entries = state.entries; + var key = name + ''; + var index = 0; + while (index < entries.length) { + if (entries[index].key === key) entries.splice(index, 1); + else index++; + } + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = name + ''; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = name + ''; + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) result.push(entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = name + ''; + var index = 0; + while (index < entries.length) { + if (entries[index++].key === key) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + validateArgumentsLength(arguments.length, 1); + var state = getInternalParamsState(this); + var entries = state.entries; + var found = false; + var key = name + ''; + var val = value + ''; + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) entries.splice(index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) entries.push({ key: key, value: val }); + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + var entries = state.entries; + // Array#sort is not stable in some engines + var slice = entries.slice(); + var entry, entriesIndex, sliceIndex; + entries.length = 0; + for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { + entry = slice[sliceIndex]; + for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { + if (entries[entriesIndex].key > entry.key) { + entries.splice(entriesIndex, 0, entry); + break; + } + } + if (entriesIndex === sliceIndex) entries.push(entry); + } + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +redefine(URLSearchParamsPrototype, 'toString', function toString() { + var entries = getInternalParamsState(this).entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + result.push(serialize(entry.key) + '=' + serialize(entry.value)); + } return result.join('&'); +}, { enumerable: true }); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` for correct work with polyfilled `URLSearchParams` +// https://github.com/zloirock/core-js/issues/674 +if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') { + $({ global: true, enumerable: true, forced: true }, { + fetch: function fetch(input /* , init */) { + var args = [input]; + var init, body, headers; + if (arguments.length > 1) { + init = arguments[1]; + if (isObject(init)) { + body = init.body; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headers.has('content-type')) { + headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + init = create(init, { + body: createPropertyDescriptor(0, String(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } + args.push(init); + } return $fetch.apply(this, args); + } + }); +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + +},{"../internals/an-instance":6,"../internals/an-object":7,"../internals/classof":26,"../internals/create-iterator-constructor":34,"../internals/create-property-descriptor":36,"../internals/export":49,"../internals/function-bind-context":54,"../internals/get-built-in":56,"../internals/get-iterator":58,"../internals/get-iterator-method":57,"../internals/has":60,"../internals/internal-state":70,"../internals/is-object":75,"../internals/native-url":88,"../internals/object-create":96,"../internals/redefine":116,"../internals/redefine-all":115,"../internals/set-to-string-tag":125,"../internals/well-known-symbol":156,"../modules/es.array.iterator":175}],371:[function(require,module,exports){ +'use strict'; +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +require('../modules/es.string.iterator'); +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var USE_NATIVE_URL = require('../internals/native-url'); +var global = require('../internals/global'); +var defineProperties = require('../internals/object-define-properties'); +var redefine = require('../internals/redefine'); +var anInstance = require('../internals/an-instance'); +var has = require('../internals/has'); +var assign = require('../internals/object-assign'); +var arrayFrom = require('../internals/array-from'); +var codeAt = require('../internals/string-multibyte').codeAt; +var toASCII = require('../internals/string-punycode-to-ascii'); +var setToStringTag = require('../internals/set-to-string-tag'); +var URLSearchParamsModule = require('../modules/web.url-search-params'); +var InternalStateModule = require('../internals/internal-state'); + +var NativeURL = global.URL; +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var floor = Math.floor; +var pow = Math.pow; + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[A-Za-z]/; +var ALPHANUMERIC = /[\d+-.A-Za-z]/; +var DIGIT = /\d/; +var HEX_START = /^(0x|0X)/; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\dA-Fa-f]+$/; +// eslint-disable-next-line no-control-regex +var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; +// eslint-disable-next-line no-control-regex +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; +// eslint-disable-next-line no-control-regex +var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; +// eslint-disable-next-line no-control-regex +var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g; +var EOF; + +var parseHost = function (url, input) { + var result, codePoints, index; + if (input.charAt(0) == '[') { + if (input.charAt(input.length - 1) != ']') return INVALID_HOST; + result = parseIPv6(input.slice(1, -1)); + if (!result) return INVALID_HOST; + url.host = result; + // opaque host + } else if (!isSpecial(url)) { + if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + url.host = result; + } else { + input = toASCII(input); + if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + url.host = result; + } +}; + +var parseIPv4 = function (input) { + var parts = input.split('.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] == '') { + parts.pop(); + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part == '') return input; + radix = 10; + if (part.length > 1 && part.charAt(0) == '0') { + radix = HEX_START.test(part) ? 16 : 8; + part = part.slice(radix == 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input; + number = parseInt(part, radix); + } + numbers.push(number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index == partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = numbers.pop(); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// eslint-disable-next-line max-statements +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var char = function () { + return input.charAt(pointer); + }; + + if (char() == ':') { + if (input.charAt(1) != ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (char()) { + if (pieceIndex == 8) return; + if (char() == ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && HEX.test(char())) { + value = value * 16 + parseInt(char(), 16); + pointer++; + length++; + } + if (char() == '.') { + if (length == 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (char()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (char() == '.' && numbersSeen < 4) pointer++; + else return; + } + if (!DIGIT.test(char())) return; + while (DIGIT.test(char())) { + number = parseInt(char(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece == 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; + } + if (numbersSeen != 4) return; + break; + } else if (char() == ':') { + pointer++; + if (!char()) return; + } else if (char()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex != 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex != 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + return maxIndex; +}; + +var serializeHost = function (host) { + var result, index, compress, ignore0; + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + result.unshift(host % 256); + host = floor(host / 256); + } return result.join('.'); + // ipv6 + } else if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += host[index].toString(16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (char, set) { + var code = codeAt(char, 0); + return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); +}; + +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +var isSpecial = function (url) { + return has(specialSchemes, url.scheme); +}; + +var includesCredentials = function (url) { + return url.username != '' || url.password != ''; +}; + +var cannotHaveUsernamePasswordPort = function (url) { + return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; +}; + +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length == 2 && ALPHA.test(string.charAt(0)) + && ((second = string.charAt(1)) == ':' || (!normalized && second == '|')); +}; + +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && ( + string.length == 2 || + ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +var shortenURLsPath = function (url) { + var path = url.path; + var pathSize = path.length; + if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { + path.pop(); + } +}; + +var isSingleDot = function (segment) { + return segment === '.' || segment.toLowerCase() === '%2e'; +}; + +var isDoubleDot = function (segment) { + segment = segment.toLowerCase(); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +// eslint-disable-next-line max-statements +var parseURL = function (url, input, stateOverride, base) { + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, char, bufferCodePoints, failure; + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); + } + + input = input.replace(TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + char = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (char && ALPHA.test(char)) { + buffer += char.toLowerCase(); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { + buffer += char.toLowerCase(); + } else if (char == ':') { + if (stateOverride && ( + (isSpecial(url) != has(specialSchemes, buffer)) || + (buffer == 'file' && (includesCredentials(url) || url.port !== null)) || + (url.scheme == 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme == 'file') { + state = FILE; + } else if (isSpecial(url) && base && base.scheme == url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (isSpecial(url)) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] == '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + url.path.push(''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && char == '#') { + url.scheme = base.scheme; + url.path = base.path.slice(); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme == 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (char == '/' && codePoints[pointer + 1] == '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (char == '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (char == EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = base.path.slice(); + url.query = base.query; + } else if (char == '/' || (char == '\\' && isSpecial(url))) { + state = RELATIVE_SLASH; + } else if (char == '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = base.path.slice(); + url.query = ''; + state = QUERY; + } else if (char == '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = base.path.slice(); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = base.path.slice(); + url.path.pop(); + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (isSpecial(url) && (char == '/' || char == '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (char == '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (char != '/' || buffer.charAt(pointer + 1) != '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (char != '/' && char != '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (char == '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint == ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + char == EOF || char == '/' || char == '?' || char == '#' || + (char == '\\' && isSpecial(url)) + ) { + if (seenAt && buffer == '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += char; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme == 'file') { + state = FILE_HOST; + continue; + } else if (char == ':' && !seenBracket) { + if (buffer == '') return INVALID_HOST; + failure = parseHost(url, buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride == HOSTNAME) return; + } else if ( + char == EOF || char == '/' || char == '?' || char == '#' || + (char == '\\' && isSpecial(url)) + ) { + if (isSpecial(url) && buffer == '') return INVALID_HOST; + if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return; + failure = parseHost(url, buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (char == '[') seenBracket = true; + else if (char == ']') seenBracket = false; + buffer += char; + } break; + + case PORT: + if (DIGIT.test(char)) { + buffer += char; + } else if ( + char == EOF || char == '/' || char == '?' || char == '#' || + (char == '\\' && isSpecial(url)) || + stateOverride + ) { + if (buffer != '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (char == '/' || char == '\\') state = FILE_SLASH; + else if (base && base.scheme == 'file') { + if (char == EOF) { + url.host = base.host; + url.path = base.path.slice(); + url.query = base.query; + } else if (char == '?') { + url.host = base.host; + url.path = base.path.slice(); + url.query = ''; + state = QUERY; + } else if (char == '#') { + url.host = base.host; + url.path = base.path.slice(); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { + url.host = base.host; + url.path = base.path.slice(); + shortenURLsPath(url); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (char == '/' || char == '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { + if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer == '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = parseHost(url, buffer); + if (failure) return failure; + if (url.host == 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += char; + break; + + case PATH_START: + if (isSpecial(url)) { + state = PATH; + if (char != '/' && char != '\\') continue; + } else if (!stateOverride && char == '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && char == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (char != EOF) { + state = PATH; + if (char != '/') continue; + } break; + + case PATH: + if ( + char == EOF || char == '/' || + (char == '\\' && isSpecial(url)) || + (!stateOverride && (char == '?' || char == '#')) + ) { + if (isDoubleDot(buffer)) { + shortenURLsPath(url); + if (char != '/' && !(char == '\\' && isSpecial(url))) { + url.path.push(''); + } + } else if (isSingleDot(buffer)) { + if (char != '/' && !(char == '\\' && isSpecial(url))) { + url.path.push(''); + } + } else { + if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = buffer.charAt(0) + ':'; // normalize windows drive letter + } + url.path.push(buffer); + } + buffer = ''; + if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { + while (url.path.length > 1 && url.path[0] === '') { + url.path.shift(); + } + } + if (char == '?') { + url.query = ''; + state = QUERY; + } else if (char == '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(char, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (char == '?') { + url.query = ''; + state = QUERY; + } else if (char == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (char != EOF) { + url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && char == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (char != EOF) { + if (char == "'" && isSpecial(url)) url.query += '%27'; + else if (char == '#') url.query += '%23'; + else url.query += percentEncode(char, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet); + break; + } + + pointer++; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLConstructor, 'URL'); + var base = arguments.length > 1 ? arguments[1] : undefined; + var urlString = String(url); + var state = setInternalState(that, { type: 'URL' }); + var baseState, failure; + if (base !== undefined) { + if (base instanceof URLConstructor) baseState = getInternalURLState(base); + else { + failure = parseURL(baseState = {}, String(base)); + if (failure) throw TypeError(failure); + } + } + failure = parseURL(state, urlString, null, baseState); + if (failure) throw TypeError(failure); + var searchParams = state.searchParams = new URLSearchParams(); + var searchParamsState = getInternalSearchParamsState(searchParams); + searchParamsState.updateSearchParams(state.query); + searchParamsState.updateURL = function () { + state.query = String(searchParams) || null; + }; + if (!DESCRIPTORS) { + that.href = serializeURL.call(that); + that.origin = getOrigin.call(that); + that.protocol = getProtocol.call(that); + that.username = getUsername.call(that); + that.password = getPassword.call(that); + that.host = getHost.call(that); + that.hostname = getHostname.call(that); + that.port = getPort.call(that); + that.pathname = getPathname.call(that); + that.search = getSearch.call(that); + that.searchParams = getSearchParams.call(that); + that.hash = getHash.call(that); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var serializeURL = function () { + var url = getInternalURLState(this); + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (includesCredentials(url)) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme == 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; +}; + +var getOrigin = function () { + var url = getInternalURLState(this); + var scheme = url.scheme; + var port = url.port; + if (scheme == 'blob') try { + return new URL(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme == 'file' || !isSpecial(url)) return 'null'; + return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); +}; + +var getProtocol = function () { + return getInternalURLState(this).scheme + ':'; +}; + +var getUsername = function () { + return getInternalURLState(this).username; +}; + +var getPassword = function () { + return getInternalURLState(this).password; +}; + +var getHost = function () { + var url = getInternalURLState(this); + var host = url.host; + var port = url.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; +}; + +var getHostname = function () { + var host = getInternalURLState(this).host; + return host === null ? '' : serializeHost(host); +}; + +var getPort = function () { + var port = getInternalURLState(this).port; + return port === null ? '' : String(port); +}; + +var getPathname = function () { + var url = getInternalURLState(this); + var path = url.path; + return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; +}; + +var getSearch = function () { + var query = getInternalURLState(this).query; + return query ? '?' + query : ''; +}; + +var getSearchParams = function () { + return getInternalURLState(this).searchParams; +}; + +var getHash = function () { + var fragment = getInternalURLState(this).fragment; + return fragment ? '#' + fragment : ''; +}; + +var accessorDescriptor = function (getter, setter) { + return { get: getter, set: setter, configurable: true, enumerable: true }; +}; + +if (DESCRIPTORS) { + defineProperties(URLPrototype, { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + href: accessorDescriptor(serializeURL, function (href) { + var url = getInternalURLState(this); + var urlString = String(href); + var failure = parseURL(url, urlString); + if (failure) throw TypeError(failure); + getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); + }), + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + origin: accessorDescriptor(getOrigin), + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + protocol: accessorDescriptor(getProtocol, function (protocol) { + var url = getInternalURLState(this); + parseURL(url, String(protocol) + ':', SCHEME_START); + }), + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + username: accessorDescriptor(getUsername, function (username) { + var url = getInternalURLState(this); + var codePoints = arrayFrom(String(username)); + if (cannotHaveUsernamePasswordPort(url)) return; + url.username = ''; + for (var i = 0; i < codePoints.length; i++) { + url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }), + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + password: accessorDescriptor(getPassword, function (password) { + var url = getInternalURLState(this); + var codePoints = arrayFrom(String(password)); + if (cannotHaveUsernamePasswordPort(url)) return; + url.password = ''; + for (var i = 0; i < codePoints.length; i++) { + url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }), + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + host: accessorDescriptor(getHost, function (host) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) return; + parseURL(url, String(host), HOST); + }), + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + hostname: accessorDescriptor(getHostname, function (hostname) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) return; + parseURL(url, String(hostname), HOSTNAME); + }), + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + port: accessorDescriptor(getPort, function (port) { + var url = getInternalURLState(this); + if (cannotHaveUsernamePasswordPort(url)) return; + port = String(port); + if (port == '') url.port = null; + else parseURL(url, port, PORT); + }), + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + pathname: accessorDescriptor(getPathname, function (pathname) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) return; + url.path = []; + parseURL(url, pathname + '', PATH_START); + }), + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + search: accessorDescriptor(getSearch, function (search) { + var url = getInternalURLState(this); + search = String(search); + if (search == '') { + url.query = null; + } else { + if ('?' == search.charAt(0)) search = search.slice(1); + url.query = ''; + parseURL(url, search, QUERY); + } + getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); + }), + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + searchParams: accessorDescriptor(getSearchParams), + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + hash: accessorDescriptor(getHash, function (hash) { + var url = getInternalURLState(this); + hash = String(hash); + if (hash == '') { + url.fragment = null; + return; + } + if ('#' == hash.charAt(0)) hash = hash.slice(1); + url.fragment = ''; + parseURL(url, hash, FRAGMENT); + }) + }); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +redefine(URLPrototype, 'toJSON', function toJSON() { + return serializeURL.call(this); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +redefine(URLPrototype, 'toString', function toString() { + return serializeURL.call(this); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + // eslint-disable-next-line no-unused-vars + if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { + return nativeCreateObjectURL.apply(NativeURL, arguments); + }); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + // eslint-disable-next-line no-unused-vars + if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { + return nativeRevokeObjectURL.apply(NativeURL, arguments); + }); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + +},{"../internals/an-instance":6,"../internals/array-from":14,"../internals/descriptors":42,"../internals/export":49,"../internals/global":59,"../internals/has":60,"../internals/internal-state":70,"../internals/native-url":88,"../internals/object-assign":95,"../internals/object-define-properties":97,"../internals/redefine":116,"../internals/set-to-string-tag":125,"../internals/string-multibyte":131,"../internals/string-punycode-to-ascii":134,"../modules/es.string.iterator":295,"../modules/web.url-search-params":370}],372:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return URL.prototype.toString.call(this); + } +}); + +},{"../internals/export":49}],373:[function(require,module,exports){ +require('../es'); +require('../web'); +var path = require('../internals/path'); + +module.exports = path; + +},{"../es":1,"../internals/path":112,"../web":374}],374:[function(require,module,exports){ +require('../modules/web.dom-collections.for-each'); +require('../modules/web.dom-collections.iterator'); +require('../modules/web.immediate'); +require('../modules/web.queue-microtask'); +require('../modules/web.timers'); +require('../modules/web.url'); +require('../modules/web.url.to-json'); +require('../modules/web.url-search-params'); +var path = require('../internals/path'); + +module.exports = path; + +},{"../internals/path":112,"../modules/web.dom-collections.for-each":365,"../modules/web.dom-collections.iterator":366,"../modules/web.immediate":367,"../modules/web.queue-microtask":368,"../modules/web.timers":369,"../modules/web.url":371,"../modules/web.url-search-params":370,"../modules/web.url.to-json":372}],375:[function(require,module,exports){ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var runtime = (function (exports) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + exports.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + IteratorPrototype[iteratorSymbol] = function () { + return this; + }; + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunctionPrototype[toStringTagSymbol] = + GeneratorFunction.displayName = "GeneratorFunction"; + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + prototype[method] = function(arg) { + return this._invoke(method, arg); + }; + }); + } + + exports.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + exports.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + if (!(toStringTagSymbol in genFun)) { + genFun[toStringTagSymbol] = "GeneratorFunction"; + } + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + exports.awrap = function(arg) { + return { __await: arg }; + }; + + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return PromiseImpl.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + AsyncIterator.prototype[asyncIteratorSymbol] = function () { + return this; + }; + exports.AsyncIterator = AsyncIterator; + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList), + PromiseImpl + ); + + return exports.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; + + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + if (method === undefined) { + // A .throw or .return when the delegate iterator has no .throw + // method always terminates the yield* loop. + context.delegate = null; + + if (context.method === "throw") { + // Note: ["return"] must be used for ES3 parsing compatibility. + if (delegate.iterator["return"]) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; + + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; + + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + + } else { + // Re-yield the result returned by the delegate method. + return info; + } + + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + Gp[toStringTagSymbol] = "Generator"; + + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + Gp[iteratorSymbol] = function() { + return this; + }; + + Gp.toString = function() { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + exports.values = values; + + function doneResult() { + return { value: undefined, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + + this.method = "next"; + this.arg = undefined; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined; + } + + return !! caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined; + } + + return ContinueSentinel; + } + }; + + // Regardless of whether this script is executing as a CommonJS module + // or not, return the runtime object so that we can declare the variable + // regeneratorRuntime in the outer scope, which allows this module to be + // injected easily by `bin/regenerator --include-runtime script.js`. + return exports; + +}( + // If this script is executing as a CommonJS module, use module.exports + // as the regeneratorRuntime namespace. Otherwise create a new empty + // object. Either way, the resulting object will be used to initialize + // the regeneratorRuntime variable at the top of this file. + typeof module === "object" ? module.exports : {} +)); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + // This module should not be running in strict mode, so the above + // assignment should always work unless something is misconfigured. Just + // in case runtime.js accidentally runs in strict mode, we can escape + // strict mode using a global Function call. This could conceivably fail + // if a Content Security Policy forbids using Function, but in that case + // the proper solution is to fix the accidental strict mode problem. If + // you've misconfigured your bundler to force strict mode and applied a + // CSP to forbid Function, and you're not willing to fix either of those + // problems, please detail your unique predicament in a GitHub issue. + Function("r", "regeneratorRuntime = r")(runtime); +} + +},{}],376:[function(require,module,exports){ +(function (global){(function (){ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +(function (self, undefined) { + function Call(t, l) { + var n = arguments.length > 2 ? arguments[2] : []; + if (!1 === IsCallable(t)) throw new TypeError(Object.prototype.toString.call(t) + "is not a function."); + return t.apply(l, n); + } + + function CreateMethodProperty(e, r, t) { + var a = { + value: t, + writable: !0, + enumerable: !1, + configurable: !0 + }; + Object.defineProperty(e, r, a); + } + + function Get(n, t) { + return n[t]; + } + + function IsCallable(n) { + return "function" == typeof n; + } + + function SameValueNonNumber(e, n) { + return e === n; + } + + function ToInteger(n) { + var i = Number(n); + return isNaN(i) ? 0 : 1 / i === Infinity || 1 / i == -Infinity || i === Infinity || i === -Infinity ? i : (i < 0 ? -1 : 1) * Math.floor(Math.abs(i)); + } + + function ToLength(n) { + var t = ToInteger(n); + return t <= 0 ? 0 : Math.min(t, Math.pow(2, 53) - 1); + } + + function ToObject(e) { + if (null === e || e === undefined) throw TypeError(); + return Object(e); + } + + function GetV(t, e) { + return ToObject(t)[e]; + } + + function GetMethod(e, n) { + var r = GetV(e, n); + if (null === r || r === undefined) return undefined; + if (!1 === IsCallable(r)) throw new TypeError("Method not callable: " + n); + return r; + } + + function Type(e) { + switch (_typeof(e)) { + case "undefined": + return "undefined"; + + case "boolean": + return "boolean"; + + case "number": + return "number"; + + case "string": + return "string"; + + case "symbol": + return "symbol"; + + default: + return null === e ? "null" : "Symbol" in self && (e instanceof self.Symbol || e.constructor === self.Symbol) ? "symbol" : "object"; + } + } + + function OrdinaryToPrimitive(r, t) { + if ("string" === t) var e = ["toString", "valueOf"];else e = ["valueOf", "toString"]; + + for (var i = 0; i < e.length; ++i) { + var n = e[i], + a = Get(r, n); + + if (IsCallable(a)) { + var o = Call(a, r); + if ("object" !== Type(o)) return o; + } + } + + throw new TypeError("Cannot convert to primitive."); + } + + function SameValueZero(n, e) { + return Type(n) === Type(e) && ("number" === Type(n) ? !(!isNaN(n) || !isNaN(e)) || 1 / n === Infinity && 1 / e == -Infinity || 1 / n == -Infinity && 1 / e === Infinity || n === e : SameValueNonNumber(n, e)); + } + + function ToPrimitive(e) { + var t = arguments.length > 1 ? arguments[1] : undefined; + + if ("object" === Type(e)) { + if (arguments.length < 2) var i = "default";else t === String ? i = "string" : t === Number && (i = "number"); + var r = "function" == typeof self.Symbol && "symbol" == _typeof(self.Symbol.toPrimitive) ? GetMethod(e, self.Symbol.toPrimitive) : undefined; + + if (r !== undefined) { + var n = Call(r, e, [i]); + if ("object" !== Type(n)) return n; + throw new TypeError("Cannot convert exotic object to primitive."); + } + + return "default" === i && (i = "number"), OrdinaryToPrimitive(e, i); + } + + return e; + } + + function ToString(t) { + switch (Type(t)) { + case "symbol": + throw new TypeError("Cannot convert a Symbol value to a string"); + + case "object": + return ToString(ToPrimitive(t, String)); + + default: + return String(t); + } + } + + CreateMethodProperty(Array.prototype, "includes", function e(r) { + "use strict"; + + var t = ToObject(this), + o = ToLength(Get(t, "length")); + if (0 === o) return !1; + var n = ToInteger(arguments[1]); + if (n >= 0) var a = n;else (a = o + n) < 0 && (a = 0); + + for (; a < o;) { + var i = Get(t, ToString(a)); + if (SameValueZero(r, i)) return !0; + a += 1; + } + + return !1; + }); + !function () { + function e(e, t) { + if (!e) throw new Error("Not enough arguments"); + var n; + + if ("createEvent" in document) { + n = document.createEvent("Event"); + var o = !(!t || t.bubbles === undefined) && t.bubbles, + i = !(!t || t.cancelable === undefined) && t.cancelable; + return n.initEvent(e, o, i), n; + } + + return n = document.createEventObject(), n.type = e, n.bubbles = !(!t || t.bubbles === undefined) && t.bubbles, n.cancelable = !(!t || t.cancelable === undefined) && t.cancelable, n; + } + + var t = { + click: 1, + dblclick: 1, + keyup: 1, + keypress: 1, + keydown: 1, + mousedown: 1, + mouseup: 1, + mousemove: 1, + mouseover: 1, + mouseenter: 1, + mouseleave: 1, + mouseout: 1, + storage: 1, + storagecommit: 1, + textinput: 1 + }; + + if ("undefined" != typeof document && "undefined" != typeof window) { + var n = window.Event && window.Event.prototype || null; + e.NONE = 0, e.CAPTURING_PHASE = 1, e.AT_TARGET = 2, e.BUBBLING_PHASE = 3, window.Event = Window.prototype.Event = e, n && Object.defineProperty(window.Event, "prototype", { + configurable: !1, + enumerable: !1, + writable: !0, + value: n + }), "createEvent" in document || (window.addEventListener = Window.prototype.addEventListener = Document.prototype.addEventListener = Element.prototype.addEventListener = function o() { + var e = this, + n = arguments[0], + o = arguments[1]; + if (e === window && n in t) throw new Error("In IE8 the event: " + n + " is not available on the window object. Please see https://github.com/Financial-Times/polyfill-service/issues/317 for more information."); + e._events || (e._events = {}), e._events[n] || (e._events[n] = function (t) { + var n, + o = e._events[t.type].list, + i = o.slice(), + r = -1, + c = i.length; + + for (t.preventDefault = function a() { + !1 !== t.cancelable && (t.returnValue = !1); + }, t.stopPropagation = function l() { + t.cancelBubble = !0; + }, t.stopImmediatePropagation = function s() { + t.cancelBubble = !0, t.cancelImmediate = !0; + }, t.currentTarget = e, t.relatedTarget = t.fromElement || null, t.target = t.target || t.srcElement || e, t.timeStamp = new Date().getTime(), t.clientX && (t.pageX = t.clientX + document.documentElement.scrollLeft, t.pageY = t.clientY + document.documentElement.scrollTop); ++r < c && !t.cancelImmediate;) { + r in i && (n = i[r], o.includes(n) && "function" == typeof n && n.call(e, t)); + } + }, e._events[n].list = [], e.attachEvent && e.attachEvent("on" + n, e._events[n])), e._events[n].list.push(o); + }, window.removeEventListener = Window.prototype.removeEventListener = Document.prototype.removeEventListener = Element.prototype.removeEventListener = function i() { + var e, + t = this, + n = arguments[0], + o = arguments[1]; + t._events && t._events[n] && t._events[n].list && -1 !== (e = t._events[n].list.indexOf(o)) && (t._events[n].list.splice(e, 1), t._events[n].list.length || (t.detachEvent && t.detachEvent("on" + n, t._events[n]), delete t._events[n])); + }, window.dispatchEvent = Window.prototype.dispatchEvent = Document.prototype.dispatchEvent = Element.prototype.dispatchEvent = function r(e) { + if (!arguments.length) throw new Error("Not enough arguments"); + if (!e || "string" != typeof e.type) throw new Error("DOM Events Exception 0"); + var t = this, + n = e.type; + + try { + if (!e.bubbles) { + e.cancelBubble = !0; + + var o = function o(e) { + e.cancelBubble = !0, (t || window).detachEvent("on" + n, o); + }; + + this.attachEvent("on" + n, o); + } + + this.fireEvent("on" + n, e); + } catch (i) { + e.target = t; + + do { + e.currentTarget = t, "_events" in t && "function" == typeof t._events[n] && t._events[n].call(t, e), "function" == typeof t["on" + n] && t["on" + n].call(t, e), t = 9 === t.nodeType ? t.parentWindow : t.parentNode; + } while (t && !e.cancelBubble); + } + + return !0; + }, document.attachEvent("onreadystatechange", function () { + "complete" === document.readyState && document.dispatchEvent(new e("DOMContentLoaded", { + bubbles: !0 + })); + })); + } + }(); + self.CustomEvent = function e(t, n) { + if (!t) throw Error('TypeError: Failed to construct "CustomEvent": An event name must be provided.'); + var l; + if (n = n || { + bubbles: !1, + cancelable: !1, + detail: null + }, "createEvent" in document) try { + l = document.createEvent("CustomEvent"), l.initCustomEvent(t, n.bubbles, n.cancelable, n.detail); + } catch (a) { + l = document.createEvent("Event"), l.initEvent(t, n.bubbles, n.cancelable), l.detail = n.detail; + } else l = new Event(t, n), l.detail = n && n.detail || null; + return l; + }, CustomEvent.prototype = Event.prototype; +})('object' === (typeof window === "undefined" ? "undefined" : _typeof(window)) && window || 'object' === (typeof self === "undefined" ? "undefined" : _typeof(self)) && self || 'object' === (typeof global === "undefined" ? "undefined" : _typeof(global)) && global || {}); + +require('./simple-lightbox'); + +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./simple-lightbox":377,"core-js/stable":373,"regenerator-runtime/runtime":375}],377:[function(require,module,exports){ +(function (global){(function (){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SimpleLightbox = /*#__PURE__*/function () { + function SimpleLightbox(elements, options) { + var _this = this; + + _classCallCheck(this, SimpleLightbox); + + _defineProperty(this, "defaultOptions", { + sourceAttr: 'href', + overlay: true, + spinner: true, + nav: true, + navText: ['‹', '›'], + captions: true, + captionDelay: 0, + captionSelector: 'img', + captionType: 'attr', + captionsData: 'title', + captionPosition: 'bottom', + captionClass: '', + close: true, + closeText: '×', + swipeClose: true, + showCounter: true, + fileExt: 'png|jpg|jpeg|gif|webp', + animationSlide: true, + animationSpeed: 250, + preloading: true, + enableKeyboard: true, + loop: true, + rel: false, + docClose: true, + swipeTolerance: 50, + className: 'simple-lightbox', + widthRatio: 0.8, + heightRatio: 0.9, + scaleImageToRatio: false, + disableRightClick: false, + disableScroll: true, + alertError: true, + alertErrorMessage: 'Image not found, next image will be loaded', + additionalHtml: false, + history: true, + throttleInterval: 0, + doubleTapZoom: 2, + maxZoom: 10, + htmlClass: 'has-lightbox', + rtl: false, + fixedClass: 'sl-fixed', + fadeSpeed: 300, + uniqueImages: true, + focus: true + }); + + _defineProperty(this, "transitionPrefix", void 0); + + _defineProperty(this, "transitionCapable", false); + + _defineProperty(this, "isTouchDevice", 'ontouchstart' in window); + + _defineProperty(this, "initialLocationHash", void 0); + + _defineProperty(this, "pushStateSupport", 'pushState' in history); + + _defineProperty(this, "isOpen", false); + + _defineProperty(this, "isAnimating", false); + + _defineProperty(this, "isClosing", false); + + _defineProperty(this, "isFadeIn", false); + + _defineProperty(this, "urlChangedOnce", false); + + _defineProperty(this, "hashReseted", false); + + _defineProperty(this, "historyHasChanges", false); + + _defineProperty(this, "historyUpdateTimeout", null); + + _defineProperty(this, "currentImage", void 0); + + _defineProperty(this, "eventNamespace", 'simplelightbox'); + + _defineProperty(this, "domNodes", {}); + + _defineProperty(this, "loadedImages", []); + + _defineProperty(this, "initialImageIndex", 0); + + _defineProperty(this, "currentImageIndex", 0); + + _defineProperty(this, "initialSelector", null); + + _defineProperty(this, "globalScrollbarWidth", 0); + + _defineProperty(this, "controlCoordinates", { + swipeDiff: 0, + swipeYDiff: 0, + swipeStart: 0, + swipeEnd: 0, + swipeYStart: 0, + swipeYEnd: 0, + mousedown: false, + imageLeft: 0, + zoomed: false, + containerHeight: 0, + containerWidth: 0, + containerOffsetX: 0, + containerOffsetY: 0, + imgHeight: 0, + imgWidth: 0, + capture: false, + initialOffsetX: 0, + initialOffsetY: 0, + initialPointerOffsetX: 0, + initialPointerOffsetY: 0, + initialPointerOffsetX2: 0, + initialPointerOffsetY2: 0, + initialScale: 1, + initialPinchDistance: 0, + pointerOffsetX: 0, + pointerOffsetY: 0, + pointerOffsetX2: 0, + pointerOffsetY2: 0, + targetOffsetX: 0, + targetOffsetY: 0, + targetScale: 0, + pinchOffsetX: 0, + pinchOffsetY: 0, + limitOffsetX: 0, + limitOffsetY: 0, + scaleDifference: 0, + targetPinchDistance: 0, + touchCount: 0, + doubleTapped: false, + touchmoveCount: 0 + }); + + this.options = Object.assign(this.defaultOptions, options); + + if (typeof elements === 'string') { + this.initialSelector = elements; + this.elements = Array.from(document.querySelectorAll(elements)); + } else { + this.elements = typeof elements.length !== 'undefined' && elements.length > 0 ? Array.from(elements) : [elements]; + } + + this.relatedElements = []; + this.transitionPrefix = this.calculateTransitionPrefix(); + this.transitionCapable = this.transitionPrefix !== false; + this.initialLocationHash = this.hash; // this should be handled by attribute selector IMHO! => 'a[rel=bla]'... + + if (this.options.rel) { + this.elements = this.getRelated(this.options.rel); + } + + if (this.options.uniqueImages) { + var imgArr = []; + this.elements = Array.from(this.elements).filter(function (element) { + var src = element.getAttribute(_this.options.sourceAttr); + + if (imgArr.indexOf(src) === -1) { + imgArr.push(src); + return true; + } + + return false; + }); + } + + this.createDomNodes(); + + if (this.options.close) { + this.domNodes.wrapper.appendChild(this.domNodes.closeButton); + } + + if (this.options.nav) { + this.domNodes.wrapper.appendChild(this.domNodes.navigation); + } + + if (this.options.spinner) { + this.domNodes.wrapper.appendChild(this.domNodes.spinner); + } + + this.addEventListener(this.elements, 'click.' + this.eventNamespace, function (event) { + if (_this.isValidLink(event.currentTarget)) { + event.preventDefault(); + + if (_this.isAnimating) { + return false; + } + + _this.initialImageIndex = _this.elements.indexOf(event.currentTarget); + + _this.openImage(event.currentTarget); + } + }); // close addEventListener click addEventListener doc + + if (this.options.docClose) { + this.addEventListener(this.domNodes.wrapper, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], function (event) { + if (_this.isOpen && event.target === event.currentTarget) { + _this.close(); + } + }); + } // disable rightclick + + + if (this.options.disableRightClick) { + this.addEventListener(document.body, 'contextmenu.' + this.eventNamespace, function (event) { + if (event.target.classList.contains('sl-overlay')) { + event.preventDefault(); + } + }); + } // keyboard-control + + + if (this.options.enableKeyboard) { + this.addEventListener(document.body, 'keyup.' + this.eventNamespace, this.throttle(function (event) { + _this.controlCoordinates.swipeDiff = 0; // keyboard control only if lightbox is open + + if (_this.isAnimating && event.key === 'Escape') { + _this.currentImage.setAttribute('src', ''); + + _this.isAnimating = false; + return _this.close(); + } + + if (_this.isOpen) { + event.preventDefault(); + + if (event.key === 'Escape') { + _this.close(); + } + + if (!_this.isAnimating && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) > -1) { + _this.loadImage(event.key === 'ArrowRight' ? 1 : -1); + } + } + }, this.options.throttleInterval)); + } + + this.addEvents(); + } + + _createClass(SimpleLightbox, [{ + key: "createDomNodes", + value: function createDomNodes() { + this.domNodes.overlay = document.createElement('div'); + this.domNodes.overlay.classList.add('sl-overlay'); + this.domNodes.overlay.dataset.opacityTarget = ".7"; + this.domNodes.closeButton = document.createElement('button'); + this.domNodes.closeButton.classList.add('sl-close'); + this.domNodes.closeButton.innerHTML = this.options.closeText; + this.domNodes.spinner = document.createElement('div'); + this.domNodes.spinner.classList.add('sl-spinner'); + this.domNodes.spinner.innerHTML = '<div></div>'; + this.domNodes.navigation = document.createElement('div'); + this.domNodes.navigation.classList.add('sl-navigation'); + this.domNodes.navigation.innerHTML = "<button class=\"sl-prev\">".concat(this.options.navText[0], "</button><button class=\"sl-next\">").concat(this.options.navText[1], "</button>"); + this.domNodes.counter = document.createElement('div'); + this.domNodes.counter.classList.add('sl-counter'); + this.domNodes.counter.innerHTML = '<span class="sl-current"></span>/<span class="sl-total"></span>'; + this.domNodes.caption = document.createElement('div'); + this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition); + + if (this.options.captionClass) { + this.domNodes.caption.classList.add(this.options.captionClass); + } + + this.domNodes.image = document.createElement('div'); + this.domNodes.image.classList.add('sl-image'); + this.domNodes.wrapper = document.createElement('div'); + this.domNodes.wrapper.classList.add('sl-wrapper'); + this.domNodes.wrapper.setAttribute('tabindex', -1); + this.domNodes.wrapper.setAttribute('role', 'dialog'); + this.domNodes.wrapper.setAttribute('aria-hidden', false); + + if (this.options.className) { + this.domNodes.wrapper.classList.add(this.options.className); + } + + if (this.options.rtl) { + this.domNodes.wrapper.classList.add('sl-dir-rtl'); + } + } + }, { + key: "throttle", + value: function throttle(func, limit) { + var inThrottle; + return function () { + if (!inThrottle) { + func.apply(this, arguments); + inThrottle = true; + setTimeout(function () { + return inThrottle = false; + }, limit); + } + }; + } + }, { + key: "isValidLink", + value: function isValidLink(element) { + return !this.options.fileExt || 'pathname' in element && new RegExp('(' + this.options.fileExt + ')$', 'i').test(element.pathname); + } + }, { + key: "calculateTransitionPrefix", + value: function calculateTransitionPrefix() { + var s = (document.body || document.documentElement).style; + return 'transition' in s ? '' : 'WebkitTransition' in s ? '-webkit-' : 'MozTransition' in s ? '-moz-' : 'OTransition' in s ? '-o' : false; + } + }, { + key: "toggleScrollbar", + value: function toggleScrollbar(type) { + var scrollbarWidth = 0; + var fixedElements = [].slice.call(document.querySelectorAll('.' + this.options.fixedClass)); + + if (type === 'hide') { + var fullWindowWidth = window.innerWidth; + + if (!fullWindowWidth) { + var documentElementRect = document.documentElement.getBoundingClientRect(); + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left); + } + + if (document.body.clientWidth < fullWindowWidth) { + var scrollDiv = document.createElement('div'), + paddingRight = parseInt(document.body.style.paddingRight || 0, 10); + scrollDiv.classList.add('sl-scrollbar-measure'); + document.body.appendChild(scrollDiv); + scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + document.body.dataset.originalPaddingRight = paddingRight; + + if (scrollbarWidth > 0) { + document.body.classList.add('hidden-scroll'); + document.body.style.paddingRight = paddingRight + scrollbarWidth + 'px'; + fixedElements.forEach(function (element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = window.getComputedStyle(element)['padding-right']; + element.dataset.originalPaddingRight = actualPadding; + element.style.paddingRight = "".concat(parseFloat(calculatedPadding) + scrollbarWidth, "px"); + }); + } + } + } else { + document.body.classList.remove('hidden-scroll'); + document.body.style.paddingRight = document.body.dataset.originalPaddingRight; + fixedElements.forEach(function (element) { + var padding = element.dataset.originalPaddingRight; + + if (typeof padding !== 'undefined') { + element.style.paddingRight = padding; + } + }); + } + + return scrollbarWidth; + } + }, { + key: "close", + value: function close() { + var _this2 = this; + + if (!this.isOpen || this.isAnimating || this.isClosing) { + return false; + } + + this.isClosing = true; + var element = this.relatedElements[this.currentImageIndex]; + element.dispatchEvent(new Event('close.simplelightbox')); + + if (this.options.history) { + this.historyHasChanges = false; + + if (!this.hashReseted) { + this.resetHash(); + } + } + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.fadeOut(document.querySelectorAll('.sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, function () { + if (_this2.options.disableScroll) { + _this2.toggleScrollbar('show'); + } + + if (_this2.options.htmlClass && _this2.options.htmlClass !== '') { + document.querySelector('html').classList.remove(_this2.options.htmlClass); + } + + document.body.removeChild(_this2.domNodes.wrapper); + document.body.removeChild(_this2.domNodes.overlay); + _this2.domNodes.additionalHtml = null; + element.dispatchEvent(new Event('closed.simplelightbox')); + _this2.isClosing = false; + }); + this.currentImage = null; + this.isOpen = false; + this.isAnimating = false; // reset touchcontrol coordinates + + for (var key in this.controlCoordinates) { + this.controlCoordinates[key] = 0; + } + + this.controlCoordinates.mousedown = false; + this.controlCoordinates.zoomed = false; + this.controlCoordinates.capture = false; + this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom); + this.controlCoordinates.doubleTapped = false; + } + }, { + key: "preload", + value: function preload() { + var _this3 = this; + + var index = this.currentImageIndex, + length = this.relatedElements.length, + next = index + 1 < 0 ? length - 1 : index + 1 >= length - 1 ? 0 : index + 1, + prev = index - 1 < 0 ? length - 1 : index - 1 >= length - 1 ? 0 : index - 1, + nextImage = new Image(), + prevImage = new Image(); + nextImage.addEventListener('load', function (event) { + var src = event.target.getAttribute('src'); + + if (_this3.loadedImages.indexOf(src) === -1) { + //is this condition even required... setting multiple times will not change usage... + _this3.loadedImages.push(src); + } + + _this3.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + _this3.eventNamespace)); + }); + nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr)); + prevImage.addEventListener('load', function (event) { + var src = event.target.getAttribute('src'); + + if (_this3.loadedImages.indexOf(src) === -1) { + _this3.loadedImages.push(src); + } + + _this3.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + _this3.eventNamespace)); + }); + prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr)); + } + }, { + key: "loadImage", + value: function loadImage(direction) { + var _this4 = this; + + var slideDirection = direction; + + if (this.options.rtl) { + direction = -direction; + } + + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace)); + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace)); + var newIndex = this.currentImageIndex + direction; + + if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) { + return false; + } + + this.currentImageIndex = newIndex < 0 ? this.relatedElements.length - 1 : newIndex > this.relatedElements.length - 1 ? 0 : newIndex; + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + + if (this.options.animationSlide) { + this.slide(this.options.animationSpeed / 1000, -100 * slideDirection - this.controlCoordinates.swipeDiff + 'px'); + } + + this.fadeOut(this.domNodes.image, this.options.fadeSpeed, function () { + _this4.isAnimating = true; + + if (!_this4.isClosing) { + setTimeout(function () { + var element = _this4.relatedElements[_this4.currentImageIndex]; + + _this4.currentImage.setAttribute('src', element.getAttribute(_this4.options.sourceAttr)); + + if (_this4.loadedImages.indexOf(element.getAttribute(_this4.options.sourceAttr)) === -1) { + _this4.show(_this4.domNodes.spinner); + } + + if (_this4.domNodes.image.contains(_this4.domNodes.caption)) { + _this4.domNodes.image.removeChild(_this4.domNodes.caption); + } + + _this4.adjustImage(slideDirection); + + if (_this4.options.preloading) _this4.preload(); + }, 100); + } else { + _this4.isAnimating = false; + } + }); + } + }, { + key: "adjustImage", + value: function adjustImage(direction) { + var _this5 = this; + + if (!this.currentImage) { + return false; + } + + var tmpImage = new Image(), + windowWidth = window.innerWidth * this.options.widthRatio, + windowHeight = window.innerHeight * this.options.heightRatio; + tmpImage.setAttribute('src', this.currentImage.getAttribute('src')); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + this.zoomPanElement(0, 0, 1); + tmpImage.addEventListener('error', function (event) { + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('error.' + _this5.eventNamespace)); + + _this5.isAnimating = false; + _this5.isOpen = false; + _this5.domNodes.spinner.style.display = 'none'; + var dirIsDefined = direction === 1 || direction === -1; + + if (_this5.initialImageIndex === _this5.currentImageIndex && dirIsDefined) { + return _this5.close(); + } + + if (_this5.options.alertError) { + alert(_this5.options.alertErrorMessage); + } + + _this5.loadImage(dirIsDefined ? direction : 1); + }); + tmpImage.addEventListener('load', function (event) { + if (typeof direction !== 'undefined') { + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('changed.' + _this5.eventNamespace)); + + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + _this5.eventNamespace)); + } // history + + + if (_this5.options.history) { + _this5.updateURL(); + } + + if (_this5.loadedImages.indexOf(_this5.currentImage.getAttribute('src')) === -1) { + _this5.loadedImages.push(_this5.currentImage.getAttribute('src')); + } + + var imageWidth = event.target.width, + imageHeight = event.target.height; + + if (_this5.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) { + var ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight; + imageWidth /= ratio; + imageHeight /= ratio; + } + + _this5.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px'; + _this5.domNodes.image.style.left = (window.innerWidth - imageWidth - _this5.globalScrollbarWidth) / 2 + 'px'; + _this5.domNodes.image.style.width = imageWidth + 'px'; + _this5.domNodes.image.style.height = imageHeight + 'px'; + _this5.domNodes.spinner.style.display = 'none'; + + if (_this5.options.focus) { + _this5.forceFocus(); + } + + _this5.fadeIn(_this5.currentImage, _this5.options.fadeSpeed, function () { + if (_this5.options.focus) { + _this5.domNodes.wrapper.focus(); + } + }); + + _this5.isOpen = true; + var captionContainer, captionText; + + if (typeof _this5.options.captionSelector === 'string') { + captionContainer = _this5.options.captionSelector === 'self' ? _this5.relatedElements[_this5.currentImageIndex] : _this5.relatedElements[_this5.currentImageIndex].querySelector(_this5.options.captionSelector); + } else if (typeof _this5.options.captionSelector === 'function') { + captionContainer = _this5.options.captionSelector(_this5.relatedElements[_this5.currentImageIndex]); + } + + if (_this5.options.captions && captionContainer) { + if (_this5.options.captionType === 'data') { + captionText = captionContainer.dataset[_this5.options.captionsData]; + } else if (_this5.options.captionType === 'text') { + captionText = captionContainer.innerHTML; + } else { + captionText = captionContainer.getAttribute(_this5.options.captionsData); + } + } + + if (!_this5.options.loop) { + if (_this5.currentImageIndex === 0) { + _this5.hide(_this5.domNodes.navigation.querySelector('.sl-prev')); + } + + if (_this5.currentImageIndex >= _this5.relatedElements.length - 1) { + _this5.hide(_this5.domNodes.navigation.querySelector('.sl-next')); + } + + if (_this5.currentImageIndex > 0) { + _this5.show(_this5.domNodes.navigation.querySelector('.sl-prev')); + } + + if (_this5.currentImageIndex < _this5.relatedElements.length - 1) { + _this5.show(_this5.domNodes.navigation.querySelector('.sl-next')); + } + } + + if (_this5.relatedElements.length === 1) { + _this5.hide(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } else { + _this5.show(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } + + if (direction === 1 || direction === -1) { + if (_this5.options.animationSlide) { + _this5.slide(0, 100 * direction + 'px'); + + setTimeout(function () { + _this5.slide(_this5.options.animationSpeed / 1000, 0 + 'px'); + }, 50); + } + + _this5.fadeIn(_this5.domNodes.image, _this5.options.fadeSpeed, function () { + _this5.isAnimating = false; + + _this5.setCaption(captionText, imageWidth); + }); + } else { + _this5.isAnimating = false; + + _this5.setCaption(captionText, imageWidth); + } + + if (_this5.options.additionalHtml && !_this5.domNodes.additionalHtml) { + _this5.domNodes.additionalHtml = document.createElement('div'); + + _this5.domNodes.additionalHtml.classList.add('sl-additional-html'); + + _this5.domNodes.additionalHtml.innerHTML = _this5.options.additionalHtml; + + _this5.domNodes.image.appendChild(_this5.domNodes.additionalHtml); + } + }); + } + }, { + key: "zoomPanElement", + value: function zoomPanElement(targetOffsetX, targetOffsetY, targetScale) { + this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')'; + } + }, { + key: "minMax", + value: function minMax(value, min, max) { + return value < min ? min : value > max ? max : value; + } + }, { + key: "setZoomData", + value: function setZoomData(initialScale, targetOffsetX, targetOffsetY) { + this.currentImage.dataset.scale = initialScale; + this.currentImage.dataset.translateX = targetOffsetX; + this.currentImage.dataset.translateY = targetOffsetY; + } + }, { + key: "hashchangeHandler", + value: function hashchangeHandler() { + if (this.isOpen && this.hash === this.initialLocationHash) { + this.hashReseted = true; + this.close(); + } + } + }, { + key: "addEvents", + value: function addEvents() { + var _this6 = this; + + // resize/responsive + this.addEventListener(window, 'resize.' + this.eventNamespace, function (event) { + //this.adjustImage.bind(this) + if (_this6.isOpen) { + _this6.adjustImage(); + } + }); + this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this)); + + if (this.options.history) { + setTimeout(function () { + _this6.addEventListener(window, 'hashchange.' + _this6.eventNamespace, function (event) { + if (_this6.isOpen) { + _this6.hashchangeHandler(); + } + }); + }, 40); + } + + this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, function (event) { + if (!event.currentTarget.tagName.match(/button/i)) { + return true; + } + + event.preventDefault(); + _this6.controlCoordinates.swipeDiff = 0; + + _this6.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1); + }); + this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], function (event) { + if (event.target.tagName === 'A' && event.type === 'touchstart') { + return true; + } + + if (event.type === 'mousedown') { + _this6.controlCoordinates.initialPointerOffsetX = event.clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + _this6.controlCoordinates.capture = true; + } else { + _this6.controlCoordinates.touchCount = event.touches.length; + _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + + if (_this6.controlCoordinates.touchCount === 1) + /* Single touch */ + { + if (!_this6.controlCoordinates.doubleTapped) { + _this6.controlCoordinates.doubleTapped = true; + setTimeout(function () { + _this6.controlCoordinates.doubleTapped = false; + }, 300); + } else { + _this6.currentImage.classList.add('sl-transition'); + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + + _this6.controlCoordinates.zoomed = true; + } else { + _this6.controlCoordinates.initialScale = 1; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + _this6.controlCoordinates.zoomed = false; + } + + setTimeout(function () { + if (_this6.currentImage) { + _this6.currentImage.classList.remove('sl-transition'); + } + }, 200); + return false; + } + + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + } else if (_this6.controlCoordinates.touchCount === 2) + /* Pinch */ + { + _this6.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX; + _this6.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY; + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + _this6.controlCoordinates.pinchOffsetX = (_this6.controlCoordinates.initialPointerOffsetX + _this6.controlCoordinates.initialPointerOffsetX2) / 2; + _this6.controlCoordinates.pinchOffsetY = (_this6.controlCoordinates.initialPointerOffsetY + _this6.controlCoordinates.initialPointerOffsetY2) / 2; + _this6.controlCoordinates.initialPinchDistance = Math.sqrt((_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) * (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) + (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2) * (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2)); + } + + _this6.controlCoordinates.capture = true; + } + + if (_this6.controlCoordinates.mousedown) return true; + + if (_this6.transitionCapable) { + _this6.controlCoordinates.imageLeft = parseInt(_this6.domNodes.image.style.left, 10); + } + + _this6.controlCoordinates.mousedown = true; + _this6.controlCoordinates.swipeDiff = 0; + _this6.controlCoordinates.swipeYDiff = 0; + _this6.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX; + _this6.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY; + return false; + }); + this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], function (event) { + if (!_this6.controlCoordinates.mousedown) { + return true; + } + + event.preventDefault(); + + if (event.type === 'touchmove') { + if (_this6.controlCoordinates.capture === false) { + return false; + } + + _this6.controlCoordinates.pointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.pointerOffsetY = event.touches[0].clientY; + _this6.controlCoordinates.touchCount = event.touches.length; + _this6.controlCoordinates.touchmoveCount++; + + if (_this6.controlCoordinates.touchCount > 1) + /* Pinch */ + { + _this6.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX; + _this6.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY; + _this6.controlCoordinates.targetPinchDistance = Math.sqrt((_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) * (_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) + (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2) * (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2)); + + if (_this6.controlCoordinates.initialPinchDistance === null) { + _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance; + } + + if (Math.abs(_this6.controlCoordinates.initialPinchDistance - _this6.controlCoordinates.targetPinchDistance) >= 1) { + /* Initialize helpers */ + _this6.controlCoordinates.targetScale = _this6.minMax(_this6.controlCoordinates.targetPinchDistance / _this6.controlCoordinates.initialPinchDistance * _this6.controlCoordinates.initialScale, 1, _this6.options.maxZoom); + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + + if (_this6.controlCoordinates.targetScale > 1) { + _this6.controlCoordinates.zoomed = true; + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance; + _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale; + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + } + } else { + _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) { + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) { + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY; + } + + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + } + } + /* Mouse Move implementation */ + + + if (event.type === 'mousemove' && _this6.controlCoordinates.mousedown) { + if (event.type == 'touchmove') return true; + if (_this6.controlCoordinates.capture === false) return false; + _this6.controlCoordinates.pointerOffsetX = event.clientX; + _this6.controlCoordinates.pointerOffsetY = event.clientY; + _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) { + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) { + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY; + } + + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + } + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX; + _this6.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY; + _this6.controlCoordinates.swipeDiff = _this6.controlCoordinates.swipeStart - _this6.controlCoordinates.swipeEnd; + _this6.controlCoordinates.swipeYDiff = _this6.controlCoordinates.swipeYStart - _this6.controlCoordinates.swipeYEnd; + + if (_this6.options.animationSlide) { + _this6.slide(0, -_this6.controlCoordinates.swipeDiff + 'px'); + } + } + }); + this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], function (event) { + if (_this6.isTouchDevice && event.type === 'touchend') { + _this6.controlCoordinates.touchCount = event.touches.length; + + if (_this6.controlCoordinates.touchCount === 0) + /* No touch */ + { + /* Set attributes */ + if (_this6.currentImage) { + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + } + + if (_this6.controlCoordinates.initialScale === 1) { + _this6.controlCoordinates.zoomed = false; + + if (_this6.domNodes.caption.style.display === 'none') { + _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + _this6.controlCoordinates.initialPinchDistance = null; + _this6.controlCoordinates.capture = false; + } else if (_this6.controlCoordinates.touchCount === 1) + /* Single touch */ + { + _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + } else if (_this6.controlCoordinates.touchCount > 1) + /* Pinch */ + { + _this6.controlCoordinates.initialPinchDistance = null; + } + } + + if (_this6.controlCoordinates.mousedown) { + _this6.controlCoordinates.mousedown = false; + var possibleDir = true; + + if (!_this6.options.loop) { + if (_this6.currentImageIndex === 0 && _this6.controlCoordinates.swipeDiff < 0) { + possibleDir = false; + } + + if (_this6.currentImageIndex >= _this6.relatedElements.length - 1 && _this6.controlCoordinates.swipeDiff > 0) { + possibleDir = false; + } + } + + if (Math.abs(_this6.controlCoordinates.swipeDiff) > _this6.options.swipeTolerance && possibleDir) { + _this6.loadImage(_this6.controlCoordinates.swipeDiff > 0 ? 1 : -1); + } else if (_this6.options.animationSlide) { + _this6.slide(_this6.options.animationSpeed / 1000, 0 + 'px'); + } + + if (_this6.options.swipeClose && Math.abs(_this6.controlCoordinates.swipeYDiff) > 50 && Math.abs(_this6.controlCoordinates.swipeDiff) < _this6.options.swipeTolerance) { + _this6.close(); + } + } + }); + this.addEventListener(this.domNodes.image, ['dblclick'], function (event) { + if (_this6.isTouchDevice) return; + _this6.controlCoordinates.initialPointerOffsetX = event.clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + + _this6.currentImage.classList.add('sl-transition'); + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + + _this6.controlCoordinates.zoomed = true; + } else { + _this6.controlCoordinates.initialScale = 1; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + _this6.controlCoordinates.zoomed = false; + + if (_this6.domNodes.caption.style.display === 'none') { + _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + setTimeout(function () { + if (_this6.currentImage) { + _this6.currentImage.classList.remove('sl-transition'); + } + }, 200); + _this6.controlCoordinates.capture = true; + return false; + }); + } + }, { + key: "getDimensions", + value: function getDimensions(element) { + var styles = window.getComputedStyle(element), + height = element.offsetHeight, + width = element.offsetWidth, + borderTopWidth = parseFloat(styles.borderTopWidth), + borderBottomWidth = parseFloat(styles.borderBottomWidth), + paddingTop = parseFloat(styles.paddingTop), + paddingBottom = parseFloat(styles.paddingBottom), + borderLeftWidth = parseFloat(styles.borderLeftWidth), + borderRightWidth = parseFloat(styles.borderRightWidth), + paddingLeft = parseFloat(styles.paddingLeft), + paddingRight = parseFloat(styles.paddingRight); + return { + height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom, + width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight + }; + } + }, { + key: "updateHash", + value: function updateHash() { + var newHash = 'pid=' + (this.currentImageIndex + 1), + newURL = window.location.href.split('#')[0] + '#' + newHash; + this.hashReseted = false; + + if (this.pushStateSupport) { + window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL); + } else { + // what is the browser target of this? + if (this.historyHasChanges) { + window.location.replace(newURL); + } else { + window.location.hash = newHash; + } + } + + if (!this.historyHasChanges) { + this.urlChangedOnce = true; + } + + this.historyHasChanges = true; + } + }, { + key: "resetHash", + value: function resetHash() { + this.hashReseted = true; + + if (this.urlChangedOnce) { + history.back(); + } else { + if (this.pushStateSupport) { + history.pushState('', document.title, window.location.pathname + window.location.search); + } else { + window.location.hash = ''; + } + } // + //in case an history operation is still pending + + + clearTimeout(this.historyUpdateTimeout); + } + }, { + key: "updateURL", + value: function updateURL() { + clearTimeout(this.historyUpdateTimeout); + + if (!this.historyHasChanges) { + this.updateHash(); // first time + } else { + this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800); + } + } + }, { + key: "setCaption", + value: function setCaption(captionText, imageWidth) { + var _this7 = this; + + if (this.options.captions && captionText && captionText !== '' && typeof captionText !== "undefined") { + this.hide(this.domNodes.caption); + this.domNodes.caption.style.width = imageWidth + 'px'; + this.domNodes.caption.innerHTML = captionText; + this.domNodes.image.appendChild(this.domNodes.caption); + setTimeout(function () { + _this7.fadeIn(_this7.domNodes.caption, _this7.options.fadeSpeed); + }, this.options.captionDelay); + } + } + }, { + key: "slide", + value: function slide(speed, pos) { + if (!this.transitionCapable) { + return this.domNodes.image.style.left = pos; + } + + this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')'; + this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear'; + } + }, { + key: "getRelated", + value: function getRelated(rel) { + var elems; + + if (rel && rel !== false && rel !== 'nofollow') { + elems = Array.from(this.elements).filter(function (element) { + return element.getAttribute('rel') === rel; + }); + } else { + elems = this.elements; + } + + return elems; + } + }, { + key: "openImage", + value: function openImage(element) { + var _this8 = this; + + element.dispatchEvent(new Event('show.' + this.eventNamespace)); + + if (this.options.disableScroll) { + this.globalScrollbarWidth = this.toggleScrollbar('hide'); + } + + if (this.options.htmlClass && this.options.htmlClass !== '') { + document.querySelector('html').classList.add(this.options.htmlClass); + } + + document.body.appendChild(this.domNodes.wrapper); + this.domNodes.wrapper.appendChild(this.domNodes.image); + + if (this.options.overlay) { + document.body.appendChild(this.domNodes.overlay); + } + + this.relatedElements = this.getRelated(element.rel); + + if (this.options.showCounter) { + if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.removeChild(this.domNodes.counter); + } else if (this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.appendChild(this.domNodes.counter); + } + } + + this.isAnimating = true; + this.currentImageIndex = this.relatedElements.indexOf(element); + var targetURL = element.getAttribute(this.options.sourceAttr); + this.currentImage = document.createElement('img'); + this.currentImage.style.display = 'none'; + this.currentImage.setAttribute('src', targetURL); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + + if (this.loadedImages.indexOf(targetURL) === -1) { + this.loadedImages.push(targetURL); + } + + this.domNodes.image.innerHTML = ''; + this.domNodes.image.setAttribute('style', ''); + this.domNodes.image.appendChild(this.currentImage); + this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed); + this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton], this.options.fadeSpeed); + this.show(this.domNodes.spinner); + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length; + this.adjustImage(); + + if (this.options.preloading) { + this.preload(); + } + + setTimeout(function () { + element.dispatchEvent(new Event('shown.' + _this8.eventNamespace)); + }, this.options.animationSpeed); + } + }, { + key: "forceFocus", + value: function forceFocus() { + var _this9 = this; + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.addEventListener(document, 'focusin.' + this.eventNamespace, function (event) { + if (document !== event.target && _this9.domNodes.wrapper !== event.target && !_this9.domNodes.wrapper.contains(event.target)) { + _this9.domNodes.wrapper.focus(); + } + }); + } // utility + + }, { + key: "addEventListener", + value: function addEventListener(elements, events, callback, opts) { + elements = this.wrap(elements); + events = this.wrap(events); + + var _iterator = _createForOfIteratorHelper(elements), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var element = _step.value; + + if (!element.namespaces) { + element.namespaces = {}; + } // save the namespaces addEventListener the DOM element itself + + + var _iterator2 = _createForOfIteratorHelper(events), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var event = _step2.value; + var options = opts || false; + element.namespaces[event] = callback; + element.addEventListener(event.split('.')[0], callback, options); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "removeEventListener", + value: function removeEventListener(elements, events) { + elements = this.wrap(elements); + events = this.wrap(events); + + var _iterator3 = _createForOfIteratorHelper(elements), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var element = _step3.value; + + var _iterator4 = _createForOfIteratorHelper(events), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var event = _step4.value; + + if (element.namespaces && element.namespaces[event]) { + element.removeEventListener(event.split('.')[0], element.namespaces[event]); + delete element.namespaces[event]; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + key: "fadeOut", + value: function fadeOut(elements, duration, callback) { + var _this10 = this; + + elements = this.wrap(elements); + + var _iterator5 = _createForOfIteratorHelper(elements), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var element = _step5.value; + element.style.opacity = 1; + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.isFadeIn = false; + + var step = 16.66666 / (duration || this.options.fadeSpeed), + fade = function fade() { + var currentOpacity = parseFloat(elements[0].style.opacity); + + if ((currentOpacity -= step) < 0) { + var _iterator6 = _createForOfIteratorHelper(elements), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var element = _step6.value; + element.style.display = "none"; + element.style.opacity = ''; + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + callback && callback.call(_this10, elements); + } else { + var _iterator7 = _createForOfIteratorHelper(elements), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _element = _step7.value; + _element.style.opacity = currentOpacity; + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + requestAnimationFrame(fade); + } + }; + + fade(); + } + }, { + key: "fadeIn", + value: function fadeIn(elements, duration, callback, display) { + var _this11 = this; + + elements = this.wrap(elements); + + var _iterator8 = _createForOfIteratorHelper(elements), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var element = _step8.value; + element.style.opacity = 0; + element.style.display = display || "block"; + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + this.isFadeIn = true; + + var opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1), + step = 16.66666 * opacityTarget / (duration || this.options.fadeSpeed), + fade = function fade() { + var currentOpacity = parseFloat(elements[0].style.opacity); + + if (!((currentOpacity += step) > opacityTarget)) { + var _iterator9 = _createForOfIteratorHelper(elements), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var element = _step9.value; + element.style.opacity = currentOpacity; + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + if (!_this11.isFadeIn) return; + requestAnimationFrame(fade); + } else { + var _iterator10 = _createForOfIteratorHelper(elements), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var _element2 = _step10.value; + _element2.style.opacity = ''; + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + callback && callback.call(_this11, elements); + } + }; + + fade(); + } + }, { + key: "hide", + value: function hide(elements) { + elements = this.wrap(elements); + + var _iterator11 = _createForOfIteratorHelper(elements), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var element = _step11.value; + element.dataset.initialDisplay = element.style.display; + element.style.display = 'none'; + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + } + }, { + key: "show", + value: function show(elements, display) { + elements = this.wrap(elements); + + var _iterator12 = _createForOfIteratorHelper(elements), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var element = _step12.value; + element.style.display = element.dataset.initialDisplay || display || 'block'; + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + } + }, { + key: "wrap", + value: function wrap(input) { + return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input]; + } + }, { + key: "on", + value: function on(events, callback) { + events = this.wrap(events); + + var _iterator13 = _createForOfIteratorHelper(this.elements), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var element = _step13.value; + + if (!element.fullyNamespacedEvents) { + element.fullyNamespacedEvents = {}; + } + + var _iterator14 = _createForOfIteratorHelper(events), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var event = _step14.value; + element.fullyNamespacedEvents[event] = callback; + element.addEventListener(event, callback); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + return this; + } + }, { + key: "off", + value: function off(events) { + events = this.wrap(events); + + var _iterator15 = _createForOfIteratorHelper(this.elements), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var element = _step15.value; + + var _iterator16 = _createForOfIteratorHelper(events), + _step16; + + try { + for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { + var event = _step16.value; + + if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) { + element.removeEventListener(event, element.fullyNamespacedEvents[event]); + } + } + } catch (err) { + _iterator16.e(err); + } finally { + _iterator16.f(); + } + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + + return this; + } // api + + }, { + key: "open", + value: function open(elem) { + elem = elem || this.elements[0]; + + if (typeof jQuery !== "undefined" && elem instanceof jQuery) { + elem = elem.get(0); + } + + this.initialImageIndex = this.elements.indexOf(elem); + + if (this.initialImageIndex > -1) { + this.openImage(elem); + } + } + }, { + key: "next", + value: function next() { + this.loadImage(1); + } + }, { + key: "prev", + value: function prev() { + this.loadImage(-1); + } //close is exposed anyways.. + + }, { + key: "destroy", + value: function destroy() { + //remove all custom event listeners from elements + this.off(['close.' + this.eventNamespace, 'closed.' + this.eventNamespace, 'nextImageLoaded.' + this.eventNamespace, 'prevImageLoaded.' + this.eventNamespace, 'change.' + this.eventNamespace, 'nextDone.' + this.eventNamespace, 'prevDone.' + this.eventNamespace, 'error.' + this.eventNamespace, 'changed.' + this.eventNamespace, 'next.' + this.eventNamespace, 'prev.' + this.eventNamespace, 'show.' + this.eventNamespace, 'shown.' + this.eventNamespace]); + this.removeEventListener(this.elements, 'click.' + this.eventNamespace); + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace); + this.removeEventListener(document.body, 'keyup.' + this.eventNamespace); + this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace); + this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace); + this.removeEventListener(window, 'resize.' + this.eventNamespace); + this.removeEventListener(window, 'hashchange.' + this.eventNamespace); + this.close(); + + if (this.isOpen) { + document.body.removeChild(this.domNodes.wrapper); + document.body.removeChild(this.domNodes.overlay); + } + + this.elements = null; + } + }, { + key: "refresh", + value: function refresh() { + if (!this.initialSelector) { + throw 'refreshing only works when you initialize using a selector!'; + } + + var options = this.options, + selector = this.initialSelector; + this.destroy(); + this.constructor(selector, options); + return this; + } + }, { + key: "hash", + get: function get() { + return window.location.hash.substring(1); + } + }]); + + return SimpleLightbox; +}(); + +var _default = SimpleLightbox; +exports["default"] = _default; +global.SimpleLightbox = SimpleLightbox; + +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}]},{},[376]); diff --git a/photos/simplelightbox-master/dist/simple-lightbox.legacy.min.js b/photos/simplelightbox-master/dist/simple-lightbox.legacy.min.js new file mode 100644 index 0000000000000000000000000000000000000000..40c0220953261fd91ad8b0850caf813a0b86e6b7 --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.legacy.min.js @@ -0,0 +1 @@ +!function o(a,s,l){function c(t,e){if(!s[t]){if(!a[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(u)return u(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var i=s[t]={exports:{}};a[t][0].call(i.exports,function(e){return c(a[t][1][e]||e)},i,i.exports,o,a,s,l)}return s[t].exports}for(var u="function"==typeof require&&require,e=0;e<l.length;e++)c(l[e]);return c}({1:[function(e,t,n){e("../modules/es.symbol"),e("../modules/es.symbol.async-iterator"),e("../modules/es.symbol.description"),e("../modules/es.symbol.has-instance"),e("../modules/es.symbol.is-concat-spreadable"),e("../modules/es.symbol.iterator"),e("../modules/es.symbol.match"),e("../modules/es.symbol.match-all"),e("../modules/es.symbol.replace"),e("../modules/es.symbol.search"),e("../modules/es.symbol.species"),e("../modules/es.symbol.split"),e("../modules/es.symbol.to-primitive"),e("../modules/es.symbol.to-string-tag"),e("../modules/es.symbol.unscopables"),e("../modules/es.object.assign"),e("../modules/es.object.create"),e("../modules/es.object.define-property"),e("../modules/es.object.define-properties"),e("../modules/es.object.entries"),e("../modules/es.object.freeze"),e("../modules/es.object.from-entries"),e("../modules/es.object.get-own-property-descriptor"),e("../modules/es.object.get-own-property-descriptors"),e("../modules/es.object.get-own-property-names"),e("../modules/es.object.get-prototype-of"),e("../modules/es.object.is"),e("../modules/es.object.is-extensible"),e("../modules/es.object.is-frozen"),e("../modules/es.object.is-sealed"),e("../modules/es.object.keys"),e("../modules/es.object.prevent-extensions"),e("../modules/es.object.seal"),e("../modules/es.object.set-prototype-of"),e("../modules/es.object.values"),e("../modules/es.object.to-string"),e("../modules/es.object.define-getter"),e("../modules/es.object.define-setter"),e("../modules/es.object.lookup-getter"),e("../modules/es.object.lookup-setter"),e("../modules/es.function.bind"),e("../modules/es.function.name"),e("../modules/es.function.has-instance"),e("../modules/es.global-this"),e("../modules/es.array.from"),e("../modules/es.array.is-array"),e("../modules/es.array.of"),e("../modules/es.array.concat"),e("../modules/es.array.copy-within"),e("../modules/es.array.every"),e("../modules/es.array.fill"),e("../modules/es.array.filter"),e("../modules/es.array.find"),e("../modules/es.array.find-index"),e("../modules/es.array.flat"),e("../modules/es.array.flat-map"),e("../modules/es.array.for-each"),e("../modules/es.array.includes"),e("../modules/es.array.index-of"),e("../modules/es.array.join"),e("../modules/es.array.last-index-of"),e("../modules/es.array.map"),e("../modules/es.array.reduce"),e("../modules/es.array.reduce-right"),e("../modules/es.array.reverse"),e("../modules/es.array.slice"),e("../modules/es.array.some"),e("../modules/es.array.sort"),e("../modules/es.array.splice"),e("../modules/es.array.species"),e("../modules/es.array.unscopables.flat"),e("../modules/es.array.unscopables.flat-map"),e("../modules/es.array.iterator"),e("../modules/es.string.from-code-point"),e("../modules/es.string.raw"),e("../modules/es.string.code-point-at"),e("../modules/es.string.ends-with"),e("../modules/es.string.includes"),e("../modules/es.string.match"),e("../modules/es.string.match-all"),e("../modules/es.string.pad-end"),e("../modules/es.string.pad-start"),e("../modules/es.string.repeat"),e("../modules/es.string.replace"),e("../modules/es.string.search"),e("../modules/es.string.split"),e("../modules/es.string.starts-with"),e("../modules/es.string.trim"),e("../modules/es.string.trim-start"),e("../modules/es.string.trim-end"),e("../modules/es.string.iterator"),e("../modules/es.string.anchor"),e("../modules/es.string.big"),e("../modules/es.string.blink"),e("../modules/es.string.bold"),e("../modules/es.string.fixed"),e("../modules/es.string.fontcolor"),e("../modules/es.string.fontsize"),e("../modules/es.string.italics"),e("../modules/es.string.link"),e("../modules/es.string.small"),e("../modules/es.string.strike"),e("../modules/es.string.sub"),e("../modules/es.string.sup"),e("../modules/es.regexp.constructor"),e("../modules/es.regexp.exec"),e("../modules/es.regexp.flags"),e("../modules/es.regexp.sticky"),e("../modules/es.regexp.test"),e("../modules/es.regexp.to-string"),e("../modules/es.parse-int"),e("../modules/es.parse-float"),e("../modules/es.number.constructor"),e("../modules/es.number.epsilon"),e("../modules/es.number.is-finite"),e("../modules/es.number.is-integer"),e("../modules/es.number.is-nan"),e("../modules/es.number.is-safe-integer"),e("../modules/es.number.max-safe-integer"),e("../modules/es.number.min-safe-integer"),e("../modules/es.number.parse-float"),e("../modules/es.number.parse-int"),e("../modules/es.number.to-fixed"),e("../modules/es.number.to-precision"),e("../modules/es.math.acosh"),e("../modules/es.math.asinh"),e("../modules/es.math.atanh"),e("../modules/es.math.cbrt"),e("../modules/es.math.clz32"),e("../modules/es.math.cosh"),e("../modules/es.math.expm1"),e("../modules/es.math.fround"),e("../modules/es.math.hypot"),e("../modules/es.math.imul"),e("../modules/es.math.log10"),e("../modules/es.math.log1p"),e("../modules/es.math.log2"),e("../modules/es.math.sign"),e("../modules/es.math.sinh"),e("../modules/es.math.tanh"),e("../modules/es.math.to-string-tag"),e("../modules/es.math.trunc"),e("../modules/es.date.now"),e("../modules/es.date.to-json"),e("../modules/es.date.to-iso-string"),e("../modules/es.date.to-string"),e("../modules/es.date.to-primitive"),e("../modules/es.json.stringify"),e("../modules/es.json.to-string-tag"),e("../modules/es.promise"),e("../modules/es.promise.all-settled"),e("../modules/es.promise.finally"),e("../modules/es.map"),e("../modules/es.set"),e("../modules/es.weak-map"),e("../modules/es.weak-set"),e("../modules/es.array-buffer.constructor"),e("../modules/es.array-buffer.is-view"),e("../modules/es.array-buffer.slice"),e("../modules/es.data-view"),e("../modules/es.typed-array.int8-array"),e("../modules/es.typed-array.uint8-array"),e("../modules/es.typed-array.uint8-clamped-array"),e("../modules/es.typed-array.int16-array"),e("../modules/es.typed-array.uint16-array"),e("../modules/es.typed-array.int32-array"),e("../modules/es.typed-array.uint32-array"),e("../modules/es.typed-array.float32-array"),e("../modules/es.typed-array.float64-array"),e("../modules/es.typed-array.from"),e("../modules/es.typed-array.of"),e("../modules/es.typed-array.copy-within"),e("../modules/es.typed-array.every"),e("../modules/es.typed-array.fill"),e("../modules/es.typed-array.filter"),e("../modules/es.typed-array.find"),e("../modules/es.typed-array.find-index"),e("../modules/es.typed-array.for-each"),e("../modules/es.typed-array.includes"),e("../modules/es.typed-array.index-of"),e("../modules/es.typed-array.iterator"),e("../modules/es.typed-array.join"),e("../modules/es.typed-array.last-index-of"),e("../modules/es.typed-array.map"),e("../modules/es.typed-array.reduce"),e("../modules/es.typed-array.reduce-right"),e("../modules/es.typed-array.reverse"),e("../modules/es.typed-array.set"),e("../modules/es.typed-array.slice"),e("../modules/es.typed-array.some"),e("../modules/es.typed-array.sort"),e("../modules/es.typed-array.subarray"),e("../modules/es.typed-array.to-locale-string"),e("../modules/es.typed-array.to-string"),e("../modules/es.reflect.apply"),e("../modules/es.reflect.construct"),e("../modules/es.reflect.define-property"),e("../modules/es.reflect.delete-property"),e("../modules/es.reflect.get"),e("../modules/es.reflect.get-own-property-descriptor"),e("../modules/es.reflect.get-prototype-of"),e("../modules/es.reflect.has"),e("../modules/es.reflect.is-extensible"),e("../modules/es.reflect.own-keys"),e("../modules/es.reflect.prevent-extensions"),e("../modules/es.reflect.set"),e("../modules/es.reflect.set-prototype-of");var r=e("../internals/path");t.exports=r},{"../internals/path":112,"../modules/es.array-buffer.constructor":158,"../modules/es.array-buffer.is-view":159,"../modules/es.array-buffer.slice":160,"../modules/es.array.concat":161,"../modules/es.array.copy-within":162,"../modules/es.array.every":163,"../modules/es.array.fill":164,"../modules/es.array.filter":165,"../modules/es.array.find":167,"../modules/es.array.find-index":166,"../modules/es.array.flat":169,"../modules/es.array.flat-map":168,"../modules/es.array.for-each":170,"../modules/es.array.from":171,"../modules/es.array.includes":172,"../modules/es.array.index-of":173,"../modules/es.array.is-array":174,"../modules/es.array.iterator":175,"../modules/es.array.join":176,"../modules/es.array.last-index-of":177,"../modules/es.array.map":178,"../modules/es.array.of":179,"../modules/es.array.reduce":181,"../modules/es.array.reduce-right":180,"../modules/es.array.reverse":182,"../modules/es.array.slice":183,"../modules/es.array.some":184,"../modules/es.array.sort":185,"../modules/es.array.species":186,"../modules/es.array.splice":187,"../modules/es.array.unscopables.flat":189,"../modules/es.array.unscopables.flat-map":188,"../modules/es.data-view":190,"../modules/es.date.now":191,"../modules/es.date.to-iso-string":192,"../modules/es.date.to-json":193,"../modules/es.date.to-primitive":194,"../modules/es.date.to-string":195,"../modules/es.function.bind":196,"../modules/es.function.has-instance":197,"../modules/es.function.name":198,"../modules/es.global-this":199,"../modules/es.json.stringify":200,"../modules/es.json.to-string-tag":201,"../modules/es.map":202,"../modules/es.math.acosh":203,"../modules/es.math.asinh":204,"../modules/es.math.atanh":205,"../modules/es.math.cbrt":206,"../modules/es.math.clz32":207,"../modules/es.math.cosh":208,"../modules/es.math.expm1":209,"../modules/es.math.fround":210,"../modules/es.math.hypot":211,"../modules/es.math.imul":212,"../modules/es.math.log10":213,"../modules/es.math.log1p":214,"../modules/es.math.log2":215,"../modules/es.math.sign":216,"../modules/es.math.sinh":217,"../modules/es.math.tanh":218,"../modules/es.math.to-string-tag":219,"../modules/es.math.trunc":220,"../modules/es.number.constructor":221,"../modules/es.number.epsilon":222,"../modules/es.number.is-finite":223,"../modules/es.number.is-integer":224,"../modules/es.number.is-nan":225,"../modules/es.number.is-safe-integer":226,"../modules/es.number.max-safe-integer":227,"../modules/es.number.min-safe-integer":228,"../modules/es.number.parse-float":229,"../modules/es.number.parse-int":230,"../modules/es.number.to-fixed":231,"../modules/es.number.to-precision":232,"../modules/es.object.assign":233,"../modules/es.object.create":234,"../modules/es.object.define-getter":235,"../modules/es.object.define-properties":236,"../modules/es.object.define-property":237,"../modules/es.object.define-setter":238,"../modules/es.object.entries":239,"../modules/es.object.freeze":240,"../modules/es.object.from-entries":241,"../modules/es.object.get-own-property-descriptor":242,"../modules/es.object.get-own-property-descriptors":243,"../modules/es.object.get-own-property-names":244,"../modules/es.object.get-prototype-of":245,"../modules/es.object.is":249,"../modules/es.object.is-extensible":246,"../modules/es.object.is-frozen":247,"../modules/es.object.is-sealed":248,"../modules/es.object.keys":250,"../modules/es.object.lookup-getter":251,"../modules/es.object.lookup-setter":252,"../modules/es.object.prevent-extensions":253,"../modules/es.object.seal":254,"../modules/es.object.set-prototype-of":255,"../modules/es.object.to-string":256,"../modules/es.object.values":257,"../modules/es.parse-float":258,"../modules/es.parse-int":259,"../modules/es.promise":262,"../modules/es.promise.all-settled":260,"../modules/es.promise.finally":261,"../modules/es.reflect.apply":263,"../modules/es.reflect.construct":264,"../modules/es.reflect.define-property":265,"../modules/es.reflect.delete-property":266,"../modules/es.reflect.get":269,"../modules/es.reflect.get-own-property-descriptor":267,"../modules/es.reflect.get-prototype-of":268,"../modules/es.reflect.has":270,"../modules/es.reflect.is-extensible":271,"../modules/es.reflect.own-keys":272,"../modules/es.reflect.prevent-extensions":273,"../modules/es.reflect.set":275,"../modules/es.reflect.set-prototype-of":274,"../modules/es.regexp.constructor":276,"../modules/es.regexp.exec":277,"../modules/es.regexp.flags":278,"../modules/es.regexp.sticky":279,"../modules/es.regexp.test":280,"../modules/es.regexp.to-string":281,"../modules/es.set":282,"../modules/es.string.anchor":283,"../modules/es.string.big":284,"../modules/es.string.blink":285,"../modules/es.string.bold":286,"../modules/es.string.code-point-at":287,"../modules/es.string.ends-with":288,"../modules/es.string.fixed":289,"../modules/es.string.fontcolor":290,"../modules/es.string.fontsize":291,"../modules/es.string.from-code-point":292,"../modules/es.string.includes":293,"../modules/es.string.italics":294,"../modules/es.string.iterator":295,"../modules/es.string.link":296,"../modules/es.string.match":298,"../modules/es.string.match-all":297,"../modules/es.string.pad-end":299,"../modules/es.string.pad-start":300,"../modules/es.string.raw":301,"../modules/es.string.repeat":302,"../modules/es.string.replace":303,"../modules/es.string.search":304,"../modules/es.string.small":305,"../modules/es.string.split":306,"../modules/es.string.starts-with":307,"../modules/es.string.strike":308,"../modules/es.string.sub":309,"../modules/es.string.sup":310,"../modules/es.string.trim":313,"../modules/es.string.trim-end":311,"../modules/es.string.trim-start":312,"../modules/es.symbol":319,"../modules/es.symbol.async-iterator":314,"../modules/es.symbol.description":315,"../modules/es.symbol.has-instance":316,"../modules/es.symbol.is-concat-spreadable":317,"../modules/es.symbol.iterator":318,"../modules/es.symbol.match":321,"../modules/es.symbol.match-all":320,"../modules/es.symbol.replace":322,"../modules/es.symbol.search":323,"../modules/es.symbol.species":324,"../modules/es.symbol.split":325,"../modules/es.symbol.to-primitive":326,"../modules/es.symbol.to-string-tag":327,"../modules/es.symbol.unscopables":328,"../modules/es.typed-array.copy-within":329,"../modules/es.typed-array.every":330,"../modules/es.typed-array.fill":331,"../modules/es.typed-array.filter":332,"../modules/es.typed-array.find":334,"../modules/es.typed-array.find-index":333,"../modules/es.typed-array.float32-array":335,"../modules/es.typed-array.float64-array":336,"../modules/es.typed-array.for-each":337,"../modules/es.typed-array.from":338,"../modules/es.typed-array.includes":339,"../modules/es.typed-array.index-of":340,"../modules/es.typed-array.int16-array":341,"../modules/es.typed-array.int32-array":342,"../modules/es.typed-array.int8-array":343,"../modules/es.typed-array.iterator":344,"../modules/es.typed-array.join":345,"../modules/es.typed-array.last-index-of":346,"../modules/es.typed-array.map":347,"../modules/es.typed-array.of":348,"../modules/es.typed-array.reduce":350,"../modules/es.typed-array.reduce-right":349,"../modules/es.typed-array.reverse":351,"../modules/es.typed-array.set":352,"../modules/es.typed-array.slice":353,"../modules/es.typed-array.some":354,"../modules/es.typed-array.sort":355,"../modules/es.typed-array.subarray":356,"../modules/es.typed-array.to-locale-string":357,"../modules/es.typed-array.to-string":358,"../modules/es.typed-array.uint16-array":359,"../modules/es.typed-array.uint32-array":360,"../modules/es.typed-array.uint8-array":361,"../modules/es.typed-array.uint8-clamped-array":362,"../modules/es.weak-map":363,"../modules/es.weak-set":364}],2:[function(e,t,n){t.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},{}],3:[function(e,t,n){var r=e("../internals/is-object");t.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},{"../internals/is-object":75}],4:[function(e,t,n){var r=e("../internals/well-known-symbol"),i=e("../internals/object-create"),o=e("../internals/object-define-property"),a=r("unscopables"),s=Array.prototype;null==s[a]&&o.f(s,a,{configurable:!0,value:i(null)}),t.exports=function(e){s[a][e]=!0}},{"../internals/object-create":96,"../internals/object-define-property":98,"../internals/well-known-symbol":156}],5:[function(e,t,n){"use strict";var r=e("../internals/string-multibyte").charAt;t.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},{"../internals/string-multibyte":131}],6:[function(e,t,n){t.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},{}],7:[function(e,t,n){var r=e("../internals/is-object");t.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},{"../internals/is-object":75}],8:[function(e,t,n){t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},{}],9:[function(e,t,n){"use strict";function r(e){return l(e)&&c(N,u(e))}var i,o=e("../internals/array-buffer-native"),a=e("../internals/descriptors"),s=e("../internals/global"),l=e("../internals/is-object"),c=e("../internals/has"),u=e("../internals/classof"),f=e("../internals/create-non-enumerable-property"),d=e("../internals/redefine"),p=e("../internals/object-define-property").f,h=e("../internals/object-get-prototype-of"),m=e("../internals/object-set-prototype-of"),g=e("../internals/well-known-symbol"),y=e("../internals/uid"),b=s.Int8Array,v=b&&b.prototype,x=s.Uint8ClampedArray,w=x&&x.prototype,j=b&&h(b),C=v&&h(v),E=Object.prototype,S=E.isPrototypeOf,O=g("toStringTag"),k=y("TYPED_ARRAY_TAG"),A=o&&!!m&&"Opera"!==u(s.opera),I=!1,N={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8};for(i in N)s[i]||(A=!1);if((!A||"function"!=typeof j||j===Function.prototype)&&(j=function(){throw TypeError("Incorrect invocation")},A))for(i in N)s[i]&&m(s[i],j);if((!A||!C||C===E)&&(C=j.prototype,A))for(i in N)s[i]&&m(s[i].prototype,C);if(A&&h(w)!==C&&m(w,C),a&&!c(C,O))for(i in I=!0,p(C,O,{get:function(){return l(this)?this[k]:void 0}}),N)s[i]&&f(s[i],k,i);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:A,TYPED_ARRAY_TAG:I&&k,aTypedArray:function(e){if(r(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(S.call(j,e))return e}else for(var t in N)if(c(N,i)){var n=s[t];if(n&&(e===n||S.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(a){if(n)for(var r in N){var i=s[r];i&&c(i.prototype,e)&&delete i.prototype[e]}C[e]&&!n||d(C,e,n?t:A&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var r,i;if(a){if(m){if(n)for(r in N)(i=s[r])&&c(i,e)&&delete i[e];if(j[e]&&!n)return;try{return d(j,e,n?t:A&&b[e]||t)}catch(e){}}for(r in N)!(i=s[r])||i[e]&&!n||d(i,e,t)}},isView:function(e){var t=u(e);return"DataView"===t||c(N,t)},isTypedArray:r,TypedArray:j,TypedArrayPrototype:C}},{"../internals/array-buffer-native":8,"../internals/classof":26,"../internals/create-non-enumerable-property":35,"../internals/descriptors":42,"../internals/global":59,"../internals/has":60,"../internals/is-object":75,"../internals/object-define-property":98,"../internals/object-get-prototype-of":103,"../internals/object-set-prototype-of":108,"../internals/redefine":116,"../internals/uid":153,"../internals/well-known-symbol":156}],10:[function(e,t,n){"use strict";function r(e){return[255&e]}function i(e){return[255&e,e>>8&255]}function o(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function a(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function s(e){return X(e,23,4)}function l(e){return X(e,52,8)}function c(e,t){O(e[P],t,{get:function(){return N(this)[t]}})}function u(e,t,n,r){var i=w(n),o=N(e);if(i+t>o.byteLength)throw q(M);var a=N(o.buffer).bytes,s=i+o.byteOffset,l=a.slice(s,s+t);return r?l:l.reverse()}function f(e,t,n,r,i,o){var a=w(n),s=N(e);if(a+t>s.byteLength)throw q(M);for(var l=N(s.buffer).bytes,c=a+s.byteOffset,u=r(+i),f=0;f<t;f++)l[c+f]=u[o?f:t-f-1]}var d=e("../internals/global"),p=e("../internals/descriptors"),h=e("../internals/array-buffer-native"),m=e("../internals/create-non-enumerable-property"),g=e("../internals/redefine-all"),y=e("../internals/fails"),b=e("../internals/an-instance"),v=e("../internals/to-integer"),x=e("../internals/to-length"),w=e("../internals/to-index"),j=e("../internals/ieee754"),C=e("../internals/object-get-prototype-of"),E=e("../internals/object-set-prototype-of"),S=e("../internals/object-get-own-property-names").f,O=e("../internals/object-define-property").f,k=e("../internals/array-fill"),A=e("../internals/set-to-string-tag"),I=e("../internals/internal-state"),N=I.get,T=I.set,L="ArrayBuffer",R="DataView",P="prototype",M="Wrong index",D=d[L],_=D,F=d[R],Y=F&&F[P],U=Object.prototype,q=d.RangeError,X=j.pack,z=j.unpack;if(h){if(!y(function(){D(1)})||!y(function(){new D(-1)})||y(function(){return new D,new D(1.5),new D(NaN),D.name!=L})){for(var W,B=(_=function(e){return b(this,_),new D(w(e))})[P]=D[P],H=S(D),G=0;H.length>G;)(W=H[G++])in _||m(_,W,D[W]);B.constructor=_}E&&C(Y)!==U&&E(Y,U);var V=new F(new _(2)),$=Y.setInt8;V.setInt8(0,2147483648),V.setInt8(1,2147483649),!V.getInt8(0)&&V.getInt8(1)||g(Y,{setInt8:function(e,t){$.call(this,e,t<<24>>24)},setUint8:function(e,t){$.call(this,e,t<<24>>24)}},{unsafe:!0})}else _=function(e){b(this,_,L);var t=w(e);T(this,{bytes:k.call(new Array(t),0),byteLength:t}),p||(this.byteLength=t)},F=function(e,t,n){b(this,F,R),b(e,_,R);var r=N(e).byteLength,i=v(t);if(i<0||r<i)throw q("Wrong offset");if(r<i+(n=void 0===n?r-i:x(n)))throw q("Wrong length");T(this,{buffer:e,byteLength:n,byteOffset:i}),p||(this.buffer=e,this.byteLength=n,this.byteOffset=i)},p&&(c(_,"byteLength"),c(F,"buffer"),c(F,"byteLength"),c(F,"byteOffset")),g(F[P],{getInt8:function(e){return u(this,1,e)[0]<<24>>24},getUint8:function(e){return u(this,1,e)[0]},getInt16:function(e,t){var n=u(this,2,e,1<arguments.length?t:void 0);return(n[1]<<8|n[0])<<16>>16},getUint16:function(e,t){var n=u(this,2,e,1<arguments.length?t:void 0);return n[1]<<8|n[0]},getInt32:function(e,t){return a(u(this,4,e,1<arguments.length?t:void 0))},getUint32:function(e,t){return a(u(this,4,e,1<arguments.length?t:void 0))>>>0},getFloat32:function(e,t){return z(u(this,4,e,1<arguments.length?t:void 0),23)},getFloat64:function(e,t){return z(u(this,8,e,1<arguments.length?t:void 0),52)},setInt8:function(e,t){f(this,1,e,r,t)},setUint8:function(e,t){f(this,1,e,r,t)},setInt16:function(e,t,n){f(this,2,e,i,t,2<arguments.length?n:void 0)},setUint16:function(e,t,n){f(this,2,e,i,t,2<arguments.length?n:void 0)},setInt32:function(e,t,n){f(this,4,e,o,t,2<arguments.length?n:void 0)},setUint32:function(e,t,n){f(this,4,e,o,t,2<arguments.length?n:void 0)},setFloat32:function(e,t,n){f(this,4,e,s,t,2<arguments.length?n:void 0)},setFloat64:function(e,t,n){f(this,8,e,l,t,2<arguments.length?n:void 0)}});A(_,L),A(F,R),t.exports={ArrayBuffer:_,DataView:F}},{"../internals/an-instance":6,"../internals/array-buffer-native":8,"../internals/array-fill":12,"../internals/create-non-enumerable-property":35,"../internals/descriptors":42,"../internals/fails":50,"../internals/global":59,"../internals/ieee754":65,"../internals/internal-state":70,"../internals/object-define-property":98,"../internals/object-get-own-property-names":101,"../internals/object-get-prototype-of":103,"../internals/object-set-prototype-of":108,"../internals/redefine-all":115,"../internals/set-to-string-tag":125,"../internals/to-index":141,"../internals/to-integer":143,"../internals/to-length":144}],11:[function(e,t,n){"use strict";var u=e("../internals/to-object"),f=e("../internals/to-absolute-index"),d=e("../internals/to-length"),p=Math.min;t.exports=[].copyWithin||function(e,t,n){var r=u(this),i=d(r.length),o=f(e,i),a=f(t,i),s=2<arguments.length?n:void 0,l=p((void 0===s?i:f(s,i))-a,i-o),c=1;for(a<o&&o<a+l&&(c=-1,a+=l-1,o+=l-1);0<l--;)a in r?r[o]=r[a]:delete r[o],o+=c,a+=c;return r}},{"../internals/to-absolute-index":140,"../internals/to-length":144,"../internals/to-object":145}],12:[function(e,t,n){"use strict";var c=e("../internals/to-object"),u=e("../internals/to-absolute-index"),f=e("../internals/to-length");t.exports=function(e,t,n){for(var r=c(this),i=f(r.length),o=arguments.length,a=u(1<o?t:void 0,i),s=2<o?n:void 0,l=void 0===s?i:u(s,i);a<l;)r[a++]=e;return r}},{"../internals/to-absolute-index":140,"../internals/to-length":144,"../internals/to-object":145}],13:[function(e,t,n){"use strict";var r=e("../internals/array-iteration").forEach,i=e("../internals/array-method-is-strict"),o=e("../internals/array-method-uses-to-length"),a=i("forEach"),s=o("forEach");t.exports=a&&s?[].forEach:function(e,t){return r(this,e,1<arguments.length?t:void 0)}},{"../internals/array-iteration":16,"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20}],14:[function(e,t,n){"use strict";var g=e("../internals/function-bind-context"),y=e("../internals/to-object"),b=e("../internals/call-with-safe-iteration-closing"),v=e("../internals/is-array-iterator-method"),x=e("../internals/to-length"),w=e("../internals/create-property"),j=e("../internals/get-iterator-method");t.exports=function(e,t,n){var r,i,o,a,s,l,c=y(e),u="function"==typeof this?this:Array,f=arguments.length,d=1<f?t:void 0,p=void 0!==d,h=j(c),m=0;if(p&&(d=g(d,2<f?n:void 0,2)),null==h||u==Array&&v(h))for(i=new u(r=x(c.length));m<r;m++)l=p?d(c[m],m):c[m],w(i,m,l);else for(s=(a=h.call(c)).next,i=new u;!(o=s.call(a)).done;m++)l=p?b(a,d,[o.value,m],!0):o.value,w(i,m,l);return i.length=m,i}},{"../internals/call-with-safe-iteration-closing":23,"../internals/create-property":37,"../internals/function-bind-context":54,"../internals/get-iterator-method":57,"../internals/is-array-iterator-method":71,"../internals/to-length":144,"../internals/to-object":145}],15:[function(e,t,n){function r(s){return function(e,t,n){var r,i=l(e),o=c(i.length),a=u(n,o);if(s&&t!=t){for(;a<o;)if((r=i[a++])!=r)return!0}else for(;a<o;a++)if((s||a in i)&&i[a]===t)return s||a||0;return!s&&-1}}var l=e("../internals/to-indexed-object"),c=e("../internals/to-length"),u=e("../internals/to-absolute-index");t.exports={includes:r(!0),indexOf:r(!1)}},{"../internals/to-absolute-index":140,"../internals/to-indexed-object":142,"../internals/to-length":144}],16:[function(e,t,n){function r(p){var h=1==p,m=2==p,g=3==p,y=4==p,b=6==p,v=5==p||b;return function(e,t,n,r){for(var i,o,a=j(e),s=w(a),l=x(t,n,3),c=C(s.length),u=0,f=r||E,d=h?f(e,c):m?f(e,0):void 0;u<c;u++)if((v||u in s)&&(o=l(i=s[u],u,a),p))if(h)d[u]=o;else if(o)switch(p){case 3:return!0;case 5:return i;case 6:return u;case 2:S.call(d,i)}else if(y)return!1;return b?-1:g||y?y:d}}var x=e("../internals/function-bind-context"),w=e("../internals/indexed-object"),j=e("../internals/to-object"),C=e("../internals/to-length"),E=e("../internals/array-species-create"),S=[].push;t.exports={forEach:r(0),map:r(1),filter:r(2),some:r(3),every:r(4),find:r(5),findIndex:r(6)}},{"../internals/array-species-create":22,"../internals/function-bind-context":54,"../internals/indexed-object":66,"../internals/to-length":144,"../internals/to-object":145}],17:[function(e,t,n){"use strict";var o=e("../internals/to-indexed-object"),a=e("../internals/to-integer"),s=e("../internals/to-length"),r=e("../internals/array-method-is-strict"),i=e("../internals/array-method-uses-to-length"),l=Math.min,c=[].lastIndexOf,u=!!c&&1/[1].lastIndexOf(1,-0)<0,f=r("lastIndexOf"),d=i("indexOf",{ACCESSORS:!0,1:0}),p=u||!f||!d;t.exports=p?function(e,t){if(u)return c.apply(this,arguments)||0;var n=o(this),r=s(n.length),i=r-1;for(1<arguments.length&&(i=l(i,a(t))),i<0&&(i=r+i);0<=i;i--)if(i in n&&n[i]===e)return i||0;return-1}:c},{"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/to-indexed-object":142,"../internals/to-integer":143,"../internals/to-length":144}],18:[function(e,t,n){var r=e("../internals/fails"),i=e("../internals/well-known-symbol"),o=e("../internals/engine-v8-version"),a=i("species");t.exports=function(t){return 51<=o||!r(function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo})}},{"../internals/engine-v8-version":47,"../internals/fails":50,"../internals/well-known-symbol":156}],19:[function(e,t,n){"use strict";var r=e("../internals/fails");t.exports=function(e,t){var n=[][e];return!!n&&r(function(){n.call(null,t||function(){throw 1},1)})}},{"../internals/fails":50}],20:[function(e,t,n){function a(e){throw e}var s=e("../internals/descriptors"),l=e("../internals/fails"),c=e("../internals/has"),u=Object.defineProperty,f={};t.exports=function(e,t){if(c(f,e))return f[e];var n=[][e],r=!!c(t=t||{},"ACCESSORS")&&t.ACCESSORS,i=c(t,0)?t[0]:a,o=c(t,1)?t[1]:void 0;return f[e]=!!n&&!l(function(){if(r&&!s)return!0;var e={length:-1};r?u(e,1,{enumerable:!0,get:a}):e[1]=1,n.call(e,i,o)})}},{"../internals/descriptors":42,"../internals/fails":50,"../internals/has":60}],21:[function(e,t,n){function r(c){return function(e,t,n,r){u(t);var i=f(e),o=d(i),a=p(i.length),s=c?a-1:0,l=c?-1:1;if(n<2)for(;;){if(s in o){r=o[s],s+=l;break}if(s+=l,c?s<0:a<=s)throw TypeError("Reduce of empty array with no initial value")}for(;c?0<=s:s<a;s+=l)s in o&&(r=t(r,o[s],s,i));return r}}var u=e("../internals/a-function"),f=e("../internals/to-object"),d=e("../internals/indexed-object"),p=e("../internals/to-length");t.exports={left:r(!1),right:r(!0)}},{"../internals/a-function":2,"../internals/indexed-object":66,"../internals/to-length":144,"../internals/to-object":145}],22:[function(e,t,n){var r=e("../internals/is-object"),i=e("../internals/is-array"),o=e("../internals/well-known-symbol")("species");t.exports=function(e,t){var n;return i(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!i(n.prototype)?r(n)&&null===(n=n[o])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},{"../internals/is-array":72,"../internals/is-object":75,"../internals/well-known-symbol":156}],23:[function(e,t,n){var o=e("../internals/an-object");t.exports=function(t,e,n,r){try{return r?e(o(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&o(i.call(t)),e}}},{"../internals/an-object":7}],24:[function(e,t,n){var i=e("../internals/well-known-symbol")("iterator"),o=!1;try{var r=0,a={next:function(){return{done:!!r++}},return:function(){o=!0}};a[i]=function(){return this},Array.from(a,function(){throw 2})}catch(e){}t.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var r={};r[i]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(e){}return n}},{"../internals/well-known-symbol":156}],25:[function(e,t,n){var r={}.toString;t.exports=function(e){return r.call(e).slice(8,-1)}},{}],26:[function(e,t,n){var r=e("../internals/to-string-tag-support"),i=e("../internals/classof-raw"),o=e("../internals/well-known-symbol")("toStringTag"),a="Arguments"==i(function(){return arguments}());t.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:a?i(t):"Object"==(r=i(t))&&"function"==typeof t.callee?"Arguments":r}},{"../internals/classof-raw":25,"../internals/to-string-tag-support":149,"../internals/well-known-symbol":156}],27:[function(e,t,n){"use strict";var c=e("../internals/object-define-property").f,u=e("../internals/object-create"),f=e("../internals/redefine-all"),d=e("../internals/function-bind-context"),p=e("../internals/an-instance"),h=e("../internals/iterate"),a=e("../internals/define-iterator"),s=e("../internals/set-species"),m=e("../internals/descriptors"),g=e("../internals/internal-metadata").fastKey,r=e("../internals/internal-state"),y=r.set,b=r.getterFor;t.exports={getConstructor:function(e,n,r,i){function o(e,t,n){var r,i,o=s(e),a=l(e,t);return a?a.value=n:(o.last=a={index:i=g(t,!0),key:t,value:n,previous:r=o.last,next:void 0,removed:!1},o.first||(o.first=a),r&&(r.next=a),m?o.size++:e.size++,"F"!==i&&(o.index[i]=a)),e}var a=e(function(e,t){p(e,a,n),y(e,{type:n,index:u(null),first:void 0,last:void 0,size:0}),m||(e.size=0),null!=t&&h(t,e[i],e,r)}),s=b(n),l=function(e,t){var n,r=s(e),i=g(t);if("F"!==i)return r.index[i];for(n=r.first;n;n=n.next)if(n.key==t)return n};return f(a.prototype,{clear:function(){for(var e=s(this),t=e.index,n=e.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete t[n.index],n=n.next;e.first=e.last=void 0,m?e.size=0:this.size=0},delete:function(e){var t=s(this),n=l(this,e);if(n){var r=n.next,i=n.previous;delete t.index[n.index],n.removed=!0,i&&(i.next=r),r&&(r.previous=i),t.first==n&&(t.first=r),t.last==n&&(t.last=i),m?t.size--:this.size--}return!!n},forEach:function(e,t){for(var n,r=s(this),i=d(e,1<arguments.length?t:void 0,3);n=n?n.next:r.first;)for(i(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!l(this,e)}}),f(a.prototype,r?{get:function(e){var t=l(this,e);return t&&t.value},set:function(e,t){return o(this,0===e?0:e,t)}}:{add:function(e){return o(this,e=0===e?0:e,e)}}),m&&c(a.prototype,"size",{get:function(){return s(this).size}}),a},setStrong:function(e,t,n){var r=t+" Iterator",i=b(t),o=b(r);a(e,t,function(e,t){y(this,{type:r,target:e,state:i(e),kind:t,last:void 0})},function(){for(var e=o(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:{value:e.target=void 0,done:!0}},n?"entries":"values",!n,!0),s(t)}}},{"../internals/an-instance":6,"../internals/define-iterator":40,"../internals/descriptors":42,"../internals/function-bind-context":54,"../internals/internal-metadata":69,"../internals/internal-state":70,"../internals/iterate":78,"../internals/object-create":96,"../internals/object-define-property":98,"../internals/redefine-all":115,"../internals/set-species":124}],28:[function(e,t,n){"use strict";function l(e){return e.frozen||(e.frozen=new v)}function r(e,t){return a(e.entries,function(e){return e[0]===t})}var c=e("../internals/redefine-all"),u=e("../internals/internal-metadata").getWeakData,f=e("../internals/an-object"),d=e("../internals/is-object"),p=e("../internals/an-instance"),h=e("../internals/iterate"),i=e("../internals/array-iteration"),m=e("../internals/has"),o=e("../internals/internal-state"),g=o.set,y=o.getterFor,a=i.find,s=i.findIndex,b=0,v=function(){this.entries=[]};v.prototype={get:function(e){var t=r(this,e);if(t)return t[1]},has:function(e){return!!r(this,e)},set:function(e,t){var n=r(this,e);n?n[1]=t:this.entries.push([e,t])},delete:function(t){var e=s(this.entries,function(e){return e[0]===t});return~e&&this.entries.splice(e,1),!!~e}},t.exports={getConstructor:function(e,n,r,i){function o(e,t,n){var r=s(e),i=u(f(t),!0);return!0===i?l(r).set(t,n):i[r.id]=n,e}var a=e(function(e,t){p(e,a,n),g(e,{type:n,id:b++,frozen:void 0}),null!=t&&h(t,e[i],e,r)}),s=y(n);return c(a.prototype,{delete:function(e){var t=s(this);if(!d(e))return!1;var n=u(e);return!0===n?l(t).delete(e):n&&m(n,t.id)&&delete n[t.id]},has:function(e){var t=s(this);if(!d(e))return!1;var n=u(e);return!0===n?l(t).has(e):n&&m(n,t.id)}}),c(a.prototype,r?{get:function(e){var t=s(this);if(d(e)){var n=u(e);return!0===n?l(t).get(e):n?n[t.id]:void 0}},set:function(e,t){return o(this,e,t)}}:{add:function(e){return o(this,e,!0)}}),a}}},{"../internals/an-instance":6,"../internals/an-object":7,"../internals/array-iteration":16,"../internals/has":60,"../internals/internal-metadata":69,"../internals/internal-state":70,"../internals/is-object":75,"../internals/iterate":78,"../internals/redefine-all":115}],29:[function(e,t,n){"use strict";var g=e("../internals/export"),y=e("../internals/global"),b=e("../internals/is-forced"),v=e("../internals/redefine"),x=e("../internals/internal-metadata"),w=e("../internals/iterate"),j=e("../internals/an-instance"),C=e("../internals/is-object"),E=e("../internals/fails"),S=e("../internals/check-correctness-of-iteration"),O=e("../internals/set-to-string-tag"),k=e("../internals/inherit-if-required");t.exports=function(r,e,t){function n(e){var n=l[e];v(l,e,"add"==e?function(e){return n.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(o&&!C(e))&&n.call(this,0===e?0:e)}:"get"==e?function(e){return o&&!C(e)?void 0:n.call(this,0===e?0:e)}:"has"==e?function(e){return!(o&&!C(e))&&n.call(this,0===e?0:e)}:function(e,t){return n.call(this,0===e?0:e,t),this})}var i=-1!==r.indexOf("Map"),o=-1!==r.indexOf("Weak"),a=i?"set":"add",s=y[r],l=s&&s.prototype,c=s,u={};if(b(r,"function"!=typeof s||!(o||l.forEach&&!E(function(){(new s).entries().next()}))))c=t.getConstructor(e,r,i,a),x.REQUIRED=!0;else if(b(r,!0)){var f=new c,d=f[a](o?{}:-0,1)!=f,p=E(function(){f.has(1)}),h=S(function(e){new s(e)}),m=!o&&E(function(){for(var e=new s,t=5;t--;)e[a](t,t);return!e.has(-0)});h||(((c=e(function(e,t){j(e,c,r);var n=k(new s,e,c);return null!=t&&w(t,n[a],n,i),n})).prototype=l).constructor=c),(p||m)&&(n("delete"),n("has"),i&&n("get")),(m||d)&&n(a),o&&l.clear&&delete l.clear}return u[r]=c,g({global:!0,forced:c!=s},u),O(c,r),o||t.setStrong(c,r,i),c}},{"../internals/an-instance":6,"../internals/check-correctness-of-iteration":24,"../internals/export":49,"../internals/fails":50,"../internals/global":59,"../internals/inherit-if-required":67,"../internals/internal-metadata":69,"../internals/is-forced":73,"../internals/is-object":75,"../internals/iterate":78,"../internals/redefine":116,"../internals/set-to-string-tag":125}],30:[function(e,t,n){var s=e("../internals/has"),l=e("../internals/own-keys"),c=e("../internals/object-get-own-property-descriptor"),u=e("../internals/object-define-property");t.exports=function(e,t){for(var n=l(t),r=u.f,i=c.f,o=0;o<n.length;o++){var a=n[o];s(e,a)||r(e,a,i(t,a))}}},{"../internals/has":60,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/own-keys":111}],31:[function(e,t,n){var r=e("../internals/well-known-symbol")("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[r]=!1,"/./"[t](n)}catch(e){}}return!1}},{"../internals/well-known-symbol":156}],32:[function(e,t,n){var r=e("../internals/fails");t.exports=!r(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},{"../internals/fails":50}],33:[function(e,t,n){var a=e("../internals/require-object-coercible"),s=/"/g;t.exports=function(e,t,n,r){var i=String(a(e)),o="<"+t;return""!==n&&(o+=" "+n+'="'+String(r).replace(s,""")+'"'),o+">"+i+"</"+t+">"}},{"../internals/require-object-coercible":121}],34:[function(e,t,n){"use strict";function i(){return this}var o=e("../internals/iterators-core").IteratorPrototype,a=e("../internals/object-create"),s=e("../internals/create-property-descriptor"),l=e("../internals/set-to-string-tag"),c=e("../internals/iterators");t.exports=function(e,t,n){var r=t+" Iterator";return e.prototype=a(o,{next:s(1,n)}),l(e,r,!1,!0),c[r]=i,e}},{"../internals/create-property-descriptor":36,"../internals/iterators":80,"../internals/iterators-core":79,"../internals/object-create":96,"../internals/set-to-string-tag":125}],35:[function(e,t,n){var r=e("../internals/descriptors"),i=e("../internals/object-define-property"),o=e("../internals/create-property-descriptor");t.exports=r?function(e,t,n){return i.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},{"../internals/create-property-descriptor":36,"../internals/descriptors":42,"../internals/object-define-property":98}],36:[function(e,t,n){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],37:[function(e,t,n){"use strict";var i=e("../internals/to-primitive"),o=e("../internals/object-define-property"),a=e("../internals/create-property-descriptor");t.exports=function(e,t,n){var r=i(t);r in e?o.f(e,r,a(0,n)):e[r]=n}},{"../internals/create-property-descriptor":36,"../internals/object-define-property":98,"../internals/to-primitive":148}],38:[function(e,t,n){"use strict";var r=e("../internals/fails"),i=e("../internals/string-pad").start,o=Math.abs,a=Date.prototype,s=a.getTime,l=a.toISOString;t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=l.call(new Date(-5e13-1))})||!r(function(){l.call(new Date(NaN))})?function(){if(!isFinite(s.call(this)))throw RangeError("Invalid time value");var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?"-":9999<t?"+":"";return r+i(o(t),r?6:4,0)+"-"+i(e.getUTCMonth()+1,2,0)+"-"+i(e.getUTCDate(),2,0)+"T"+i(e.getUTCHours(),2,0)+":"+i(e.getUTCMinutes(),2,0)+":"+i(e.getUTCSeconds(),2,0)+"."+i(n,3,0)+"Z"}:l},{"../internals/fails":50,"../internals/string-pad":133}],39:[function(e,t,n){"use strict";var r=e("../internals/an-object"),i=e("../internals/to-primitive");t.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return i(r(this),"number"!==e)}},{"../internals/an-object":7,"../internals/to-primitive":148}],40:[function(e,t,n){"use strict";function y(){return this}var b=e("../internals/export"),v=e("../internals/create-iterator-constructor"),x=e("../internals/object-get-prototype-of"),w=e("../internals/object-set-prototype-of"),j=e("../internals/set-to-string-tag"),C=e("../internals/create-non-enumerable-property"),E=e("../internals/redefine"),r=e("../internals/well-known-symbol"),S=e("../internals/is-pure"),O=e("../internals/iterators"),i=e("../internals/iterators-core"),k=i.IteratorPrototype,A=i.BUGGY_SAFARI_ITERATORS,I=r("iterator"),N="values",T="entries";t.exports=function(e,t,n,r,i,o,a){v(n,t,r);function s(e){if(e===i&&m)return m;if(!A&&e in p)return p[e];switch(e){case"keys":case N:case T:return function(){return new n(this,e)}}return function(){return new n(this)}}var l,c,u,f=t+" Iterator",d=!1,p=e.prototype,h=p[I]||p["@@iterator"]||i&&p[i],m=!A&&h||s(i),g="Array"==t&&p.entries||h;if(g&&(l=x(g.call(new e)),k!==Object.prototype&&l.next&&(S||x(l)===k||(w?w(l,k):"function"!=typeof l[I]&&C(l,I,y)),j(l,f,!0,!0),S&&(O[f]=y))),i==N&&h&&h.name!==N&&(d=!0,m=function(){return h.call(this)}),S&&!a||p[I]===m||C(p,I,m),O[t]=m,i)if(c={values:s(N),keys:o?m:s("keys"),entries:s(T)},a)for(u in c)!A&&!d&&u in p||E(p,u,c[u]);else b({target:t,proto:!0,forced:A||d},c);return c}},{"../internals/create-iterator-constructor":34,"../internals/create-non-enumerable-property":35,"../internals/export":49,"../internals/is-pure":76,"../internals/iterators":80,"../internals/iterators-core":79,"../internals/object-get-prototype-of":103,"../internals/object-set-prototype-of":108,"../internals/redefine":116,"../internals/set-to-string-tag":125,"../internals/well-known-symbol":156}],41:[function(e,t,n){var r=e("../internals/path"),i=e("../internals/has"),o=e("../internals/well-known-symbol-wrapped"),a=e("../internals/object-define-property").f;t.exports=function(e){var t=r.Symbol||(r.Symbol={});i(t,e)||a(t,e,{value:o.f(e)})}},{"../internals/has":60,"../internals/object-define-property":98,"../internals/path":112,"../internals/well-known-symbol-wrapped":155}],42:[function(e,t,n){var r=e("../internals/fails");t.exports=!r(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},{"../internals/fails":50}],43:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/is-object"),o=r.document,a=i(o)&&i(o.createElement);t.exports=function(e){return a?o.createElement(e):{}}},{"../internals/global":59,"../internals/is-object":75}],44:[function(e,t,n){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},{}],45:[function(e,t,n){var r=e("../internals/engine-user-agent");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},{"../internals/engine-user-agent":46}],46:[function(e,t,n){var r=e("../internals/get-built-in");t.exports=r("navigator","userAgent")||""},{"../internals/get-built-in":56}],47:[function(e,t,n){var r,i,o=e("../internals/global"),a=e("../internals/engine-user-agent"),s=o.process,l=s&&s.versions,c=l&&l.v8;c?i=(r=c.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||74<=r[1])&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),t.exports=i&&+i},{"../internals/engine-user-agent":46,"../internals/global":59}],48:[function(e,t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},{}],49:[function(e,t,n){var u=e("../internals/global"),f=e("../internals/object-get-own-property-descriptor").f,d=e("../internals/create-non-enumerable-property"),p=e("../internals/redefine"),h=e("../internals/set-global"),m=e("../internals/copy-constructor-properties"),g=e("../internals/is-forced");t.exports=function(e,t){var n,r,i,o,a,s=e.target,l=e.global,c=e.stat;if(n=l?u:c?u[s]||h(s,{}):(u[s]||{}).prototype)for(r in t){if(o=t[r],i=e.noTargetGet?(a=f(n,r))&&a.value:n[r],!g(l?r:s+(c?".":"#")+r,e.forced)&&void 0!==i){if(typeof o==typeof i)continue;m(o,i)}(e.sham||i&&i.sham)&&d(o,"sham",!0),p(n,r,o,e)}}},{"../internals/copy-constructor-properties":30,"../internals/create-non-enumerable-property":35,"../internals/global":59,"../internals/is-forced":73,"../internals/object-get-own-property-descriptor":99,"../internals/redefine":116,"../internals/set-global":123}],50:[function(e,t,n){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],51:[function(e,t,n){"use strict";e("../modules/es.regexp.exec");var f=e("../internals/redefine"),d=e("../internals/fails"),p=e("../internals/well-known-symbol"),h=e("../internals/regexp-exec"),m=e("../internals/create-non-enumerable-property"),g=p("species"),y=!d(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}),b="$0"==="a".replace(/./,"$0"),r=p("replace"),v=!!/./[r]&&""===/./[r]("a","$0"),x=!d(function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]});t.exports=function(n,e,t,r){var i=p(n),o=!d(function(){var e={};return e[i]=function(){return 7},7!=""[n](e)}),a=o&&!d(function(){var e=!1,t=/a/;return"split"===n&&((t={constructor:{}}).constructor[g]=function(){return t},t.flags="",t[i]=/./[i]),t.exec=function(){return e=!0,null},t[i](""),!e});if(!o||!a||"replace"===n&&(!y||!b||v)||"split"===n&&!x){var s=/./[i],l=t(i,""[n],function(e,t,n,r,i){return t.exec===h?o&&!i?{done:!0,value:s.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}},{REPLACE_KEEPS_$0:b,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:v}),c=l[0],u=l[1];f(String.prototype,n,c),f(RegExp.prototype,i,2==e?function(e,t){return u.call(e,this,t)}:function(e){return u.call(e,this)})}r&&m(RegExp.prototype[i],"sham",!0)}},{"../internals/create-non-enumerable-property":35,"../internals/fails":50,"../internals/redefine":116,"../internals/regexp-exec":118,"../internals/well-known-symbol":156,"../modules/es.regexp.exec":277}],52:[function(e,t,n){"use strict";var d=e("../internals/is-array"),p=e("../internals/to-length"),h=e("../internals/function-bind-context"),m=function(e,t,n,r,i,o,a,s){for(var l,c=i,u=0,f=!!a&&h(a,s,3);u<r;){if(u in n){if(l=f?f(n[u],u,t):n[u],0<o&&d(l))c=m(e,t,l,p(l.length),c,o-1)-1;else{if(9007199254740991<=c)throw TypeError("Exceed the acceptable array length");e[c]=l}c++}u++}return c};t.exports=m},{"../internals/function-bind-context":54,"../internals/is-array":72,"../internals/to-length":144}],53:[function(e,t,n){var r=e("../internals/fails");t.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},{"../internals/fails":50}],54:[function(e,t,n){var o=e("../internals/a-function");t.exports=function(r,i,e){if(o(r),void 0===i)return r;switch(e){case 0:return function(){return r.call(i)};case 1:return function(e){return r.call(i,e)};case 2:return function(e,t){return r.call(i,e,t)};case 3:return function(e,t,n){return r.call(i,e,t,n)}}return function(){return r.apply(i,arguments)}}},{"../internals/a-function":2}],55:[function(e,t,n){"use strict";var o=e("../internals/a-function"),a=e("../internals/is-object"),s=[].slice,l={};t.exports=Function.bind||function(t){var n=o(this),r=s.call(arguments,1),i=function(){var e=r.concat(s.call(arguments));return this instanceof i?function(e,t,n){if(!(t in l)){for(var r=[],i=0;i<t;i++)r[i]="a["+i+"]";l[t]=Function("C,a","return new C("+r.join(",")+")")}return l[t](e,n)}(n,e.length,e):n.apply(t,e)};return a(n.prototype)&&(i.prototype=n.prototype),i}},{"../internals/a-function":2,"../internals/is-object":75}],56:[function(e,t,n){function r(e){return"function"==typeof e?e:void 0}var i=e("../internals/path"),o=e("../internals/global");t.exports=function(e,t){return arguments.length<2?r(i[e])||r(o[e]):i[e]&&i[e][t]||o[e]&&o[e][t]}},{"../internals/global":59,"../internals/path":112}],57:[function(e,t,n){var r=e("../internals/classof"),i=e("../internals/iterators"),o=e("../internals/well-known-symbol")("iterator");t.exports=function(e){if(null!=e)return e[o]||e["@@iterator"]||i[r(e)]}},{"../internals/classof":26,"../internals/iterators":80,"../internals/well-known-symbol":156}],58:[function(e,t,n){var r=e("../internals/an-object"),i=e("../internals/get-iterator-method");t.exports=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return r(t.call(e))}},{"../internals/an-object":7,"../internals/get-iterator-method":57}],59:[function(e,n,t){(function(t){(function(){function e(e){return e&&e.Math==Math&&e}n.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof t&&t)||Function("return this")()}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],60:[function(e,t,n){var r={}.hasOwnProperty;t.exports=function(e,t){return r.call(e,t)}},{}],61:[function(e,t,n){t.exports={}},{}],62:[function(e,t,n){var r=e("../internals/global");t.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},{"../internals/global":59}],63:[function(e,t,n){var r=e("../internals/get-built-in");t.exports=r("document","documentElement")},{"../internals/get-built-in":56}],64:[function(e,t,n){var r=e("../internals/descriptors"),i=e("../internals/fails"),o=e("../internals/document-create-element");t.exports=!r&&!i(function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a})},{"../internals/descriptors":42,"../internals/document-create-element":43,"../internals/fails":50}],65:[function(e,t,n){var p=Math.abs,h=Math.pow,m=Math.floor,g=Math.log,y=Math.LN2;t.exports={pack:function(e,t,n){var r,i,o,a=new Array(n),s=8*n-t-1,l=(1<<s)-1,c=l>>1,u=23===t?h(2,-24)-h(2,-77):0,f=e<0||0===e&&1/e<0?1:0,d=0;for((e=p(e))!=e||e===1/0?(i=e!=e?1:0,r=l):(r=m(g(e)/y),e*(o=h(2,-r))<1&&(r--,o*=2),2<=(e+=1<=r+c?u/o:u*h(2,1-c))*o&&(r++,o/=2),l<=r+c?(i=0,r=l):1<=r+c?(i=(e*o-1)*h(2,t),r+=c):(i=e*h(2,c-1)*h(2,t),r=0));8<=t;a[d++]=255&i,i/=256,t-=8);for(r=r<<t|i,s+=t;0<s;a[d++]=255&r,r/=256,s-=8);return a[--d]|=128*f,a},unpack:function(e,t){var n,r=e.length,i=8*r-t-1,o=(1<<i)-1,a=o>>1,s=i-7,l=r-1,c=e[l--],u=127&c;for(c>>=7;0<s;u=256*u+e[l],l--,s-=8);for(n=u&(1<<-s)-1,u>>=-s,s+=t;0<s;n=256*n+e[l],l--,s-=8);if(0===u)u=1-a;else{if(u===o)return n?NaN:c?-1/0:1/0;n+=h(2,t),u-=a}return(c?-1:1)*n*h(2,u-t)}}},{}],66:[function(e,t,n){var r=e("../internals/fails"),i=e("../internals/classof-raw"),o="".split;t.exports=r(function(){return!Object("z").propertyIsEnumerable(0)})?function(e){return"String"==i(e)?o.call(e,""):Object(e)}:Object},{"../internals/classof-raw":25,"../internals/fails":50}],67:[function(e,t,n){var o=e("../internals/is-object"),a=e("../internals/object-set-prototype-of");t.exports=function(e,t,n){var r,i;return a&&"function"==typeof(r=t.constructor)&&r!==n&&o(i=r.prototype)&&i!==n.prototype&&a(e,i),e}},{"../internals/is-object":75,"../internals/object-set-prototype-of":108}],68:[function(e,t,n){var r=e("../internals/shared-store"),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return i.call(e)}),t.exports=r.inspectSource},{"../internals/shared-store":127}],69:[function(e,t,n){function r(e){s(e,u,{value:{objectID:"O"+ ++f,weakData:{}}})}var i=e("../internals/hidden-keys"),o=e("../internals/is-object"),a=e("../internals/has"),s=e("../internals/object-define-property").f,l=e("../internals/uid"),c=e("../internals/freezing"),u=l("meta"),f=0,d=Object.isExtensible||function(){return!0},p=t.exports={REQUIRED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!d(e))return"F";if(!t)return"E";r(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!d(e))return!0;if(!t)return!1;r(e)}return e[u].weakData},onFreeze:function(e){return c&&p.REQUIRED&&d(e)&&!a(e,u)&&r(e),e}};i[u]=!0},{"../internals/freezing":53,"../internals/has":60,"../internals/hidden-keys":61,"../internals/is-object":75,"../internals/object-define-property":98,"../internals/uid":153}],70:[function(e,t,n){var r,i,o,a=e("../internals/native-weak-map"),s=e("../internals/global"),l=e("../internals/is-object"),c=e("../internals/create-non-enumerable-property"),u=e("../internals/has"),f=e("../internals/shared-key"),d=e("../internals/hidden-keys"),p=s.WeakMap;if(a){var h=new p,m=h.get,g=h.has,y=h.set;r=function(e,t){return y.call(h,e,t),t},i=function(e){return m.call(h,e)||{}},o=function(e){return g.call(h,e)}}else{var b=f("state");d[b]=!0,r=function(e,t){return c(e,b,t),t},i=function(e){return u(e,b)?e[b]:{}},o=function(e){return u(e,b)}}t.exports={set:r,get:i,has:o,enforce:function(e){return o(e)?i(e):r(e,{})},getterFor:function(n){return function(e){var t;if(!l(e)||(t=i(e)).type!==n)throw TypeError("Incompatible receiver, "+n+" required");return t}}}},{"../internals/create-non-enumerable-property":35,"../internals/global":59,"../internals/has":60,"../internals/hidden-keys":61,"../internals/is-object":75,"../internals/native-weak-map":89,"../internals/shared-key":126}],71:[function(e,t,n){var r=e("../internals/well-known-symbol"),i=e("../internals/iterators"),o=r("iterator"),a=Array.prototype;t.exports=function(e){return void 0!==e&&(i.Array===e||a[o]===e)}},{"../internals/iterators":80,"../internals/well-known-symbol":156}],72:[function(e,t,n){var r=e("../internals/classof-raw");t.exports=Array.isArray||function(e){return"Array"==r(e)}},{"../internals/classof-raw":25}],73:[function(e,t,n){function r(e,t){var n=s[a(e)];return n==c||n!=l&&("function"==typeof t?i(t):!!t)}var i=e("../internals/fails"),o=/#|\.prototype\./,a=r.normalize=function(e){return String(e).replace(o,".").toLowerCase()},s=r.data={},l=r.NATIVE="N",c=r.POLYFILL="P";t.exports=r},{"../internals/fails":50}],74:[function(e,t,n){var r=e("../internals/is-object"),i=Math.floor;t.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},{"../internals/is-object":75}],75:[function(e,t,n){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],76:[function(e,t,n){t.exports=!1},{}],77:[function(e,t,n){var r=e("../internals/is-object"),i=e("../internals/classof-raw"),o=e("../internals/well-known-symbol")("match");t.exports=function(e){var t;return r(e)&&(void 0!==(t=e[o])?!!t:"RegExp"==i(e))}},{"../internals/classof-raw":25,"../internals/is-object":75,"../internals/well-known-symbol":156}],78:[function(e,t,n){function p(e,t){this.stopped=e,this.result=t}var h=e("../internals/an-object"),m=e("../internals/is-array-iterator-method"),g=e("../internals/to-length"),y=e("../internals/function-bind-context"),b=e("../internals/get-iterator-method"),v=e("../internals/call-with-safe-iteration-closing");(t.exports=function(e,t,n,r,i){var o,a,s,l,c,u,f,d=y(t,n,r?2:1);if(i)o=e;else{if("function"!=typeof(a=b(e)))throw TypeError("Target is not iterable");if(m(a)){for(s=0,l=g(e.length);s<l;s++)if((c=r?d(h(f=e[s])[0],f[1]):d(e[s]))&&c instanceof p)return c;return new p(!1)}o=a.call(e)}for(u=o.next;!(f=u.call(o)).done;)if("object"==typeof(c=v(o,d,f.value,r))&&c&&c instanceof p)return c;return new p(!1)}).stop=function(e){return new p(!0,e)}},{"../internals/an-object":7,"../internals/call-with-safe-iteration-closing":23,"../internals/function-bind-context":54,"../internals/get-iterator-method":57,"../internals/is-array-iterator-method":71,"../internals/to-length":144}],79:[function(e,t,n){"use strict";var r,i,o,a=e("../internals/object-get-prototype-of"),s=e("../internals/create-non-enumerable-property"),l=e("../internals/has"),c=e("../internals/well-known-symbol"),u=e("../internals/is-pure"),f=c("iterator"),d=!1;[].keys&&("next"in(o=[].keys())?(i=a(a(o)))!==Object.prototype&&(r=i):d=!0),null==r&&(r={}),u||l(r,f)||s(r,f,function(){return this}),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},{"../internals/create-non-enumerable-property":35,"../internals/has":60,"../internals/is-pure":76,"../internals/object-get-prototype-of":103,"../internals/well-known-symbol":156}],80:[function(e,t,n){arguments[4][61][0].apply(n,arguments)},{dup:61}],81:[function(e,t,n){var r=Math.expm1,i=Math.exp;t.exports=!r||22025.465794806718<r(10)||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(e){return 0==(e=+e)?e:-1e-6<e&&e<1e-6?e+e*e/2:i(e)-1}:r},{}],82:[function(e,t,n){var o=e("../internals/math-sign"),a=Math.abs,r=Math.pow,s=r(2,-52),l=r(2,-23),c=r(2,127)*(2-l),u=r(2,-126);t.exports=Math.fround||function(e){var t,n,r=a(e),i=o(e);return r<u?i*(r/u/l+1/s-1/s)*u*l:c<(n=(t=(1+l/s)*r)-(t-r))||n!=n?i*(1/0):i*n}},{"../internals/math-sign":84}],83:[function(e,t,n){var r=Math.log;t.exports=Math.log1p||function(e){return-1e-8<(e=+e)&&e<1e-8?e-e*e/2:r(1+e)}},{}],84:[function(e,t,n){t.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},{}],85:[function(e,t,n){var r,i,o,a,s,l,c,u,f=e("../internals/global"),d=e("../internals/object-get-own-property-descriptor").f,p=e("../internals/classof-raw"),h=e("../internals/task").set,m=e("../internals/engine-is-ios"),g=f.MutationObserver||f.WebKitMutationObserver,y=f.process,b=f.Promise,v="process"==p(y),x=d(f,"queueMicrotask"),w=x&&x.value;w||(r=function(){var e,t;for(v&&(e=y.domain)&&e.exit();i;){t=i.fn,i=i.next;try{t()}catch(e){throw i?a():o=void 0,e}}o=void 0,e&&e.enter()},a=v?function(){y.nextTick(r)}:g&&!m?(s=!0,l=document.createTextNode(""),new g(r).observe(l,{characterData:!0}),function(){l.data=s=!s}):b&&b.resolve?(c=b.resolve(void 0),u=c.then,function(){u.call(c,r)}):function(){h.call(f,r)}),t.exports=w||function(e){var t={fn:e,next:void 0};o&&(o.next=t),i||(i=t,a()),o=t}},{"../internals/classof-raw":25,"../internals/engine-is-ios":45,"../internals/global":59,"../internals/object-get-own-property-descriptor":99,"../internals/task":138}],86:[function(e,t,n){var r=e("../internals/global");t.exports=r.Promise},{"../internals/global":59}],87:[function(e,t,n){var r=e("../internals/fails");t.exports=!!Object.getOwnPropertySymbols&&!r(function(){return!String(Symbol())})},{"../internals/fails":50}],88:[function(e,t,n){var r=e("../internals/fails"),i=e("../internals/well-known-symbol"),o=e("../internals/is-pure"),a=i("iterator");t.exports=!r(function(){var e=new URL("b?a=1&b=2&c=3","http://a"),n=e.searchParams,r="";return e.pathname="c%20d",n.forEach(function(e,t){n.delete("b"),r+=t+e}),o&&!e.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host})},{"../internals/fails":50,"../internals/is-pure":76,"../internals/well-known-symbol":156}],89:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/inspect-source"),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i(o))},{"../internals/global":59,"../internals/inspect-source":68}],90:[function(e,t,n){"use strict";function r(e){var n,r;this.promise=new e(function(e,t){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=e,r=t}),this.resolve=i(n),this.reject=i(r)}var i=e("../internals/a-function");t.exports.f=function(e){return new r(e)}},{"../internals/a-function":2}],91:[function(e,t,n){var r=e("../internals/is-regexp");t.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},{"../internals/is-regexp":77}],92:[function(e,t,n){var r=e("../internals/global").isFinite;t.exports=Number.isFinite||function(e){return"number"==typeof e&&r(e)}},{"../internals/global":59}],93:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/string-trim").trim,o=e("../internals/whitespaces"),a=r.parseFloat,s=1/a(o+"-0")!=-1/0;t.exports=s?function(e){var t=i(String(e)),n=a(t);return 0===n&&"-"==t.charAt(0)?-0:n}:a},{"../internals/global":59,"../internals/string-trim":137,"../internals/whitespaces":157}],94:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/string-trim").trim,o=e("../internals/whitespaces"),a=r.parseInt,s=/^[+-]?0[Xx]/,l=8!==a(o+"08")||22!==a(o+"0x16");t.exports=l?function(e,t){var n=i(String(e));return a(n,t>>>0||(s.test(n)?16:10))}:a},{"../internals/global":59,"../internals/string-trim":137,"../internals/whitespaces":157}],95:[function(e,t,n){"use strict";var d=e("../internals/descriptors"),r=e("../internals/fails"),p=e("../internals/object-keys"),h=e("../internals/object-get-own-property-symbols"),m=e("../internals/object-property-is-enumerable"),g=e("../internals/to-object"),y=e("../internals/indexed-object"),i=Object.assign,o=Object.defineProperty;t.exports=!i||r(function(){if(d&&1!==i({b:1},i(o({},"a",{enumerable:!0,get:function(){o(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=i({},e)[n]||p(i({},t)).join("")!=r})?function(e,t){for(var n=g(e),r=arguments.length,i=1,o=h.f,a=m.f;i<r;)for(var s,l=y(arguments[i++]),c=o?p(l).concat(o(l)):p(l),u=c.length,f=0;f<u;)s=c[f++],d&&!a.call(l,s)||(n[s]=l[s]);return n}:i},{"../internals/descriptors":42,"../internals/fails":50,"../internals/indexed-object":66,"../internals/object-get-own-property-symbols":102,"../internals/object-keys":105,"../internals/object-property-is-enumerable":106,"../internals/to-object":145}],96:[function(e,t,n){function r(){}function i(e){return"<script>"+e+"</"+h+">"}var o,a=e("../internals/an-object"),s=e("../internals/object-define-properties"),l=e("../internals/enum-bug-keys"),c=e("../internals/hidden-keys"),u=e("../internals/html"),f=e("../internals/document-create-element"),d=e("../internals/shared-key"),p="prototype",h="script",m=d("IE_PROTO"),g=function(){try{o=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;g=o?function(e){e.write(i("")),e.close();var t=e.parentWindow.Object;return e=null,t}(o):((t=f("iframe")).style.display="none",u.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(i("document.F=Object")),e.close(),e.F);for(var n=l.length;n--;)delete g[p][l[n]];return g()};c[m]=!0,t.exports=Object.create||function(e,t){var n;return null!==e?(r[p]=a(e),n=new r,r[p]=null,n[m]=e):n=g(),void 0===t?n:s(n,t)}},{"../internals/an-object":7,"../internals/document-create-element":43,"../internals/enum-bug-keys":48,"../internals/hidden-keys":61,"../internals/html":63,"../internals/object-define-properties":97,"../internals/shared-key":126}],97:[function(e,t,n){var r=e("../internals/descriptors"),a=e("../internals/object-define-property"),s=e("../internals/an-object"),l=e("../internals/object-keys");t.exports=r?Object.defineProperties:function(e,t){s(e);for(var n,r=l(t),i=r.length,o=0;o<i;)a.f(e,n=r[o++],t[n]);return e}},{"../internals/an-object":7,"../internals/descriptors":42,"../internals/object-define-property":98,"../internals/object-keys":105}],98:[function(e,t,n){var r=e("../internals/descriptors"),i=e("../internals/ie8-dom-define"),o=e("../internals/an-object"),a=e("../internals/to-primitive"),s=Object.defineProperty;n.f=r?s:function(e,t,n){if(o(e),t=a(t,!0),o(n),i)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},{"../internals/an-object":7,"../internals/descriptors":42,"../internals/ie8-dom-define":64,"../internals/to-primitive":148}],99:[function(e,t,n){var r=e("../internals/descriptors"),i=e("../internals/object-property-is-enumerable"),o=e("../internals/create-property-descriptor"),a=e("../internals/to-indexed-object"),s=e("../internals/to-primitive"),l=e("../internals/has"),c=e("../internals/ie8-dom-define"),u=Object.getOwnPropertyDescriptor;n.f=r?u:function(e,t){if(e=a(e),t=s(t,!0),c)try{return u(e,t)}catch(e){}if(l(e,t))return o(!i.f.call(e,t),e[t])}},{"../internals/create-property-descriptor":36,"../internals/descriptors":42,"../internals/has":60,"../internals/ie8-dom-define":64,"../internals/object-property-is-enumerable":106,"../internals/to-indexed-object":142,"../internals/to-primitive":148}],100:[function(e,t,n){var r=e("../internals/to-indexed-object"),i=e("../internals/object-get-own-property-names").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(e){return a&&"[object Window]"==o.call(e)?function(e){try{return i(e)}catch(e){return a.slice()}}(e):i(r(e))}},{"../internals/object-get-own-property-names":101,"../internals/to-indexed-object":142}],101:[function(e,t,n){var r=e("../internals/object-keys-internal"),i=e("../internals/enum-bug-keys").concat("length","prototype");n.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},{"../internals/enum-bug-keys":48,"../internals/object-keys-internal":104}],102:[function(e,t,n){n.f=Object.getOwnPropertySymbols},{}],103:[function(e,t,n){var r=e("../internals/has"),i=e("../internals/to-object"),o=e("../internals/shared-key"),a=e("../internals/correct-prototype-getter"),s=o("IE_PROTO"),l=Object.prototype;t.exports=a?Object.getPrototypeOf:function(e){return e=i(e),r(e,s)?e[s]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},{"../internals/correct-prototype-getter":32,"../internals/has":60,"../internals/shared-key":126,"../internals/to-object":145}],104:[function(e,t,n){var a=e("../internals/has"),s=e("../internals/to-indexed-object"),l=e("../internals/array-includes").indexOf,c=e("../internals/hidden-keys");t.exports=function(e,t){var n,r=s(e),i=0,o=[];for(n in r)!a(c,n)&&a(r,n)&&o.push(n);for(;t.length>i;)a(r,n=t[i++])&&(~l(o,n)||o.push(n));return o}},{"../internals/array-includes":15,"../internals/has":60,"../internals/hidden-keys":61,"../internals/to-indexed-object":142}],105:[function(e,t,n){var r=e("../internals/object-keys-internal"),i=e("../internals/enum-bug-keys");t.exports=Object.keys||function(e){return r(e,i)}},{"../internals/enum-bug-keys":48,"../internals/object-keys-internal":104}],106:[function(e,t,n){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);n.f=o?function(e){var t=i(this,e);return!!t&&t.enumerable}:r},{}],107:[function(e,t,n){"use strict";var r=e("../internals/is-pure"),i=e("../internals/global"),o=e("../internals/fails");t.exports=r||!o(function(){var e=Math.random();__defineSetter__.call(null,e,function(){}),delete i[e]})},{"../internals/fails":50,"../internals/global":59,"../internals/is-pure":76}],108:[function(e,t,n){var i=e("../internals/an-object"),o=e("../internals/a-possible-prototype");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var n,r=!1,e={};try{(n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),r=e instanceof Array}catch(e){}return function(e,t){return i(e),o(t),r?n.call(e,t):e.__proto__=t,e}}():void 0)},{"../internals/a-possible-prototype":3,"../internals/an-object":7}],109:[function(e,t,n){function r(s){return function(e){for(var t,n=u(e),r=c(n),i=r.length,o=0,a=[];o<i;)t=r[o++],l&&!f.call(n,t)||a.push(s?[t,n[t]]:n[t]);return a}}var l=e("../internals/descriptors"),c=e("../internals/object-keys"),u=e("../internals/to-indexed-object"),f=e("../internals/object-property-is-enumerable").f;t.exports={entries:r(!0),values:r(!1)}},{"../internals/descriptors":42,"../internals/object-keys":105,"../internals/object-property-is-enumerable":106,"../internals/to-indexed-object":142}],110:[function(e,t,n){"use strict";var r=e("../internals/to-string-tag-support"),i=e("../internals/classof");t.exports=r?{}.toString:function(){return"[object "+i(this)+"]"}},{"../internals/classof":26,"../internals/to-string-tag-support":149}],111:[function(e,t,n){var r=e("../internals/get-built-in"),i=e("../internals/object-get-own-property-names"),o=e("../internals/object-get-own-property-symbols"),a=e("../internals/an-object");t.exports=r("Reflect","ownKeys")||function(e){var t=i.f(a(e)),n=o.f;return n?t.concat(n(e)):t}},{"../internals/an-object":7,"../internals/get-built-in":56,"../internals/object-get-own-property-names":101,"../internals/object-get-own-property-symbols":102}],112:[function(e,t,n){var r=e("../internals/global");t.exports=r},{"../internals/global":59}],113:[function(e,t,n){t.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},{}],114:[function(e,t,n){var r=e("../internals/an-object"),i=e("../internals/is-object"),o=e("../internals/new-promise-capability");t.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},{"../internals/an-object":7,"../internals/is-object":75,"../internals/new-promise-capability":90}],115:[function(e,t,n){var i=e("../internals/redefine");t.exports=function(e,t,n){for(var r in t)i(e,r,t[r],n);return e}},{"../internals/redefine":116}],116:[function(e,t,n){var s=e("../internals/global"),l=e("../internals/create-non-enumerable-property"),c=e("../internals/has"),u=e("../internals/set-global"),r=e("../internals/inspect-source"),i=e("../internals/internal-state"),o=i.get,f=i.enforce,d=String(String).split("String");(t.exports=function(e,t,n,r){var i=!!r&&!!r.unsafe,o=!!r&&!!r.enumerable,a=!!r&&!!r.noTargetGet;"function"==typeof n&&("string"!=typeof t||c(n,"name")||l(n,"name",t),f(n).source=d.join("string"==typeof t?t:"")),e!==s?(i?!a&&e[t]&&(o=!0):delete e[t],o?e[t]=n:l(e,t,n)):o?e[t]=n:u(t,n)})(Function.prototype,"toString",function(){return"function"==typeof this&&o(this).source||r(this)})},{"../internals/create-non-enumerable-property":35,"../internals/global":59,"../internals/has":60,"../internals/inspect-source":68,"../internals/internal-state":70,"../internals/set-global":123}],117:[function(e,t,n){var i=e("./classof-raw"),o=e("./regexp-exec");t.exports=function(e,t){var n=e.exec;if("function"==typeof n){var r=n.call(e,t);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==i(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},{"./classof-raw":25,"./regexp-exec":118}],118:[function(e,t,n){"use strict";var r,i,f=e("./regexp-flags"),o=e("./regexp-sticky-helpers"),d=RegExp.prototype.exec,p=String.prototype.replace,a=d,h=(r=/a/,i=/b*/g,d.call(r,"a"),d.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),m=o.UNSUPPORTED_Y||o.BROKEN_CARET,g=void 0!==/()??/.exec("")[1];(h||g||m)&&(a=function(e){var t,n,r,i,o=this,a=m&&o.sticky,s=f.call(o),l=o.source,c=0,u=e;return a&&(-1===(s=s.replace("y","")).indexOf("g")&&(s+="g"),u=String(e).slice(o.lastIndex),0<o.lastIndex&&(!o.multiline||o.multiline&&"\n"!==e[o.lastIndex-1])&&(l="(?: "+l+")",u=" "+u,c++),n=new RegExp("^(?:"+l+")",s)),g&&(n=new RegExp("^"+l+"$(?!\\s)",s)),h&&(t=o.lastIndex),r=d.call(a?n:o,u),a?r?(r.input=r.input.slice(c),r[0]=r[0].slice(c),r.index=o.lastIndex,o.lastIndex+=r[0].length):o.lastIndex=0:h&&r&&(o.lastIndex=o.global?r.index+r[0].length:t),g&&r&&1<r.length&&p.call(r[0],n,function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(r[i]=void 0)}),r}),t.exports=a},{"./regexp-flags":119,"./regexp-sticky-helpers":120}],119:[function(e,t,n){"use strict";var r=e("../internals/an-object");t.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},{"../internals/an-object":7}],120:[function(e,t,n){"use strict";var r=e("./fails");function i(e,t){return RegExp(e,t)}n.UNSUPPORTED_Y=r(function(){var e=i("a","y");return e.lastIndex=2,null!=e.exec("abcd")}),n.BROKEN_CARET=r(function(){var e=i("^r","gy");return e.lastIndex=2,null!=e.exec("str")})},{"./fails":50}],121:[function(e,t,n){t.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},{}],122:[function(e,t,n){t.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},{}],123:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/create-non-enumerable-property");t.exports=function(t,n){try{i(r,t,n)}catch(e){r[t]=n}return n}},{"../internals/create-non-enumerable-property":35,"../internals/global":59}],124:[function(e,t,n){"use strict";var r=e("../internals/get-built-in"),i=e("../internals/object-define-property"),o=e("../internals/well-known-symbol"),a=e("../internals/descriptors"),s=o("species");t.exports=function(e){var t=r(e),n=i.f;a&&t&&!t[s]&&n(t,s,{configurable:!0,get:function(){return this}})}},{"../internals/descriptors":42,"../internals/get-built-in":56,"../internals/object-define-property":98,"../internals/well-known-symbol":156}],125:[function(e,t,n){var r=e("../internals/object-define-property").f,i=e("../internals/has"),o=e("../internals/well-known-symbol")("toStringTag");t.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},{"../internals/has":60,"../internals/object-define-property":98,"../internals/well-known-symbol":156}],126:[function(e,t,n){var r=e("../internals/shared"),i=e("../internals/uid"),o=r("keys");t.exports=function(e){return o[e]||(o[e]=i(e))}},{"../internals/shared":128,"../internals/uid":153}],127:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/set-global"),o="__core-js_shared__",a=r[o]||i(o,{});t.exports=a},{"../internals/global":59,"../internals/set-global":123}],128:[function(e,t,n){var r=e("../internals/is-pure"),i=e("../internals/shared-store");(t.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},{"../internals/is-pure":76,"../internals/shared-store":127}],129:[function(e,t,n){var i=e("../internals/an-object"),o=e("../internals/a-function"),a=e("../internals/well-known-symbol")("species");t.exports=function(e,t){var n,r=i(e).constructor;return void 0===r||null==(n=i(r)[a])?t:o(n)}},{"../internals/a-function":2,"../internals/an-object":7,"../internals/well-known-symbol":156}],130:[function(e,t,n){var r=e("../internals/fails");t.exports=function(t){return r(function(){var e=""[t]('"');return e!==e.toLowerCase()||3<e.split('"').length})}},{"../internals/fails":50}],131:[function(e,t,n){function r(s){return function(e,t){var n,r,i=String(c(e)),o=l(t),a=i.length;return o<0||a<=o?s?"":void 0:(n=i.charCodeAt(o))<55296||56319<n||o+1===a||(r=i.charCodeAt(o+1))<56320||57343<r?s?i.charAt(o):n:s?i.slice(o,o+2):r-56320+(n-55296<<10)+65536}}var l=e("../internals/to-integer"),c=e("../internals/require-object-coercible");t.exports={codeAt:r(!1),charAt:r(!0)}},{"../internals/require-object-coercible":121,"../internals/to-integer":143}],132:[function(e,t,n){var r=e("../internals/engine-user-agent");t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},{"../internals/engine-user-agent":46}],133:[function(e,t,n){function r(c){return function(e,t,n){var r,i,o=String(d(e)),a=o.length,s=void 0===n?" ":String(n),l=u(t);return l<=a||""==s?o:(r=l-a,(i=f.call(s,p(r/s.length))).length>r&&(i=i.slice(0,r)),c?o+i:i+o)}}var u=e("../internals/to-length"),f=e("../internals/string-repeat"),d=e("../internals/require-object-coercible"),p=Math.ceil;t.exports={start:r(!1),end:r(!0)}},{"../internals/require-object-coercible":121,"../internals/string-repeat":135,"../internals/to-length":144}],134:[function(e,t,n){"use strict";function y(e){return e+22+75*(e<26)}function b(e,t,n){var r=0;for(e=n?w(e/700):e>>1,e+=w(e/t);455<e;r+=36)e=w(e/35);return w(r+36*e/(e+38))}function o(e){var t,n,r=[],i=(e=function(e){for(var t=[],n=0,r=e.length;n<r;){var i=e.charCodeAt(n++);if(55296<=i&&i<=56319&&n<r){var o=e.charCodeAt(n++);56320==(64512&o)?t.push(((1023&i)<<10)+(1023&o)+65536):(t.push(i),n--)}else t.push(i)}return t}(e)).length,o=128,a=0,s=72;for(t=0;t<e.length;t++)(n=e[t])<128&&r.push(j(n));var l=r.length,c=l;for(l&&r.push("-");c<i;){var u=v;for(t=0;t<e.length;t++)o<=(n=e[t])&&n<u&&(u=n);var f=c+1;if(u-o>w((v-a)/f))throw RangeError(x);for(a+=(u-o)*f,o=u,t=0;t<e.length;t++){if((n=e[t])<o&&++a>v)throw RangeError(x);if(n==o){for(var d=a,p=36;;p+=36){var h=p<=s?1:s+26<=p?26:p-s;if(d<h)break;var m=d-h,g=36-h;r.push(j(y(h+m%g))),d=w(m/g)}r.push(j(y(d))),s=b(a,f,c==l),a=0,++c}}++a,++o}return r.join("")}var v=2147483647,a=/[^\0-\u007E]/,s=/[.\u3002\uFF0E\uFF61]/g,x="Overflow: input needs wider integers to process",w=Math.floor,j=String.fromCharCode;t.exports=function(e){var t,n,r=[],i=e.toLowerCase().replace(s,".").split(".");for(t=0;t<i.length;t++)n=i[t],r.push(a.test(n)?"xn--"+o(n):n);return r.join(".")}},{}],135:[function(e,t,n){"use strict";var i=e("../internals/to-integer"),o=e("../internals/require-object-coercible");t.exports="".repeat||function(e){var t=String(o(this)),n="",r=i(e);if(r<0||r==1/0)throw RangeError("Wrong number of repetitions");for(;0<r;(r>>>=1)&&(t+=t))1&r&&(n+=t);return n}},{"../internals/require-object-coercible":121,"../internals/to-integer":143}],136:[function(e,t,n){var r=e("../internals/fails"),i=e("../internals/whitespaces");t.exports=function(e){return r(function(){return!!i[e]()||" "!=" "[e]()||i[e].name!==e})}},{"../internals/fails":50,"../internals/whitespaces":157}],137:[function(e,t,n){function r(n){return function(e){var t=String(i(e));return 1&n&&(t=t.replace(a,"")),2&n&&(t=t.replace(s,"")),t}}var i=e("../internals/require-object-coercible"),o="["+e("../internals/whitespaces")+"]",a=RegExp("^"+o+o+"*"),s=RegExp(o+o+"*$");t.exports={start:r(1),end:r(2),trim:r(3)}},{"../internals/require-object-coercible":121,"../internals/whitespaces":157}],138:[function(e,t,n){function r(e){if(E.hasOwnProperty(e)){var t=E[e];delete E[e],t()}}function i(e){return function(){r(e)}}function o(e){r(e.data)}function a(e){u.postMessage(e+"",y.protocol+"//"+y.host)}var s,l,c,u=e("../internals/global"),f=e("../internals/fails"),d=e("../internals/classof-raw"),p=e("../internals/function-bind-context"),h=e("../internals/html"),m=e("../internals/document-create-element"),g=e("../internals/engine-is-ios"),y=u.location,b=u.setImmediate,v=u.clearImmediate,x=u.process,w=u.MessageChannel,j=u.Dispatch,C=0,E={},S="onreadystatechange";b&&v||(b=function(e){for(var t=[],n=1;n<arguments.length;)t.push(arguments[n++]);return E[++C]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},s(C),C},v=function(e){delete E[e]},"process"==d(x)?s=function(e){x.nextTick(i(e))}:j&&j.now?s=function(e){j.now(i(e))}:w&&!g?(c=(l=new w).port2,l.port1.onmessage=o,s=p(c.postMessage,c,1)):!u.addEventListener||"function"!=typeof postMessage||u.importScripts||f(a)||"file:"===y.protocol?s=S in m("script")?function(e){h.appendChild(m("script"))[S]=function(){h.removeChild(this),r(e)}}:function(e){setTimeout(i(e),0)}:(s=a,u.addEventListener("message",o,!1))),t.exports={set:b,clear:v}},{"../internals/classof-raw":25,"../internals/document-create-element":43,"../internals/engine-is-ios":45,"../internals/fails":50,"../internals/function-bind-context":54,"../internals/global":59,"../internals/html":63}],139:[function(e,t,n){var r=e("../internals/classof-raw");t.exports=function(e){if("number"!=typeof e&&"Number"!=r(e))throw TypeError("Incorrect invocation");return+e}},{"../internals/classof-raw":25}],140:[function(e,t,n){var r=e("../internals/to-integer"),i=Math.max,o=Math.min;t.exports=function(e,t){var n=r(e);return n<0?i(n+t,0):o(n,t)}},{"../internals/to-integer":143}],141:[function(e,t,n){var r=e("../internals/to-integer"),i=e("../internals/to-length");t.exports=function(e){if(void 0===e)return 0;var t=r(e),n=i(t);if(t!==n)throw RangeError("Wrong length or index");return n}},{"../internals/to-integer":143,"../internals/to-length":144}],142:[function(e,t,n){var r=e("../internals/indexed-object"),i=e("../internals/require-object-coercible");t.exports=function(e){return r(i(e))}},{"../internals/indexed-object":66,"../internals/require-object-coercible":121}],143:[function(e,t,n){var r=Math.ceil,i=Math.floor;t.exports=function(e){return isNaN(e=+e)?0:(0<e?i:r)(e)}},{}],144:[function(e,t,n){var r=e("../internals/to-integer"),i=Math.min;t.exports=function(e){return 0<e?i(r(e),9007199254740991):0}},{"../internals/to-integer":143}],145:[function(e,t,n){var r=e("../internals/require-object-coercible");t.exports=function(e){return Object(r(e))}},{"../internals/require-object-coercible":121}],146:[function(e,t,n){var r=e("../internals/to-positive-integer");t.exports=function(e,t){var n=r(e);if(n%t)throw RangeError("Wrong offset");return n}},{"../internals/to-positive-integer":147}],147:[function(e,t,n){var r=e("../internals/to-integer");t.exports=function(e){var t=r(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},{"../internals/to-integer":143}],148:[function(e,t,n){var i=e("../internals/is-object");t.exports=function(e,t){if(!i(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!i(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!i(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!i(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},{"../internals/is-object":75}],149:[function(e,t,n){var r={};r[e("../internals/well-known-symbol")("toStringTag")]="z",t.exports="[object z]"===String(r)},{"../internals/well-known-symbol":156}],150:[function(e,t,n){"use strict";function h(e,t){for(var n=0,r=t.length,i=new(G(e))(r);n<r;)i[n]=t[n++];return i}function r(e,t){_(e,t,{get:function(){return M(this)[t]}})}function m(e){var t;return e instanceof q||"ArrayBuffer"==(t=C(e))||"SharedArrayBuffer"==t}function i(e,t){return V(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)}function o(e,t){return i(e,t=p(t,!0))?d(2,e[t]):F(e,t)}function a(e,t,n){return!(i(e,t=p(t,!0))&&E(n)&&j(n,"value"))||j(n,"get")||j(n,"set")||n.configurable||j(n,"writable")&&!n.writable||j(n,"enumerable")&&!n.enumerable?_(e,t,n):(e[t]=n.value,e)}var l=e("../internals/export"),c=e("../internals/global"),s=e("../internals/descriptors"),g=e("../internals/typed-array-constructors-require-wrappers"),u=e("../internals/array-buffer-view-core"),f=e("../internals/array-buffer"),y=e("../internals/an-instance"),d=e("../internals/create-property-descriptor"),b=e("../internals/create-non-enumerable-property"),v=e("../internals/to-length"),x=e("../internals/to-index"),w=e("../internals/to-offset"),p=e("../internals/to-primitive"),j=e("../internals/has"),C=e("../internals/classof"),E=e("../internals/is-object"),S=e("../internals/object-create"),O=e("../internals/object-set-prototype-of"),k=e("../internals/object-get-own-property-names").f,A=e("../internals/typed-array-from"),I=e("../internals/array-iteration").forEach,N=e("../internals/set-species"),T=e("../internals/object-define-property"),L=e("../internals/object-get-own-property-descriptor"),R=e("../internals/internal-state"),P=e("../internals/inherit-if-required"),M=R.get,D=R.set,_=T.f,F=L.f,Y=Math.round,U=c.RangeError,q=f.ArrayBuffer,X=f.DataView,z=u.NATIVE_ARRAY_BUFFER_VIEWS,W=u.TYPED_ARRAY_TAG,B=u.TypedArray,H=u.TypedArrayPrototype,G=u.aTypedArrayConstructor,V=u.isTypedArray,$="BYTES_PER_ELEMENT",Z="Wrong length";s?(z||(L.f=o,T.f=a,r(H,"buffer"),r(H,"byteOffset"),r(H,"byteLength"),r(H,"length")),l({target:"Object",stat:!0,forced:!z},{getOwnPropertyDescriptor:o,defineProperty:a}),t.exports=function(e,t,o){function u(e,i){_(e,i,{get:function(){return e=i,(t=M(this)).view[n](e*f+t.byteOffset,!0);var e,t},set:function(e){return t=i,n=e,r=M(this),o&&(n=(n=Y(n))<0?0:255<n?255:255&n),void r.view[a](t*f+r.byteOffset,n,!0);var t,n,r},enumerable:!0})}var f=e.match(/\d+$/)[0]/8,d=e+(o?"Clamped":"")+"Array",n="get"+e,a="set"+e,i=c[d],p=i,r=p&&p.prototype,s={};z?g&&(p=t(function(e,t,n,r){return y(e,p,d),P(E(t)?m(t)?void 0!==r?new i(t,w(n,f),r):void 0!==n?new i(t,w(n,f)):new i(t):V(t)?h(p,t):A.call(p,t):new i(x(t)),e,p)}),O&&O(p,B),I(k(i),function(e){e in p||b(p,e,i[e])}),p.prototype=r):(p=t(function(e,t,n,r){y(e,p,d);var i,o,a,s=0,l=0;if(E(t)){if(!m(t))return V(t)?h(p,t):A.call(p,t);i=t,l=w(n,f);var c=t.byteLength;if(void 0===r){if(c%f)throw U(Z);if((o=c-l)<0)throw U(Z)}else if(c<(o=v(r)*f)+l)throw U(Z);a=o/f}else a=x(t),i=new q(o=a*f);for(D(e,{buffer:i,byteOffset:l,byteLength:o,length:a,view:new X(i)});s<a;)u(e,s++)}),O&&O(p,B),r=p.prototype=S(H)),r.constructor!==p&&b(r,"constructor",p),W&&b(r,W,d),s[d]=p,l({global:!0,forced:p!=i,sham:!z},s),$ in p||b(p,$,f),$ in r||b(r,$,f),N(d)}):t.exports=function(){}},{"../internals/an-instance":6,"../internals/array-buffer":10,"../internals/array-buffer-view-core":9,"../internals/array-iteration":16,"../internals/classof":26,"../internals/create-non-enumerable-property":35,"../internals/create-property-descriptor":36,"../internals/descriptors":42,"../internals/export":49,"../internals/global":59,"../internals/has":60,"../internals/inherit-if-required":67,"../internals/internal-state":70,"../internals/is-object":75,"../internals/object-create":96,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-own-property-names":101,"../internals/object-set-prototype-of":108,"../internals/set-species":124,"../internals/to-index":141,"../internals/to-length":144,"../internals/to-offset":146,"../internals/to-primitive":148,"../internals/typed-array-constructors-require-wrappers":151,"../internals/typed-array-from":152}],151:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/fails"),o=e("../internals/check-correctness-of-iteration"),a=e("../internals/array-buffer-view-core").NATIVE_ARRAY_BUFFER_VIEWS,s=r.ArrayBuffer,l=r.Int8Array;t.exports=!a||!i(function(){l(1)})||!i(function(){new l(-1)})||!o(function(e){new l,new l(null),new l(1.5),new l(e)},!0)||i(function(){return 1!==new l(new s(2),1,void 0).length})},{"../internals/array-buffer-view-core":9,"../internals/check-correctness-of-iteration":24,"../internals/fails":50,"../internals/global":59}],152:[function(e,t,n){var h=e("../internals/to-object"),m=e("../internals/to-length"),g=e("../internals/get-iterator-method"),y=e("../internals/is-array-iterator-method"),b=e("../internals/function-bind-context"),v=e("../internals/array-buffer-view-core").aTypedArrayConstructor;t.exports=function(e,t,n){var r,i,o,a,s,l,c=h(e),u=arguments.length,f=1<u?t:void 0,d=void 0!==f,p=g(c);if(null!=p&&!y(p))for(l=(s=p.call(c)).next,c=[];!(a=l.call(s)).done;)c.push(a.value);for(d&&2<u&&(f=b(f,n,2)),i=m(c.length),o=new(v(this))(i),r=0;r<i;r++)o[r]=d?f(c[r],r):c[r];return o}},{"../internals/array-buffer-view-core":9,"../internals/function-bind-context":54,"../internals/get-iterator-method":57,"../internals/is-array-iterator-method":71,"../internals/to-length":144,"../internals/to-object":145}],153:[function(e,t,n){var r=0,i=Math.random();t.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++r+i).toString(36)}},{}],154:[function(e,t,n){var r=e("../internals/native-symbol");t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},{"../internals/native-symbol":87}],155:[function(e,t,n){var r=e("../internals/well-known-symbol");n.f=r},{"../internals/well-known-symbol":156}],156:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/shared"),o=e("../internals/has"),a=e("../internals/uid"),s=e("../internals/native-symbol"),l=e("../internals/use-symbol-as-uid"),c=i("wks"),u=r.Symbol,f=l?u:u&&u.withoutSetter||a;t.exports=function(e){return o(c,e)||(s&&o(u,e)?c[e]=u[e]:c[e]=f("Symbol."+e)),c[e]}},{"../internals/global":59,"../internals/has":60,"../internals/native-symbol":87,"../internals/shared":128,"../internals/uid":153,"../internals/use-symbol-as-uid":154}],157:[function(e,t,n){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"},{}],158:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/global"),o=e("../internals/array-buffer"),a=e("../internals/set-species"),s="ArrayBuffer",l=o[s];r({global:!0,forced:i[s]!==l},{ArrayBuffer:l}),a(s)},{"../internals/array-buffer":10,"../internals/export":49,"../internals/global":59,"../internals/set-species":124}],159:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/array-buffer-view-core");r({target:"ArrayBuffer",stat:!0,forced:!i.NATIVE_ARRAY_BUFFER_VIEWS},{isView:i.isView})},{"../internals/array-buffer-view-core":9,"../internals/export":49}],160:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/array-buffer"),c=e("../internals/an-object"),u=e("../internals/to-absolute-index"),f=e("../internals/to-length"),d=e("../internals/species-constructor"),p=o.ArrayBuffer,h=o.DataView,m=p.prototype.slice;r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:i(function(){return!new p(2).slice(1,void 0).byteLength})},{slice:function(e,t){if(void 0!==m&&void 0===t)return m.call(c(this),e);for(var n=c(this).byteLength,r=u(e,n),i=u(void 0===t?n:t,n),o=new(d(this,p))(f(i-r)),a=new h(this),s=new h(o),l=0;r<i;)s.setUint8(l++,a.getUint8(r++));return o}})},{"../internals/an-object":7,"../internals/array-buffer":10,"../internals/export":49,"../internals/fails":50,"../internals/species-constructor":129,"../internals/to-absolute-index":140,"../internals/to-length":144}],161:[function(e,t,n){"use strict";function c(e){if(!a(e))return!1;var t=e[m];return void 0!==t?!!t:o(e)}var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/is-array"),a=e("../internals/is-object"),u=e("../internals/to-object"),f=e("../internals/to-length"),d=e("../internals/create-property"),p=e("../internals/array-species-create"),s=e("../internals/array-method-has-species-support"),l=e("../internals/well-known-symbol"),h=e("../internals/engine-v8-version"),m=l("isConcatSpreadable"),g=9007199254740991,y="Maximum allowed index exceeded",b=51<=h||!i(function(){var e=[];return e[m]=!1,e.concat()[0]!==e}),v=s("concat");r({target:"Array",proto:!0,forced:!b||!v},{concat:function(e){var t,n,r,i,o,a=u(this),s=p(a,0),l=0;for(t=-1,r=arguments.length;t<r;t++)if(c(o=-1===t?a:arguments[t])){if(i=f(o.length),g<l+i)throw TypeError(y);for(n=0;n<i;n++,l++)n in o&&d(s,l,o[n])}else{if(g<=l)throw TypeError(y);d(s,l++,o)}return s.length=l,s}})},{"../internals/array-method-has-species-support":18,"../internals/array-species-create":22,"../internals/create-property":37,"../internals/engine-v8-version":47,"../internals/export":49,"../internals/fails":50,"../internals/is-array":72,"../internals/is-object":75,"../internals/to-length":144,"../internals/to-object":145,"../internals/well-known-symbol":156}],162:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/array-copy-within"),o=e("../internals/add-to-unscopables");r({target:"Array",proto:!0},{copyWithin:i}),o("copyWithin")},{"../internals/add-to-unscopables":4,"../internals/array-copy-within":11,"../internals/export":49}],163:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-iteration").every,o=e("../internals/array-method-is-strict"),a=e("../internals/array-method-uses-to-length"),s=o("every"),l=a("every");r({target:"Array",proto:!0,forced:!s||!l},{every:function(e,t){return i(this,e,1<arguments.length?t:void 0)}})},{"../internals/array-iteration":16,"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/export":49}],164:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/array-fill"),o=e("../internals/add-to-unscopables");r({target:"Array",proto:!0},{fill:i}),o("fill")},{"../internals/add-to-unscopables":4,"../internals/array-fill":12,"../internals/export":49}],165:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-iteration").filter,o=e("../internals/array-method-has-species-support"),a=e("../internals/array-method-uses-to-length"),s=o("filter"),l=a("filter");r({target:"Array",proto:!0,forced:!s||!l},{filter:function(e,t){return i(this,e,1<arguments.length?t:void 0)}})},{"../internals/array-iteration":16,"../internals/array-method-has-species-support":18,"../internals/array-method-uses-to-length":20,"../internals/export":49}],166:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-iteration").findIndex,o=e("../internals/add-to-unscopables"),a=e("../internals/array-method-uses-to-length"),s="findIndex",l=!0,c=a(s);s in[]&&Array(1)[s](function(){l=!1}),r({target:"Array",proto:!0,forced:l||!c},{findIndex:function(e,t){return i(this,e,1<arguments.length?t:void 0)}}),o(s)},{"../internals/add-to-unscopables":4,"../internals/array-iteration":16,"../internals/array-method-uses-to-length":20,"../internals/export":49}],167:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-iteration").find,o=e("../internals/add-to-unscopables"),a=e("../internals/array-method-uses-to-length"),s="find",l=!0,c=a(s);s in[]&&Array(1)[s](function(){l=!1}),r({target:"Array",proto:!0,forced:l||!c},{find:function(e,t){return i(this,e,1<arguments.length?t:void 0)}}),o(s)},{"../internals/add-to-unscopables":4,"../internals/array-iteration":16,"../internals/array-method-uses-to-length":20,"../internals/export":49}],168:[function(e,t,n){"use strict";var r=e("../internals/export"),o=e("../internals/flatten-into-array"),a=e("../internals/to-object"),s=e("../internals/to-length"),l=e("../internals/a-function"),c=e("../internals/array-species-create");r({target:"Array",proto:!0},{flatMap:function(e,t){var n,r=a(this),i=s(r.length);return l(e),(n=c(r,0)).length=o(n,r,r,i,0,1,e,1<arguments.length?t:void 0),n}})},{"../internals/a-function":2,"../internals/array-species-create":22,"../internals/export":49,"../internals/flatten-into-array":52,"../internals/to-length":144,"../internals/to-object":145}],169:[function(e,t,n){"use strict";var r=e("../internals/export"),o=e("../internals/flatten-into-array"),a=e("../internals/to-object"),s=e("../internals/to-length"),l=e("../internals/to-integer"),c=e("../internals/array-species-create");r({target:"Array",proto:!0},{flat:function(e){var t=arguments.length?e:void 0,n=a(this),r=s(n.length),i=c(n,0);return i.length=o(i,n,n,r,0,void 0===t?1:l(t)),i}})},{"../internals/array-species-create":22,"../internals/export":49,"../internals/flatten-into-array":52,"../internals/to-integer":143,"../internals/to-length":144,"../internals/to-object":145}],170:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-for-each");r({target:"Array",proto:!0,forced:[].forEach!=i},{forEach:i})},{"../internals/array-for-each":13,"../internals/export":49}],171:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/array-from");r({target:"Array",stat:!0,forced:!e("../internals/check-correctness-of-iteration")(function(e){Array.from(e)})},{from:i})},{"../internals/array-from":14,"../internals/check-correctness-of-iteration":24,"../internals/export":49}],172:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-includes").includes,o=e("../internals/add-to-unscopables");r({target:"Array",proto:!0,forced:!e("../internals/array-method-uses-to-length")("indexOf",{ACCESSORS:!0,1:0})},{includes:function(e,t){return i(this,e,1<arguments.length?t:void 0)}}),o("includes")},{"../internals/add-to-unscopables":4,"../internals/array-includes":15,"../internals/array-method-uses-to-length":20,"../internals/export":49}],173:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-includes").indexOf,o=e("../internals/array-method-is-strict"),a=e("../internals/array-method-uses-to-length"),s=[].indexOf,l=!!s&&1/[1].indexOf(1,-0)<0,c=o("indexOf"),u=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:l||!c||!u},{indexOf:function(e,t){return l?s.apply(this,arguments)||0:i(this,e,1<arguments.length?t:void 0)}})},{"../internals/array-includes":15,"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/export":49}],174:[function(e,t,n){e("../internals/export")({target:"Array",stat:!0},{isArray:e("../internals/is-array")})},{"../internals/export":49,"../internals/is-array":72}],175:[function(e,t,n){"use strict";var r=e("../internals/to-indexed-object"),i=e("../internals/add-to-unscopables"),o=e("../internals/iterators"),a=e("../internals/internal-state"),s=e("../internals/define-iterator"),l="Array Iterator",c=a.set,u=a.getterFor(l);t.exports=s(Array,"Array",function(e,t){c(this,{type:l,target:r(e),index:0,kind:t})},function(){var e=u(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?{value:e.target=void 0,done:!0}:"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},{"../internals/add-to-unscopables":4,"../internals/define-iterator":40,"../internals/internal-state":70,"../internals/iterators":80,"../internals/to-indexed-object":142}],176:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/indexed-object"),o=e("../internals/to-indexed-object"),a=e("../internals/array-method-is-strict"),s=[].join,l=i!=Object,c=a("join",",");r({target:"Array",proto:!0,forced:l||!c},{join:function(e){return s.call(o(this),void 0===e?",":e)}})},{"../internals/array-method-is-strict":19,"../internals/export":49,"../internals/indexed-object":66,"../internals/to-indexed-object":142}],177:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/array-last-index-of");r({target:"Array",proto:!0,forced:i!==[].lastIndexOf},{lastIndexOf:i})},{"../internals/array-last-index-of":17,"../internals/export":49}],178:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-iteration").map,o=e("../internals/array-method-has-species-support"),a=e("../internals/array-method-uses-to-length"),s=o("map"),l=a("map");r({target:"Array",proto:!0,forced:!s||!l},{map:function(e,t){return i(this,e,1<arguments.length?t:void 0)}})},{"../internals/array-iteration":16,"../internals/array-method-has-species-support":18,"../internals/array-method-uses-to-length":20,"../internals/export":49}],179:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/create-property");r({target:"Array",stat:!0,forced:i(function(){function e(){}return!(Array.of.call(e)instanceof e)})},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);e<t;)o(n,e,arguments[e++]);return n.length=t,n}})},{"../internals/create-property":37,"../internals/export":49,"../internals/fails":50}],180:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-reduce").right,o=e("../internals/array-method-is-strict"),a=e("../internals/array-method-uses-to-length"),s=o("reduceRight"),l=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!s||!l},{reduceRight:function(e,t){return i(this,e,arguments.length,1<arguments.length?t:void 0)}})},{"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/array-reduce":21,"../internals/export":49}],181:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-reduce").left,o=e("../internals/array-method-is-strict"),a=e("../internals/array-method-uses-to-length"),s=o("reduce"),l=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!s||!l},{reduce:function(e,t){return i(this,e,arguments.length,1<arguments.length?t:void 0)}})},{"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/array-reduce":21,"../internals/export":49}],182:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/is-array"),o=[].reverse,a=[1,2];r({target:"Array",proto:!0,forced:String(a)===String(a.reverse())},{reverse:function(){return i(this)&&(this.length=this.length),o.call(this)}})},{"../internals/export":49,"../internals/is-array":72}],183:[function(e,t,n){"use strict";var r=e("../internals/export"),c=e("../internals/is-object"),u=e("../internals/is-array"),f=e("../internals/to-absolute-index"),d=e("../internals/to-length"),p=e("../internals/to-indexed-object"),h=e("../internals/create-property"),i=e("../internals/well-known-symbol"),o=e("../internals/array-method-has-species-support"),a=e("../internals/array-method-uses-to-length"),s=o("slice"),l=a("slice",{ACCESSORS:!0,0:0,1:2}),m=i("species"),g=[].slice,y=Math.max;r({target:"Array",proto:!0,forced:!s||!l},{slice:function(e,t){var n,r,i,o=p(this),a=d(o.length),s=f(e,a),l=f(void 0===t?a:t,a);if(u(o)&&("function"!=typeof(n=o.constructor)||n!==Array&&!u(n.prototype)?c(n)&&null===(n=n[m])&&(n=void 0):n=void 0,n===Array||void 0===n))return g.call(o,s,l);for(r=new(void 0===n?Array:n)(y(l-s,0)),i=0;s<l;s++,i++)s in o&&h(r,i,o[s]);return r.length=i,r}})},{"../internals/array-method-has-species-support":18,"../internals/array-method-uses-to-length":20,"../internals/create-property":37,"../internals/export":49,"../internals/is-array":72,"../internals/is-object":75,"../internals/to-absolute-index":140,"../internals/to-indexed-object":142,"../internals/to-length":144,"../internals/well-known-symbol":156}],184:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/array-iteration").some,o=e("../internals/array-method-is-strict"),a=e("../internals/array-method-uses-to-length"),s=o("some"),l=a("some");r({target:"Array",proto:!0,forced:!s||!l},{some:function(e,t){return i(this,e,1<arguments.length?t:void 0)}})},{"../internals/array-iteration":16,"../internals/array-method-is-strict":19,"../internals/array-method-uses-to-length":20,"../internals/export":49}],185:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/a-function"),o=e("../internals/to-object"),a=e("../internals/fails"),s=e("../internals/array-method-is-strict"),l=[],c=l.sort,u=a(function(){l.sort(void 0)}),f=a(function(){l.sort(null)}),d=s("sort");r({target:"Array",proto:!0,forced:u||!f||!d},{sort:function(e){return void 0===e?c.call(o(this)):c.call(o(this),i(e))}})},{"../internals/a-function":2,"../internals/array-method-is-strict":19,"../internals/export":49,"../internals/fails":50,"../internals/to-object":145}],186:[function(e,t,n){e("../internals/set-species")("Array")},{"../internals/set-species":124}],187:[function(e,t,n){"use strict";var r=e("../internals/export"),d=e("../internals/to-absolute-index"),p=e("../internals/to-integer"),h=e("../internals/to-length"),m=e("../internals/to-object"),g=e("../internals/array-species-create"),y=e("../internals/create-property"),i=e("../internals/array-method-has-species-support"),o=e("../internals/array-method-uses-to-length"),a=i("splice"),s=o("splice",{ACCESSORS:!0,0:0,1:2}),b=Math.max,v=Math.min;r({target:"Array",proto:!0,forced:!a||!s},{splice:function(e,t){var n,r,i,o,a,s,l=m(this),c=h(l.length),u=d(e,c),f=arguments.length;if(0===f?n=r=0:r=1===f?(n=0,c-u):(n=f-2,v(b(p(t),0),c-u)),9007199254740991<c+n-r)throw TypeError("Maximum allowed length exceeded");for(i=g(l,r),o=0;o<r;o++)(a=u+o)in l&&y(i,o,l[a]);if(n<(i.length=r)){for(o=u;o<c-r;o++)s=o+n,(a=o+r)in l?l[s]=l[a]:delete l[s];for(o=c;c-r+n<o;o--)delete l[o-1]}else if(r<n)for(o=c-r;u<o;o--)s=o+n-1,(a=o+r-1)in l?l[s]=l[a]:delete l[s];for(o=0;o<n;o++)l[o+u]=arguments[o+2];return l.length=c-r+n,i}})},{"../internals/array-method-has-species-support":18,"../internals/array-method-uses-to-length":20,"../internals/array-species-create":22,"../internals/create-property":37,"../internals/export":49,"../internals/to-absolute-index":140,"../internals/to-integer":143,"../internals/to-length":144,"../internals/to-object":145}],188:[function(e,t,n){e("../internals/add-to-unscopables")("flatMap")},{"../internals/add-to-unscopables":4}],189:[function(e,t,n){e("../internals/add-to-unscopables")("flat")},{"../internals/add-to-unscopables":4}],190:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/array-buffer");r({global:!0,forced:!e("../internals/array-buffer-native")},{DataView:i.DataView})},{"../internals/array-buffer":10,"../internals/array-buffer-native":8,"../internals/export":49}],191:[function(e,t,n){e("../internals/export")({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}})},{"../internals/export":49}],192:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/date-to-iso-string");r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==i},{toISOString:i})},{"../internals/date-to-iso-string":38,"../internals/export":49}],193:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/to-object"),a=e("../internals/to-primitive");r({target:"Date",proto:!0,forced:i(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})},{toJSON:function(){var e=o(this),t=a(e);return"number"!=typeof t||isFinite(t)?e.toISOString():null}})},{"../internals/export":49,"../internals/fails":50,"../internals/to-object":145,"../internals/to-primitive":148}],194:[function(e,t,n){var r=e("../internals/create-non-enumerable-property"),i=e("../internals/date-to-primitive"),o=e("../internals/well-known-symbol")("toPrimitive"),a=Date.prototype;o in a||r(a,o,i)},{"../internals/create-non-enumerable-property":35,"../internals/date-to-primitive":39,"../internals/well-known-symbol":156}],195:[function(e,t,n){var r=e("../internals/redefine"),i=Date.prototype,o="Invalid Date",a="toString",s=i[a],l=i.getTime;new Date(NaN)+""!=o&&r(i,a,function(){var e=l.call(this);return e==e?s.call(this):o})},{"../internals/redefine":116}],196:[function(e,t,n){e("../internals/export")({target:"Function",proto:!0},{bind:e("../internals/function-bind")})},{"../internals/export":49,"../internals/function-bind":55}],197:[function(e,t,n){"use strict";var r=e("../internals/is-object"),i=e("../internals/object-define-property"),o=e("../internals/object-get-prototype-of"),a=e("../internals/well-known-symbol")("hasInstance"),s=Function.prototype;a in s||i.f(s,a,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=o(e);)if(this.prototype===e)return!0;return!1}})},{"../internals/is-object":75,"../internals/object-define-property":98,"../internals/object-get-prototype-of":103,"../internals/well-known-symbol":156}],198:[function(e,t,n){var r=e("../internals/descriptors"),i=e("../internals/object-define-property").f,o=Function.prototype,a=o.toString,s=/^\s*function ([^ (]*)/;!r||"name"in o||i(o,"name",{configurable:!0,get:function(){try{return a.call(this).match(s)[1]}catch(e){return""}}})},{"../internals/descriptors":42,"../internals/object-define-property":98}],199:[function(e,t,n){e("../internals/export")({global:!0},{globalThis:e("../internals/global")})},{"../internals/export":49,"../internals/global":59}],200:[function(e,t,n){function i(e,t,n){var r=n.charAt(t-1),i=n.charAt(t+1);return c.test(e)&&!u.test(i)||u.test(e)&&!c.test(r)?"\\u"+e.charCodeAt(0).toString(16):e}var r=e("../internals/export"),o=e("../internals/get-built-in"),a=e("../internals/fails"),s=o("JSON","stringify"),l=/[\uD800-\uDFFF]/g,c=/^[\uD800-\uDBFF]$/,u=/^[\uDC00-\uDFFF]$/,f=a(function(){return'"\\udf06\\ud834"'!==s("\udf06\ud834")||'"\\udead"'!==s("\udead")});s&&r({target:"JSON",stat:!0,forced:f},{stringify:function(e,t,n){var r=s.apply(null,arguments);return"string"==typeof r?r.replace(l,i):r}})},{"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":56}],201:[function(e,t,n){var r=e("../internals/global");e("../internals/set-to-string-tag")(r.JSON,"JSON",!0)},{"../internals/global":59,"../internals/set-to-string-tag":125}],202:[function(e,t,n){"use strict";var r=e("../internals/collection"),i=e("../internals/collection-strong");t.exports=r("Map",function(t){return function(e){return t(this,arguments.length?e:void 0)}},i)},{"../internals/collection":29,"../internals/collection-strong":27}],203:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/math-log1p"),o=Math.acosh,a=Math.log,s=Math.sqrt,l=Math.LN2;r({target:"Math",stat:!0,forced:!o||710!=Math.floor(o(Number.MAX_VALUE))||o(1/0)!=1/0},{acosh:function(e){return(e=+e)<1?NaN:94906265.62425156<e?a(e)+l:i(e-1+s(e-1)*s(e+1))}})},{"../internals/export":49,"../internals/math-log1p":83}],204:[function(e,t,n){var r=e("../internals/export"),i=Math.asinh,o=Math.log,a=Math.sqrt;r({target:"Math",stat:!0,forced:!(i&&0<1/i(0))},{asinh:function e(t){return isFinite(t=+t)&&0!=t?t<0?-e(-t):o(t+a(t*t+1)):t}})},{"../internals/export":49}],205:[function(e,t,n){var r=e("../internals/export"),i=Math.atanh,o=Math.log;r({target:"Math",stat:!0,forced:!(i&&1/i(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:o((1+e)/(1-e))/2}})},{"../internals/export":49}],206:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/math-sign"),o=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(e){return i(e=+e)*a(o(e),1/3)}})},{"../internals/export":49,"../internals/math-sign":84}],207:[function(e,t,n){var r=e("../internals/export"),i=Math.floor,o=Math.log,a=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-i(o(e+.5)*a):32}})},{"../internals/export":49}],208:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/math-expm1"),o=Math.cosh,a=Math.abs,s=Math.E;r({target:"Math",stat:!0,forced:!o||o(710)===1/0},{cosh:function(e){var t=i(a(e)-1)+1;return(t+1/(t*s*s))*(s/2)}})},{"../internals/export":49,"../internals/math-expm1":81}],209:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/math-expm1");r({target:"Math",stat:!0,forced:i!=Math.expm1},{expm1:i})},{"../internals/export":49,"../internals/math-expm1":81}],210:[function(e,t,n){e("../internals/export")({target:"Math",stat:!0},{fround:e("../internals/math-fround")})},{"../internals/export":49,"../internals/math-fround":82}],211:[function(e,t,n){var r=e("../internals/export"),i=Math.hypot,l=Math.abs,c=Math.sqrt;r({target:"Math",stat:!0,forced:!!i&&i(1/0,NaN)!==1/0},{hypot:function(e,t){for(var n,r,i=0,o=0,a=arguments.length,s=0;o<a;)s<(n=l(arguments[o++]))?(i=i*(r=s/n)*r+1,s=n):i+=0<n?(r=n/s)*r:n;return s===1/0?1/0:s*c(i)}})},{"../internals/export":49}],212:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/fails"),o=Math.imul;r({target:"Math",stat:!0,forced:i(function(){return-5!=o(4294967295,5)||2!=o.length})},{imul:function(e,t){var n=65535,r=+e,i=+t,o=n&r,a=n&i;return 0|o*a+((n&r>>>16)*a+o*(n&i>>>16)<<16>>>0)}})},{"../internals/export":49,"../internals/fails":50}],213:[function(e,t,n){var r=e("../internals/export"),i=Math.log,o=Math.LOG10E;r({target:"Math",stat:!0},{log10:function(e){return i(e)*o}})},{"../internals/export":49}],214:[function(e,t,n){e("../internals/export")({target:"Math",stat:!0},{log1p:e("../internals/math-log1p")})},{"../internals/export":49,"../internals/math-log1p":83}],215:[function(e,t,n){var r=e("../internals/export"),i=Math.log,o=Math.LN2;r({target:"Math",stat:!0},{log2:function(e){return i(e)/o}})},{"../internals/export":49}],216:[function(e,t,n){e("../internals/export")({target:"Math",stat:!0},{sign:e("../internals/math-sign")})},{"../internals/export":49,"../internals/math-sign":84}],217:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/math-expm1"),a=Math.abs,s=Math.exp,l=Math.E;r({target:"Math",stat:!0,forced:i(function(){return-2e-17!=Math.sinh(-2e-17)})},{sinh:function(e){return a(e=+e)<1?(o(e)-o(-e))/2:(s(e-1)-s(-e-1))*(l/2)}})},{"../internals/export":49,"../internals/fails":50,"../internals/math-expm1":81}],218:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/math-expm1"),o=Math.exp;r({target:"Math",stat:!0},{tanh:function(e){var t=i(e=+e),n=i(-e);return t==1/0?1:n==1/0?-1:(t-n)/(o(e)+o(-e))}})},{"../internals/export":49,"../internals/math-expm1":81}],219:[function(e,t,n){e("../internals/set-to-string-tag")(Math,"Math",!0)},{"../internals/set-to-string-tag":125}],220:[function(e,t,n){var r=e("../internals/export"),i=Math.ceil,o=Math.floor;r({target:"Math",stat:!0},{trunc:function(e){return(0<e?o:i)(e)}})},{"../internals/export":49}],221:[function(e,t,n){"use strict";function r(e){var t,n,r,i,o,a,s,l,c=f(e,!1);if("string"==typeof c&&2<c.length)if(43===(t=(c=y(c)).charCodeAt(0))||45===t){if(88===(n=c.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(c.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+c}for(a=(o=c.slice(2)).length,s=0;s<a;s++)if((l=o.charCodeAt(s))<48||i<l)return NaN;return parseInt(o,r)}return+c}var i=e("../internals/descriptors"),o=e("../internals/global"),a=e("../internals/is-forced"),s=e("../internals/redefine"),l=e("../internals/has"),c=e("../internals/classof-raw"),u=e("../internals/inherit-if-required"),f=e("../internals/to-primitive"),d=e("../internals/fails"),p=e("../internals/object-create"),h=e("../internals/object-get-own-property-names").f,m=e("../internals/object-get-own-property-descriptor").f,g=e("../internals/object-define-property").f,y=e("../internals/string-trim").trim,b="Number",v=o[b],x=v.prototype,w=c(p(x))==b;if(a(b,!v(" 0o1")||!v("0b1")||v("+0x1"))){for(var j,C=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof C&&(w?d(function(){x.valueOf.call(n)}):c(n)!=b)?u(new v(r(t)),n,C):r(t)},E=i?h(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;E.length>S;S++)l(v,j=E[S])&&!l(C,j)&&g(C,j,m(v,j));(C.prototype=x).constructor=C,s(o,b,C)}},{"../internals/classof-raw":25,"../internals/descriptors":42,"../internals/fails":50,"../internals/global":59,"../internals/has":60,"../internals/inherit-if-required":67,"../internals/is-forced":73,"../internals/object-create":96,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-own-property-names":101,"../internals/redefine":116,"../internals/string-trim":137,"../internals/to-primitive":148}],222:[function(e,t,n){e("../internals/export")({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},{"../internals/export":49}],223:[function(e,t,n){e("../internals/export")({target:"Number",stat:!0},{isFinite:e("../internals/number-is-finite")})},{"../internals/export":49,"../internals/number-is-finite":92}],224:[function(e,t,n){e("../internals/export")({target:"Number",stat:!0},{isInteger:e("../internals/is-integer")})},{"../internals/export":49,"../internals/is-integer":74}],225:[function(e,t,n){e("../internals/export")({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},{"../internals/export":49}],226:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/is-integer"),o=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(e){return i(e)&&o(e)<=9007199254740991}})},{"../internals/export":49,"../internals/is-integer":74}],227:[function(e,t,n){e("../internals/export")({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},{"../internals/export":49}],228:[function(e,t,n){e("../internals/export")({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},{"../internals/export":49}],229:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/number-parse-float");r({target:"Number",stat:!0,forced:Number.parseFloat!=i},{parseFloat:i})},{"../internals/export":49,"../internals/number-parse-float":93}],230:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/number-parse-int");r({target:"Number",stat:!0,forced:Number.parseInt!=i},{parseInt:i})},{"../internals/export":49,"../internals/number-parse-int":94}],231:[function(e,t,n){"use strict";var r=e("../internals/export"),p=e("../internals/to-integer"),h=e("../internals/this-number-value"),m=e("../internals/string-repeat"),i=e("../internals/fails"),o=1..toFixed,g=Math.floor,y=function(e,t,n){return 0===t?n:t%2==1?y(e,t-1,n*e):y(e*e,t/2,n)};r({target:"Number",proto:!0,forced:o&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!i(function(){o.call({})})},{toFixed:function(e){function t(e,t){for(var n=-1,r=t;++n<6;)r+=e*u[n],u[n]=r%1e7,r=g(r/1e7)}function n(e){for(var t=6,n=0;0<=--t;)n+=u[t],u[t]=g(n/e),n=n%e*1e7}function r(){for(var e=6,t="";0<=--e;)if(""!==t||0===e||0!==u[e]){var n=String(u[e]);t=""===t?n:t+m.call("0",7-n.length)+n}return t}var i,o,a,s,l=h(this),c=p(e),u=[0,0,0,0,0,0],f="",d="0";if(c<0||20<c)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||1e21<=l)return String(l);if(l<0&&(f="-",l=-l),1e-21<l)if(o=(i=function(e){for(var t=0,n=e;4096<=n;)t+=12,n/=4096;for(;2<=n;)t+=1,n/=2;return t}(l*y(2,69,1))-69)<0?l*y(2,-i,1):l/y(2,i,1),o*=4503599627370496,0<(i=52-i)){for(t(0,o),a=c;7<=a;)t(1e7,0),a-=7;for(t(y(10,a,1),0),a=i-1;23<=a;)n(1<<23),a-=23;n(1<<a),t(1,1),n(2),d=r()}else t(0,o),t(1<<-i,0),d=r()+m.call("0",c);return d=0<c?f+((s=d.length)<=c?"0."+m.call("0",c-s)+d:d.slice(0,s-c)+"."+d.slice(s-c)):f+d}})},{"../internals/export":49,"../internals/fails":50,"../internals/string-repeat":135,"../internals/this-number-value":139,"../internals/to-integer":143}],232:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/this-number-value"),a=1..toPrecision;r({target:"Number",proto:!0,forced:i(function(){return"1"!==a.call(1,void 0)})||!i(function(){a.call({})})},{toPrecision:function(e){return void 0===e?a.call(o(this)):a.call(o(this),e)}})},{"../internals/export":49,"../internals/fails":50,"../internals/this-number-value":139}],233:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/object-assign");r({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},{"../internals/export":49,"../internals/object-assign":95}],234:[function(e,t,n){e("../internals/export")({target:"Object",stat:!0,sham:!e("../internals/descriptors")},{create:e("../internals/object-create")})},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-create":96}],235:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/object-prototype-accessors-forced"),a=e("../internals/to-object"),s=e("../internals/a-function"),l=e("../internals/object-define-property");i&&r({target:"Object",proto:!0,forced:o},{__defineGetter__:function(e,t){l.f(a(this),e,{get:s(t),enumerable:!0,configurable:!0})}})},{"../internals/a-function":2,"../internals/descriptors":42,"../internals/export":49,"../internals/object-define-property":98,"../internals/object-prototype-accessors-forced":107,"../internals/to-object":145}],236:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/descriptors");r({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperties:e("../internals/object-define-properties")})},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-define-properties":97}],237:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/descriptors");r({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperty:e("../internals/object-define-property").f})},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-define-property":98}],238:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/object-prototype-accessors-forced"),a=e("../internals/to-object"),s=e("../internals/a-function"),l=e("../internals/object-define-property");i&&r({target:"Object",proto:!0,forced:o},{__defineSetter__:function(e,t){l.f(a(this),e,{set:s(t),enumerable:!0,configurable:!0})}})},{"../internals/a-function":2,"../internals/descriptors":42,"../internals/export":49,"../internals/object-define-property":98,"../internals/object-prototype-accessors-forced":107,"../internals/to-object":145}],239:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/object-to-array").entries;r({target:"Object",stat:!0},{entries:function(e){return i(e)}})},{"../internals/export":49,"../internals/object-to-array":109}],240:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/freezing"),o=e("../internals/fails"),a=e("../internals/is-object"),s=e("../internals/internal-metadata").onFreeze,l=Object.freeze;r({target:"Object",stat:!0,forced:o(function(){l(1)}),sham:!i},{freeze:function(e){return l&&a(e)?l(s(e)):e}})},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":53,"../internals/internal-metadata":69,"../internals/is-object":75}],241:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/iterate"),o=e("../internals/create-property");r({target:"Object",stat:!0},{fromEntries:function(e){var n={};return i(e,function(e,t){o(n,e,t)},void 0,!0),n}})},{"../internals/create-property":37,"../internals/export":49,"../internals/iterate":78}],242:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/to-indexed-object"),a=e("../internals/object-get-own-property-descriptor").f,s=e("../internals/descriptors"),l=i(function(){a(1)});r({target:"Object",stat:!0,forced:!s||l,sham:!s},{getOwnPropertyDescriptor:function(e,t){return a(o(e),t)}})},{"../internals/descriptors":42,"../internals/export":49,"../internals/fails":50,"../internals/object-get-own-property-descriptor":99,"../internals/to-indexed-object":142}],243:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/descriptors"),l=e("../internals/own-keys"),c=e("../internals/to-indexed-object"),u=e("../internals/object-get-own-property-descriptor"),f=e("../internals/create-property");r({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(e){for(var t,n,r=c(e),i=u.f,o=l(r),a={},s=0;o.length>s;)void 0!==(n=i(r,t=o[s++]))&&f(a,t,n);return a}})},{"../internals/create-property":37,"../internals/descriptors":42,"../internals/export":49,"../internals/object-get-own-property-descriptor":99,"../internals/own-keys":111,"../internals/to-indexed-object":142}],244:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/object-get-own-property-names-external").f;r({target:"Object",stat:!0,forced:i(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:o})},{"../internals/export":49,"../internals/fails":50,"../internals/object-get-own-property-names-external":100}],245:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/to-object"),a=e("../internals/object-get-prototype-of"),s=e("../internals/correct-prototype-getter");r({target:"Object",stat:!0,forced:i(function(){a(1)}),sham:!s},{getPrototypeOf:function(e){return a(o(e))}})},{"../internals/correct-prototype-getter":32,"../internals/export":49,"../internals/fails":50,"../internals/object-get-prototype-of":103,"../internals/to-object":145}],246:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/is-object"),a=Object.isExtensible;r({target:"Object",stat:!0,forced:i(function(){a(1)})},{isExtensible:function(e){return!!o(e)&&(!a||a(e))}})},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":75}],247:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/is-object"),a=Object.isFrozen;r({target:"Object",stat:!0,forced:i(function(){a(1)})},{isFrozen:function(e){return!o(e)||!!a&&a(e)}})},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":75}],248:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/is-object"),a=Object.isSealed;r({target:"Object",stat:!0,forced:i(function(){a(1)})},{isSealed:function(e){return!o(e)||!!a&&a(e)}})},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":75}],249:[function(e,t,n){e("../internals/export")({target:"Object",stat:!0},{is:e("../internals/same-value")})},{"../internals/export":49,"../internals/same-value":122}],250:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/to-object"),o=e("../internals/object-keys");r({target:"Object",stat:!0,forced:e("../internals/fails")(function(){o(1)})},{keys:function(e){return o(i(e))}})},{"../internals/export":49,"../internals/fails":50,"../internals/object-keys":105,"../internals/to-object":145}],251:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/object-prototype-accessors-forced"),a=e("../internals/to-object"),s=e("../internals/to-primitive"),l=e("../internals/object-get-prototype-of"),c=e("../internals/object-get-own-property-descriptor").f;i&&r({target:"Object",proto:!0,forced:o},{__lookupGetter__:function(e){var t,n=a(this),r=s(e,!0);do{if(t=c(n,r))return t.get}while(n=l(n))}})},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-prototype-of":103,"../internals/object-prototype-accessors-forced":107,"../internals/to-object":145,"../internals/to-primitive":148}],252:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/object-prototype-accessors-forced"),a=e("../internals/to-object"),s=e("../internals/to-primitive"),l=e("../internals/object-get-prototype-of"),c=e("../internals/object-get-own-property-descriptor").f;i&&r({target:"Object",proto:!0,forced:o},{__lookupSetter__:function(e){var t,n=a(this),r=s(e,!0);do{if(t=c(n,r))return t.set}while(n=l(n))}})},{"../internals/descriptors":42,"../internals/export":49,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-prototype-of":103,"../internals/object-prototype-accessors-forced":107,"../internals/to-object":145,"../internals/to-primitive":148}],253:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/is-object"),o=e("../internals/internal-metadata").onFreeze,a=e("../internals/freezing"),s=e("../internals/fails"),l=Object.preventExtensions;r({target:"Object",stat:!0,forced:s(function(){l(1)}),sham:!a},{preventExtensions:function(e){return l&&i(e)?l(o(e)):e}})},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":53,"../internals/internal-metadata":69,"../internals/is-object":75}],254:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/is-object"),o=e("../internals/internal-metadata").onFreeze,a=e("../internals/freezing"),s=e("../internals/fails"),l=Object.seal;r({target:"Object",stat:!0,forced:s(function(){l(1)}),sham:!a},{seal:function(e){return l&&i(e)?l(o(e)):e}})},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":53,"../internals/internal-metadata":69,"../internals/is-object":75}],255:[function(e,t,n){e("../internals/export")({target:"Object",stat:!0},{setPrototypeOf:e("../internals/object-set-prototype-of")})},{"../internals/export":49,"../internals/object-set-prototype-of":108}],256:[function(e,t,n){var r=e("../internals/to-string-tag-support"),i=e("../internals/redefine"),o=e("../internals/object-to-string");r||i(Object.prototype,"toString",o,{unsafe:!0})},{"../internals/object-to-string":110,"../internals/redefine":116,"../internals/to-string-tag-support":149}],257:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/object-to-array").values;r({target:"Object",stat:!0},{values:function(e){return i(e)}})},{"../internals/export":49,"../internals/object-to-array":109}],258:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/number-parse-float");r({global:!0,forced:parseFloat!=i},{parseFloat:i})},{"../internals/export":49,"../internals/number-parse-float":93}],259:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/number-parse-int");r({global:!0,forced:parseInt!=i},{parseInt:i})},{"../internals/export":49,"../internals/number-parse-int":94}],260:[function(e,t,n){"use strict";var r=e("../internals/export"),c=e("../internals/a-function"),i=e("../internals/new-promise-capability"),o=e("../internals/perform"),u=e("../internals/iterate");r({target:"Promise",stat:!0},{allSettled:function(e){var s=this,t=i.f(s),l=t.resolve,n=t.reject,r=o(function(){var r=c(s.resolve),i=[],o=0,a=1;u(e,function(e){var t=o++,n=!1;i.push(void 0),a++,r.call(s,e).then(function(e){n||(n=!0,i[t]={status:"fulfilled",value:e},--a||l(i))},function(e){n||(n=!0,i[t]={status:"rejected",reason:e},--a||l(i))})}),--a||l(i)});return r.error&&n(r.value),t.promise}})},{"../internals/a-function":2,"../internals/export":49,"../internals/iterate":78,"../internals/new-promise-capability":90,"../internals/perform":113}],261:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/native-promise-constructor"),a=e("../internals/fails"),s=e("../internals/get-built-in"),l=e("../internals/species-constructor"),c=e("../internals/promise-resolve"),u=e("../internals/redefine");r({target:"Promise",proto:!0,real:!0,forced:!!o&&a(function(){o.prototype.finally.call({then:function(){}},function(){})})},{finally:function(t){var n=l(this,s("Promise")),e="function"==typeof t;return this.then(e?function(e){return c(n,t()).then(function(){return e})}:t,e?function(e){return c(n,t()).then(function(){throw e})}:t)}}),i||"function"!=typeof o||o.prototype.finally||u(o.prototype,"finally",s("Promise").prototype.finally)},{"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":56,"../internals/is-pure":76,"../internals/native-promise-constructor":86,"../internals/promise-resolve":114,"../internals/redefine":116,"../internals/species-constructor":129}],262:[function(e,t,n){"use strict";function m(e){var t;return!(!w(e)||"function"!=typeof(t=e.then))&&t}function o(f,d,p){if(!d.notified){d.notified=!0;var h=d.reactions;N(function(){for(var e=d.value,t=1==d.state,n=0;h.length>n;){var r,i,o,a=h[n++],s=t?a.ok:a.fail,l=a.resolve,c=a.reject,u=a.domain;try{s?(t||(2===d.rejection&&ie(f,d),d.rejection=1),!0===s?r=e:(u&&u.enter(),r=s(e),u&&(u.exit(),o=!0)),r===a.promise?c(B("Promise-chain cycle")):(i=m(r))?i.call(r,l,c):l(r)):c(e)}catch(e){u&&!o&&u.exit(),c(e)}}d.reactions=[],d.notified=!1,p&&!d.rejection&&ne(f,d)})}}function i(e,t,n){var r,i;K?((r=H.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),p.dispatchEvent(r)):r={promise:t,reason:n},(i=p["on"+e])?i(r):e===Q&&L("Unhandled promise rejection",n)}function a(t,n,r,i){return function(e){t(n,r,e,i)}}function s(e,t,n,r){t.done||(t.done=!0,r&&(t=r),t.value=n,t.state=2,o(e,t,!0))}var r,l,c,u,f=e("../internals/export"),d=e("../internals/is-pure"),p=e("../internals/global"),h=e("../internals/get-built-in"),g=e("../internals/native-promise-constructor"),y=e("../internals/redefine"),b=e("../internals/redefine-all"),v=e("../internals/set-to-string-tag"),x=e("../internals/set-species"),w=e("../internals/is-object"),j=e("../internals/a-function"),C=e("../internals/an-instance"),E=e("../internals/classof-raw"),S=e("../internals/inspect-source"),O=e("../internals/iterate"),k=e("../internals/check-correctness-of-iteration"),A=e("../internals/species-constructor"),I=e("../internals/task").set,N=e("../internals/microtask"),T=e("../internals/promise-resolve"),L=e("../internals/host-report-errors"),R=e("../internals/new-promise-capability"),P=e("../internals/perform"),M=e("../internals/internal-state"),D=e("../internals/is-forced"),_=e("../internals/well-known-symbol"),F=e("../internals/engine-v8-version"),Y=_("species"),U="Promise",q=M.get,X=M.set,z=M.getterFor(U),W=g,B=p.TypeError,H=p.document,G=p.process,V=h("fetch"),$=R.f,Z=$,J="process"==E(G),K=!!(H&&H.createEvent&&p.dispatchEvent),Q="unhandledrejection",ee=D(U,function(){if(!(S(W)!==String(W))){if(66===F)return!0;if(!J&&"function"!=typeof PromiseRejectionEvent)return!0}if(d&&!W.prototype.finally)return!0;if(51<=F&&/native code/.test(W))return!1;function e(e){e(function(){},function(){})}var t=W.resolve(1);return(t.constructor={})[Y]=e,!(t.then(function(){})instanceof e)}),te=ee||!k(function(e){W.all(e).catch(function(){})}),ne=function(n,r){I.call(p,function(){var e,t=r.value;if(re(r)&&(e=P(function(){J?G.emit("unhandledRejection",t,n):i(Q,n,t)}),r.rejection=J||re(r)?2:1,e.error))throw e.value})},re=function(e){return 1!==e.rejection&&!e.parent},ie=function(e,t){I.call(p,function(){J?G.emit("rejectionHandled",e):i("rejectionhandled",e,t.value)})},oe=function(n,r,e,t){if(!r.done){r.done=!0,t&&(r=t);try{if(n===e)throw B("Promise can't be resolved itself");var i=m(e);i?N(function(){var t={done:!1};try{i.call(e,a(oe,n,t,r),a(s,n,t,r))}catch(e){s(n,t,e,r)}}):(r.value=e,r.state=1,o(n,r,!1))}catch(e){s(n,{done:!1},e,r)}}};ee&&(W=function(e){C(this,W,U),j(e),r.call(this);var t=q(this);try{e(a(oe,this,t),a(s,this,t))}catch(e){s(this,t,e)}},(r=function(){X(this,{type:U,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=b(W.prototype,{then:function(e,t){var n=z(this),r=$(A(this,W));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=J?G.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&o(this,n,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),l=function(){var e=new r,t=q(e);this.promise=e,this.resolve=a(oe,e,t),this.reject=a(s,e,t)},R.f=$=function(e){return e===W||e===c?new l(e):Z(e)},d||"function"!=typeof g||(u=g.prototype.then,y(g.prototype,"then",function(e,t){var n=this;return new W(function(e,t){u.call(n,e,t)}).then(e,t)},{unsafe:!0}),"function"==typeof V&&f({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return T(W,V.apply(p,arguments))}}))),f({global:!0,wrap:!0,forced:ee},{Promise:W}),v(W,U,!1,!0),x(U),c=h(U),f({target:U,stat:!0,forced:ee},{reject:function(e){var t=$(this);return t.reject.call(void 0,e),t.promise}}),f({target:U,stat:!0,forced:d||ee},{resolve:function(e){return T(d&&this===c?W:this,e)}}),f({target:U,stat:!0,forced:te},{all:function(e){var s=this,t=$(s),l=t.resolve,c=t.reject,n=P(function(){var r=j(s.resolve),i=[],o=0,a=1;O(e,function(e){var t=o++,n=!1;i.push(void 0),a++,r.call(s,e).then(function(e){n||(n=!0,i[t]=e,--a||l(i))},c)}),--a||l(i)});return n.error&&c(n.value),t.promise},race:function(e){var n=this,r=$(n),i=r.reject,t=P(function(){var t=j(n.resolve);O(e,function(e){t.call(n,e).then(r.resolve,i)})});return t.error&&i(t.value),r.promise}})},{"../internals/a-function":2,"../internals/an-instance":6,"../internals/check-correctness-of-iteration":24,"../internals/classof-raw":25,"../internals/engine-v8-version":47,"../internals/export":49,"../internals/get-built-in":56,"../internals/global":59,"../internals/host-report-errors":62,"../internals/inspect-source":68,"../internals/internal-state":70,"../internals/is-forced":73,"../internals/is-object":75,"../internals/is-pure":76,"../internals/iterate":78,"../internals/microtask":85,"../internals/native-promise-constructor":86,"../internals/new-promise-capability":90,"../internals/perform":113,"../internals/promise-resolve":114,"../internals/redefine":116,"../internals/redefine-all":115,"../internals/set-species":124,"../internals/set-to-string-tag":125,"../internals/species-constructor":129,"../internals/task":138,"../internals/well-known-symbol":156}],263:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/get-built-in"),o=e("../internals/a-function"),a=e("../internals/an-object"),s=e("../internals/fails"),l=i("Reflect","apply"),c=Function.apply;r({target:"Reflect",stat:!0,forced:!s(function(){l(function(){})})},{apply:function(e,t,n){return o(e),a(n),l?l(e,t,n):c.call(e,t,n)}})},{"../internals/a-function":2,"../internals/an-object":7,"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":56}],264:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/get-built-in"),l=e("../internals/a-function"),c=e("../internals/an-object"),u=e("../internals/is-object"),f=e("../internals/object-create"),d=e("../internals/function-bind"),o=e("../internals/fails"),p=i("Reflect","construct"),h=o(function(){function e(){}return!(p(function(){},[],e)instanceof e)}),m=!o(function(){p(function(){})}),a=h||m;r({target:"Reflect",stat:!0,forced:a,sham:a},{construct:function(e,t,n){l(e),c(t);var r=arguments.length<3?e:l(n);if(m&&!h)return p(e,t,r);if(e==r){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var i=[null];return i.push.apply(i,t),new(d.apply(e,i))}var o=r.prototype,a=f(u(o)?o:Object.prototype),s=Function.apply.call(e,a,t);return u(s)?s:a}})},{"../internals/a-function":2,"../internals/an-object":7,"../internals/export":49,"../internals/fails":50,"../internals/function-bind":55,"../internals/get-built-in":56,"../internals/is-object":75,"../internals/object-create":96}],265:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/an-object"),a=e("../internals/to-primitive"),s=e("../internals/object-define-property");r({target:"Reflect",stat:!0,forced:e("../internals/fails")(function(){Reflect.defineProperty(s.f({},1,{value:1}),1,{value:2})}),sham:!i},{defineProperty:function(e,t,n){o(e);var r=a(t,!0);o(n);try{return s.f(e,r,n),!0}catch(e){return!1}}})},{"../internals/an-object":7,"../internals/descriptors":42,"../internals/export":49,"../internals/fails":50,"../internals/object-define-property":98,"../internals/to-primitive":148}],266:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/an-object"),o=e("../internals/object-get-own-property-descriptor").f;r({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=o(i(e),t);return!(n&&!n.configurable)&&delete e[t]}})},{"../internals/an-object":7,"../internals/export":49,"../internals/object-get-own-property-descriptor":99}],267:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/an-object"),a=e("../internals/object-get-own-property-descriptor");r({target:"Reflect",stat:!0,sham:!i},{getOwnPropertyDescriptor:function(e,t){return a.f(o(e),t)}})},{"../internals/an-object":7,"../internals/descriptors":42,"../internals/export":49,"../internals/object-get-own-property-descriptor":99}],268:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/an-object"),o=e("../internals/object-get-prototype-of");r({target:"Reflect",stat:!0,sham:!e("../internals/correct-prototype-getter")},{getPrototypeOf:function(e){return o(i(e))}})},{"../internals/an-object":7,"../internals/correct-prototype-getter":32,"../internals/export":49,"../internals/object-get-prototype-of":103}],269:[function(e,t,n){var r=e("../internals/export"),a=e("../internals/is-object"),s=e("../internals/an-object"),l=e("../internals/has"),c=e("../internals/object-get-own-property-descriptor"),u=e("../internals/object-get-prototype-of");r({target:"Reflect",stat:!0},{get:function e(t,n){var r,i,o=arguments.length<3?t:arguments[2];return s(t)===o?t[n]:(r=c.f(t,n))?l(r,"value")?r.value:void 0===r.get?void 0:r.get.call(o):a(i=u(t))?e(i,n,o):void 0}})},{"../internals/an-object":7,"../internals/export":49,"../internals/has":60,"../internals/is-object":75,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-prototype-of":103}],270:[function(e,t,n){e("../internals/export")({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},{"../internals/export":49}],271:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/an-object"),o=Object.isExtensible;r({target:"Reflect",stat:!0},{isExtensible:function(e){return i(e),!o||o(e)}})},{"../internals/an-object":7,"../internals/export":49}],272:[function(e,t,n){e("../internals/export")({target:"Reflect",stat:!0},{ownKeys:e("../internals/own-keys")})},{"../internals/export":49,"../internals/own-keys":111}],273:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/get-built-in"),o=e("../internals/an-object");r({target:"Reflect",stat:!0,sham:!e("../internals/freezing")},{preventExtensions:function(e){o(e);try{var t=i("Object","preventExtensions");return t&&t(e),!0}catch(e){return!1}}})},{"../internals/an-object":7,"../internals/export":49,"../internals/freezing":53,"../internals/get-built-in":56}],274:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/an-object"),o=e("../internals/a-possible-prototype"),a=e("../internals/object-set-prototype-of");a&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){i(e),o(t);try{return a(e,t),!0}catch(e){return!1}}})},{"../internals/a-possible-prototype":3,"../internals/an-object":7,"../internals/export":49,"../internals/object-set-prototype-of":108}],275:[function(e,t,n){var r=e("../internals/export"),l=e("../internals/an-object"),c=e("../internals/is-object"),u=e("../internals/has"),i=e("../internals/fails"),f=e("../internals/object-define-property"),d=e("../internals/object-get-own-property-descriptor"),p=e("../internals/object-get-prototype-of"),h=e("../internals/create-property-descriptor");r({target:"Reflect",stat:!0,forced:i(function(){var e=f.f({},"a",{configurable:!0});return!1!==Reflect.set(p(e),"a",1,e)})},{set:function e(t,n,r){var i,o,a=arguments.length<4?t:arguments[3],s=d.f(l(t),n);if(!s){if(c(o=p(t)))return e(o,n,r,a);s=h(0)}if(u(s,"value")){if(!1===s.writable||!c(a))return!1;if(i=d.f(a,n)){if(i.get||i.set||!1===i.writable)return!1;i.value=r,f.f(a,n,i)}else f.f(a,n,h(0,r));return!0}return void 0!==s.set&&(s.set.call(a,r),!0)}})},{"../internals/an-object":7,"../internals/create-property-descriptor":36,"../internals/export":49,"../internals/fails":50,"../internals/has":60,"../internals/is-object":75,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-prototype-of":103}],276:[function(e,t,n){var r=e("../internals/descriptors"),i=e("../internals/global"),o=e("../internals/is-forced"),s=e("../internals/inherit-if-required"),a=e("../internals/object-define-property").f,l=e("../internals/object-get-own-property-names").f,c=e("../internals/is-regexp"),u=e("../internals/regexp-flags"),f=e("../internals/regexp-sticky-helpers"),d=e("../internals/redefine"),p=e("../internals/fails"),h=e("../internals/internal-state").set,m=e("../internals/set-species"),g=e("../internals/well-known-symbol")("match"),y=i.RegExp,b=y.prototype,v=/a/g,x=/a/g,w=new y(v)!==v,j=f.UNSUPPORTED_Y;if(r&&o("RegExp",!w||j||p(function(){return x[g]=!1,y(v)!=v||y(x)==x||"/a/i"!=y(v,"i")}))){function C(t){t in E||a(E,t,{configurable:!0,get:function(){return y[t]},set:function(e){y[t]=e}})}for(var E=function(e,t){var n,r=this instanceof E,i=c(e),o=void 0===t;if(!r&&i&&e.constructor===E&&o)return e;w?i&&!o&&(e=e.source):e instanceof E&&(o&&(t=u.call(e)),e=e.source),j&&(n=!!t&&-1<t.indexOf("y"))&&(t=t.replace(/y/g,""));var a=s(w?new y(e,t):y(e,t),r?this:b,E);return j&&n&&h(a,{sticky:n}),a},S=l(y),O=0;S.length>O;)C(S[O++]);(b.constructor=E).prototype=b,d(i,"RegExp",E)}m("RegExp")},{"../internals/descriptors":42,"../internals/fails":50,"../internals/global":59,"../internals/inherit-if-required":67,"../internals/internal-state":70,"../internals/is-forced":73,"../internals/is-regexp":77,"../internals/object-define-property":98,"../internals/object-get-own-property-names":101,"../internals/redefine":116,"../internals/regexp-flags":119,"../internals/regexp-sticky-helpers":120,"../internals/set-species":124,"../internals/well-known-symbol":156}],277:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/regexp-exec");r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},{"../internals/export":49,"../internals/regexp-exec":118}],278:[function(e,t,n){var r=e("../internals/descriptors"),i=e("../internals/object-define-property"),o=e("../internals/regexp-flags"),a=e("../internals/regexp-sticky-helpers").UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&i.f(RegExp.prototype,"flags",{configurable:!0,get:o})},{"../internals/descriptors":42,"../internals/object-define-property":98,"../internals/regexp-flags":119,"../internals/regexp-sticky-helpers":120}],279:[function(e,t,n){var r=e("../internals/descriptors"),i=e("../internals/regexp-sticky-helpers").UNSUPPORTED_Y,o=e("../internals/object-define-property").f,a=e("../internals/internal-state").get,s=RegExp.prototype;r&&i&&o(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==s){if(this instanceof RegExp)return!!a(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}})},{"../internals/descriptors":42,"../internals/internal-state":70,"../internals/object-define-property":98,"../internals/regexp-sticky-helpers":120}],280:[function(e,t,n){"use strict";e("../modules/es.regexp.exec");var r,i,o=e("../internals/export"),a=e("../internals/is-object"),s=(r=!1,(i=/[ac]/).exec=function(){return r=!0,/./.exec.apply(this,arguments)},!0===i.test("abc")&&r),l=/./.test;o({target:"RegExp",proto:!0,forced:!s},{test:function(e){if("function"!=typeof this.exec)return l.call(this,e);var t=this.exec(e);if(null!==t&&!a(t))throw new Error("RegExp exec method returned something other than an Object or null");return!!t}})},{"../internals/export":49,"../internals/is-object":75,"../modules/es.regexp.exec":277}],281:[function(e,t,n){"use strict";var r=e("../internals/redefine"),i=e("../internals/an-object"),o=e("../internals/fails"),a=e("../internals/regexp-flags"),s="toString",l=RegExp.prototype,c=l[s],u=o(function(){return"/a/b"!=c.call({source:"a",flags:"b"})}),f=c.name!=s;(u||f)&&r(RegExp.prototype,s,function(){var e=i(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in l)?a.call(e):n)},{unsafe:!0})},{"../internals/an-object":7,"../internals/fails":50,"../internals/redefine":116,"../internals/regexp-flags":119}],282:[function(e,t,n){"use strict";var r=e("../internals/collection"),i=e("../internals/collection-strong");t.exports=r("Set",function(t){return function(e){return t(this,arguments.length?e:void 0)}},i)},{"../internals/collection":29,"../internals/collection-strong":27}],283:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("anchor")},{anchor:function(e){return i(this,"a","name",e)}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],284:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("big")},{big:function(){return i(this,"big","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],285:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("blink")},{blink:function(){return i(this,"blink","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],286:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("bold")},{bold:function(){return i(this,"b","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],287:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/string-multibyte").codeAt;r({target:"String",proto:!0},{codePointAt:function(e){return i(this,e)}})},{"../internals/export":49,"../internals/string-multibyte":131}],288:[function(e,t,n){"use strict";var r,i=e("../internals/export"),o=e("../internals/object-get-own-property-descriptor").f,s=e("../internals/to-length"),l=e("../internals/not-a-regexp"),c=e("../internals/require-object-coercible"),a=e("../internals/correct-is-regexp-logic"),u=e("../internals/is-pure"),f="".endsWith,d=Math.min,p=a("endsWith");i({target:"String",proto:!0,forced:!!(u||p||(!(r=o(String.prototype,"endsWith"))||r.writable))&&!p},{endsWith:function(e,t){var n=String(c(this));l(e);var r=1<arguments.length?t:void 0,i=s(n.length),o=void 0===r?i:d(s(r),i),a=String(e);return f?f.call(n,a,o):n.slice(o-a.length,o)===a}})},{"../internals/correct-is-regexp-logic":31,"../internals/export":49,"../internals/is-pure":76,"../internals/not-a-regexp":91,"../internals/object-get-own-property-descriptor":99,"../internals/require-object-coercible":121,"../internals/to-length":144}],289:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("fixed")},{fixed:function(){return i(this,"tt","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],290:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("fontcolor")},{fontcolor:function(e){return i(this,"font","color",e)}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],291:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("fontsize")},{fontsize:function(e){return i(this,"font","size",e)}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],292:[function(e,t,n){var r=e("../internals/export"),o=e("../internals/to-absolute-index"),a=String.fromCharCode,i=String.fromCodePoint;r({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,i=0;i<r;){if(t=+arguments[i++],o(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},{"../internals/export":49,"../internals/to-absolute-index":140}],293:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/not-a-regexp"),o=e("../internals/require-object-coercible");r({target:"String",proto:!0,forced:!e("../internals/correct-is-regexp-logic")("includes")},{includes:function(e,t){return!!~String(o(this)).indexOf(i(e),1<arguments.length?t:void 0)}})},{"../internals/correct-is-regexp-logic":31,"../internals/export":49,"../internals/not-a-regexp":91,"../internals/require-object-coercible":121}],294:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("italics")},{italics:function(){return i(this,"i","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],295:[function(e,t,n){"use strict";var i=e("../internals/string-multibyte").charAt,r=e("../internals/internal-state"),o=e("../internals/define-iterator"),a="String Iterator",s=r.set,l=r.getterFor(a);o(String,"String",function(e){s(this,{type:a,string:String(e),index:0})},function(){var e,t=l(this),n=t.string,r=t.index;return r>=n.length?{value:void 0,done:!0}:(e=i(n,r),t.index+=e.length,{value:e,done:!1})})},{"../internals/define-iterator":40,"../internals/internal-state":70,"../internals/string-multibyte":131}],296:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("link")},{link:function(e){return i(this,"a","href",e)}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],297:[function(e,t,n){"use strict";function o(e){var t,n,r,i,o,a,s=u(this),l=String(e);return t=g(s,RegExp),void 0===(n=s.flags)&&s instanceof RegExp&&!("flags"in S)&&(n=d.call(s)),r=void 0===n?"":String(n),i=new t(t===RegExp?s.source:s,r),o=!!~r.indexOf("g"),a=!!~r.indexOf("u"),i.lastIndex=c(s.lastIndex),new I(i,l,o,a)}var r=e("../internals/export"),i=e("../internals/create-iterator-constructor"),a=e("../internals/require-object-coercible"),c=e("../internals/to-length"),s=e("../internals/a-function"),u=e("../internals/an-object"),l=e("../internals/classof-raw"),f=e("../internals/is-regexp"),d=e("../internals/regexp-flags"),p=e("../internals/create-non-enumerable-property"),h=e("../internals/fails"),m=e("../internals/well-known-symbol"),g=e("../internals/species-constructor"),y=e("../internals/advance-string-index"),b=e("../internals/internal-state"),v=e("../internals/is-pure"),x=m("matchAll"),w="RegExp String",j=w+" Iterator",C=b.set,E=b.getterFor(j),S=RegExp.prototype,O=S.exec,k="".matchAll,A=!!k&&!h(function(){"a".matchAll(/./)}),I=i(function(e,t,n,r){C(this,{type:j,regexp:e,string:t,global:n,unicode:r,done:!1})},w,function(){var e=E(this);if(e.done)return{value:void 0,done:!0};var t=e.regexp,n=e.string,r=function(e,t){var n,r=e.exec;if("function"!=typeof r)return O.call(e,t);if("object"!=typeof(n=r.call(e,t)))throw TypeError("Incorrect exec result");return n}(t,n);return null===r?{value:void 0,done:e.done=!0}:e.global?(""==String(r[0])&&(t.lastIndex=y(n,c(t.lastIndex),e.unicode)),{value:r,done:!1}):{value:r,done:!(e.done=!0)}});r({target:"String",proto:!0,forced:A},{matchAll:function(e){var t,n,r,i=a(this);if(null!=e){if(f(e)&&!~String(a("flags"in S?e.flags:d.call(e))).indexOf("g"))throw TypeError("`.matchAll` does not allow non-global regexes");if(A)return k.apply(i,arguments);if(void 0===(n=e[x])&&v&&"RegExp"==l(e)&&(n=o),null!=n)return s(n).call(e,i)}else if(A)return k.apply(i,arguments);return t=String(i),r=new RegExp(e,"g"),v?o.call(r,t):r[x](t)}}),v||x in S||p(S,x,o)},{"../internals/a-function":2,"../internals/advance-string-index":5,"../internals/an-object":7,"../internals/classof-raw":25,"../internals/create-iterator-constructor":34,"../internals/create-non-enumerable-property":35,"../internals/export":49,"../internals/fails":50,"../internals/internal-state":70,"../internals/is-pure":76,"../internals/is-regexp":77,"../internals/regexp-flags":119,"../internals/require-object-coercible":121,"../internals/species-constructor":129,"../internals/to-length":144,"../internals/well-known-symbol":156}],298:[function(e,t,n){"use strict";var r=e("../internals/fix-regexp-well-known-symbol-logic"),f=e("../internals/an-object"),d=e("../internals/to-length"),i=e("../internals/require-object-coercible"),p=e("../internals/advance-string-index"),h=e("../internals/regexp-exec-abstract");r("match",1,function(r,c,u){return[function(e){var t=i(this),n=null==e?void 0:e[r];return void 0!==n?n.call(e,t):new RegExp(e)[r](String(t))},function(e){var t=u(c,e,this);if(t.done)return t.value;var n=f(e),r=String(this);if(!n.global)return h(n,r);for(var i,o=n.unicode,a=[],s=n.lastIndex=0;null!==(i=h(n,r));){var l=String(i[0]);""===(a[s]=l)&&(n.lastIndex=p(r,d(n.lastIndex),o)),s++}return 0===s?null:a}]})},{"../internals/advance-string-index":5,"../internals/an-object":7,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":117,"../internals/require-object-coercible":121,"../internals/to-length":144}],299:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/string-pad").end;r({target:"String",proto:!0,forced:e("../internals/string-pad-webkit-bug")},{padEnd:function(e,t){return i(this,e,1<arguments.length?t:void 0)}})},{"../internals/export":49,"../internals/string-pad":133,"../internals/string-pad-webkit-bug":132}],300:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/string-pad").start;r({target:"String",proto:!0,forced:e("../internals/string-pad-webkit-bug")},{padStart:function(e,t){return i(this,e,1<arguments.length?t:void 0)}})},{"../internals/export":49,"../internals/string-pad":133,"../internals/string-pad-webkit-bug":132}],301:[function(e,t,n){var r=e("../internals/export"),a=e("../internals/to-indexed-object"),s=e("../internals/to-length");r({target:"String",stat:!0},{raw:function(e){for(var t=a(e.raw),n=s(t.length),r=arguments.length,i=[],o=0;o<n;)i.push(String(t[o++])),o<r&&i.push(String(arguments[o]));return i.join("")}})},{"../internals/export":49,"../internals/to-indexed-object":142,"../internals/to-length":144}],302:[function(e,t,n){e("../internals/export")({target:"String",proto:!0},{repeat:e("../internals/string-repeat")})},{"../internals/export":49,"../internals/string-repeat":135}],303:[function(e,t,n){"use strict";var r=e("../internals/fix-regexp-well-known-symbol-logic"),k=e("../internals/an-object"),d=e("../internals/to-object"),A=e("../internals/to-length"),I=e("../internals/to-integer"),o=e("../internals/require-object-coercible"),N=e("../internals/advance-string-index"),T=e("../internals/regexp-exec-abstract"),L=Math.max,R=Math.min,p=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,m=/\$([$&'`]|\d\d?)/g;r("replace",2,function(i,w,j,e){var C=e.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,E=e.REPLACE_KEEPS_$0,S=C?"$":"$0";return[function(e,t){var n=o(this),r=null==e?void 0:e[i];return void 0!==r?r.call(e,n,t):w.call(String(n),e,t)},function(e,t){if(!C&&E||"string"==typeof t&&-1===t.indexOf(S)){var n=j(w,e,this,t);if(n.done)return n.value}var r=k(e),i=String(this),o="function"==typeof t;o||(t=String(t));var a=r.global;if(a){var s=r.unicode;r.lastIndex=0}for(var l=[];;){var c=T(r,i);if(null===c)break;if(l.push(c),!a)break;""===String(c[0])&&(r.lastIndex=N(i,A(r.lastIndex),s))}for(var u,f="",d=0,p=0;p<l.length;p++){c=l[p];for(var h=String(c[0]),m=L(R(I(c.index),i.length),0),g=[],y=1;y<c.length;y++)g.push(void 0===(u=c[y])?u:String(u));var b=c.groups;if(o){var v=[h].concat(g,m,i);void 0!==b&&v.push(b);var x=String(t.apply(void 0,v))}else x=O(h,i,m,g,b,t);d<=m&&(f+=i.slice(d,m)+x,d=m+h.length)}return f+i.slice(d)}];function O(o,a,s,l,c,e){var u=s+o.length,f=l.length,t=m;return void 0!==c&&(c=d(c),t=h),w.call(e,t,function(e,t){var n;switch(t.charAt(0)){case"$":return"$";case"&":return o;case"`":return a.slice(0,s);case"'":return a.slice(u);case"<":n=c[t.slice(1,-1)];break;default:var r=+t;if(0==r)return e;if(f<r){var i=p(r/10);return 0===i?e:i<=f?void 0===l[i-1]?t.charAt(1):l[i-1]+t.charAt(1):e}n=l[r-1]}return void 0===n?"":n})}})},{"../internals/advance-string-index":5,"../internals/an-object":7,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":117,"../internals/require-object-coercible":121,"../internals/to-integer":143,"../internals/to-length":144,"../internals/to-object":145}],304:[function(e,t,n){"use strict";var r=e("../internals/fix-regexp-well-known-symbol-logic"),l=e("../internals/an-object"),i=e("../internals/require-object-coercible"),c=e("../internals/same-value"),u=e("../internals/regexp-exec-abstract");r("search",1,function(r,a,s){return[function(e){var t=i(this),n=null==e?void 0:e[r];return void 0!==n?n.call(e,t):new RegExp(e)[r](String(t))},function(e){var t=s(a,e,this);if(t.done)return t.value;var n=l(e),r=String(this),i=n.lastIndex;c(i,0)||(n.lastIndex=0);var o=u(n,r);return c(n.lastIndex,i)||(n.lastIndex=i),null===o?-1:o.index}]})},{"../internals/an-object":7,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":117,"../internals/require-object-coercible":121,"../internals/same-value":122}],305:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("small")},{small:function(){return i(this,"small","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],306:[function(e,t,n){"use strict";var r=e("../internals/fix-regexp-well-known-symbol-logic"),f=e("../internals/is-regexp"),v=e("../internals/an-object"),d=e("../internals/require-object-coercible"),x=e("../internals/species-constructor"),w=e("../internals/advance-string-index"),j=e("../internals/to-length"),C=e("../internals/regexp-exec-abstract"),p=e("../internals/regexp-exec"),i=e("../internals/fails"),h=[].push,E=Math.min,S=4294967295,O=!i(function(){return!RegExp(S,"y")});r("split",2,function(i,g,y){var b;return b="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||1<".".split(/()()/).length||"".split(/.?/).length?function(e,t){var n=String(d(this)),r=void 0===t?S:t>>>0;if(0==r)return[];if(void 0===e)return[n];if(!f(e))return g.call(n,e,r);for(var i,o,a,s=[],l=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),c=0,u=new RegExp(e.source,l+"g");(i=p.call(u,n))&&!(c<(o=u.lastIndex)&&(s.push(n.slice(c,i.index)),1<i.length&&i.index<n.length&&h.apply(s,i.slice(1)),a=i[0].length,c=o,s.length>=r));)u.lastIndex===i.index&&u.lastIndex++;return c===n.length?!a&&u.test("")||s.push(""):s.push(n.slice(c)),s.length>r?s.slice(0,r):s}:"0".split(void 0,0).length?function(e,t){return void 0===e&&0===t?[]:g.call(this,e,t)}:g,[function(e,t){var n=d(this),r=null==e?void 0:e[i];return void 0!==r?r.call(e,n,t):b.call(String(n),e,t)},function(e,t){var n=y(b,e,this,t,b!==g);if(n.done)return n.value;var r=v(e),i=String(this),o=x(r,RegExp),a=r.unicode,s=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(O?"y":"g"),l=new o(O?r:"^(?:"+r.source+")",s),c=void 0===t?S:t>>>0;if(0==c)return[];if(0===i.length)return null===C(l,i)?[i]:[];for(var u=0,f=0,d=[];f<i.length;){l.lastIndex=O?f:0;var p,h=C(l,O?i:i.slice(f));if(null===h||(p=E(j(l.lastIndex+(O?0:f)),i.length))===u)f=w(i,f,a);else{if(d.push(i.slice(u,f)),d.length===c)return d;for(var m=1;m<=h.length-1;m++)if(d.push(h[m]),d.length===c)return d;f=u=p}}return d.push(i.slice(u)),d}]},!O)},{"../internals/advance-string-index":5,"../internals/an-object":7,"../internals/fails":50,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/is-regexp":77,"../internals/regexp-exec":118,"../internals/regexp-exec-abstract":117,"../internals/require-object-coercible":121,"../internals/species-constructor":129,"../internals/to-length":144}],307:[function(e,t,n){"use strict";var r,i=e("../internals/export"),o=e("../internals/object-get-own-property-descriptor").f,a=e("../internals/to-length"),s=e("../internals/not-a-regexp"),l=e("../internals/require-object-coercible"),c=e("../internals/correct-is-regexp-logic"),u=e("../internals/is-pure"),f="".startsWith,d=Math.min,p=c("startsWith");i({target:"String",proto:!0,forced:!!(u||p||(!(r=o(String.prototype,"startsWith"))||r.writable))&&!p},{startsWith:function(e,t){var n=String(l(this));s(e);var r=a(d(1<arguments.length?t:void 0,n.length)),i=String(e);return f?f.call(n,i,r):n.slice(r,r+i.length)===i}})},{"../internals/correct-is-regexp-logic":31,"../internals/export":49,"../internals/is-pure":76,"../internals/not-a-regexp":91,"../internals/object-get-own-property-descriptor":99,"../internals/require-object-coercible":121,"../internals/to-length":144}],308:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("strike")},{strike:function(){return i(this,"strike","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],309:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("sub")},{sub:function(){return i(this,"sub","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],310:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/create-html");r({target:"String",proto:!0,forced:e("../internals/string-html-forced")("sup")},{sup:function(){return i(this,"sup","","")}})},{"../internals/create-html":33,"../internals/export":49,"../internals/string-html-forced":130}],311:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/string-trim").end,o=e("../internals/string-trim-forced")("trimEnd"),a=o?function(){return i(this)}:"".trimEnd;r({target:"String",proto:!0,forced:o},{trimEnd:a,trimRight:a})},{"../internals/export":49,"../internals/string-trim":137,"../internals/string-trim-forced":136}],312:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/string-trim").start,o=e("../internals/string-trim-forced")("trimStart"),a=o?function(){return i(this)}:"".trimStart;r({target:"String",proto:!0,forced:o},{trimStart:a,trimLeft:a})},{"../internals/export":49,"../internals/string-trim":137,"../internals/string-trim-forced":136}],313:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/string-trim").trim;r({target:"String",proto:!0,forced:e("../internals/string-trim-forced")("trim")},{trim:function(){return i(this)}})},{"../internals/export":49,"../internals/string-trim":137,"../internals/string-trim-forced":136}],314:[function(e,t,n){e("../internals/define-well-known-symbol")("asyncIterator")},{"../internals/define-well-known-symbol":41}],315:[function(e,t,n){"use strict";var r=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/global"),a=e("../internals/has"),s=e("../internals/is-object"),l=e("../internals/object-define-property").f,c=e("../internals/copy-constructor-properties"),u=o.Symbol;if(i&&"function"==typeof u&&(!("description"in u.prototype)||void 0!==u().description)){var f={},d=function(e){var t=arguments.length<1||void 0===e?void 0:String(e),n=this instanceof d?new u(t):void 0===t?u():u(t);return""===t&&(f[n]=!0),n};c(d,u);var p=d.prototype=u.prototype;p.constructor=d;var h=p.toString,m="Symbol(test)"==String(u("test")),g=/^Symbol\((.*)\)[^)]+$/;l(p,"description",{configurable:!0,get:function(){var e=s(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(g,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:d})}},{"../internals/copy-constructor-properties":30,"../internals/descriptors":42,"../internals/export":49,"../internals/global":59,"../internals/has":60,"../internals/is-object":75,"../internals/object-define-property":98}],316:[function(e,t,n){e("../internals/define-well-known-symbol")("hasInstance")},{"../internals/define-well-known-symbol":41}],317:[function(e,t,n){e("../internals/define-well-known-symbol")("isConcatSpreadable")},{"../internals/define-well-known-symbol":41}],318:[function(e,t,n){e("../internals/define-well-known-symbol")("iterator")},{"../internals/define-well-known-symbol":41}],319:[function(e,t,n){"use strict";function i(e,t){var n=ne[e]=C(Z[B]);return G(n,{type:W,tag:e,description:t}),f||(n.description=t),n}function r(t,e){b(t);var n=x(e),r=E(n).concat(pe(n));return X(r,function(e){f&&!de.call(n,e)||fe(t,e,n[e])}),t}function o(e,t){var n=x(e),r=w(t,!0);if(n!==$||!m(ne,r)||m(re,r)){var i=K(n,r);return!i||!m(ne,r)||m(n,z)&&n[z][r]||(i.enumerable=!0),i}}function a(e){var t=ee(x(e)),n=[];return X(t,function(e){m(ne,e)||m(M,e)||n.push(e)}),n}var s=e("../internals/export"),l=e("../internals/global"),c=e("../internals/get-built-in"),u=e("../internals/is-pure"),f=e("../internals/descriptors"),d=e("../internals/native-symbol"),p=e("../internals/use-symbol-as-uid"),h=e("../internals/fails"),m=e("../internals/has"),g=e("../internals/is-array"),y=e("../internals/is-object"),b=e("../internals/an-object"),v=e("../internals/to-object"),x=e("../internals/to-indexed-object"),w=e("../internals/to-primitive"),j=e("../internals/create-property-descriptor"),C=e("../internals/object-create"),E=e("../internals/object-keys"),S=e("../internals/object-get-own-property-names"),O=e("../internals/object-get-own-property-names-external"),k=e("../internals/object-get-own-property-symbols"),A=e("../internals/object-get-own-property-descriptor"),I=e("../internals/object-define-property"),N=e("../internals/object-property-is-enumerable"),T=e("../internals/create-non-enumerable-property"),L=e("../internals/redefine"),R=e("../internals/shared"),P=e("../internals/shared-key"),M=e("../internals/hidden-keys"),D=e("../internals/uid"),_=e("../internals/well-known-symbol"),F=e("../internals/well-known-symbol-wrapped"),Y=e("../internals/define-well-known-symbol"),U=e("../internals/set-to-string-tag"),q=e("../internals/internal-state"),X=e("../internals/array-iteration").forEach,z=P("hidden"),W="Symbol",B="prototype",H=_("toPrimitive"),G=q.set,V=q.getterFor(W),$=Object[B],Z=l.Symbol,J=c("JSON","stringify"),K=A.f,Q=I.f,ee=O.f,te=N.f,ne=R("symbols"),re=R("op-symbols"),ie=R("string-to-symbol-registry"),oe=R("symbol-to-string-registry"),ae=R("wks"),se=l.QObject,le=!se||!se[B]||!se[B].findChild,ce=f&&h(function(){return 7!=C(Q({},"a",{get:function(){return Q(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=K($,t);r&&delete $[t],Q(e,t,n),r&&e!==$&&Q($,t,r)}:Q,ue=p?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof Z},fe=function(e,t,n){e===$&&fe(re,t,n),b(e);var r=w(t,!0);return b(n),m(ne,r)?(n.enumerable?(m(e,z)&&e[z][r]&&(e[z][r]=!1),n=C(n,{enumerable:j(0,!1)})):(m(e,z)||Q(e,z,j(1,{})),e[z][r]=!0),ce(e,r,n)):Q(e,r,n)},de=function(e){var t=w(e,!0),n=te.call(this,t);return!(this===$&&m(ne,t)&&!m(re,t))&&(!(n||!m(this,t)||!m(ne,t)||m(this,z)&&this[z][t])||n)},pe=function(e){var t=e===$,n=ee(t?re:x(e)),r=[];return X(n,function(e){!m(ne,e)||t&&!m($,e)||r.push(ne[e])}),r};d||(L((Z=function(e){if(this instanceof Z)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==e?String(e):void 0,n=D(t),r=function(e){this===$&&r.call(re,e),m(this,z)&&m(this[z],n)&&(this[z][n]=!1),ce(this,n,j(1,e))};return f&&le&&ce($,n,{configurable:!0,set:r}),i(n,t)})[B],"toString",function(){return V(this).tag}),L(Z,"withoutSetter",function(e){return i(D(e),e)}),N.f=de,I.f=fe,A.f=o,S.f=O.f=a,k.f=pe,F.f=function(e){return i(_(e),e)},f&&(Q(Z[B],"description",{configurable:!0,get:function(){return V(this).description}}),u||L($,"propertyIsEnumerable",de,{unsafe:!0}))),s({global:!0,wrap:!0,forced:!d,sham:!d},{Symbol:Z}),X(E(ae),function(e){Y(e)}),s({target:W,stat:!0,forced:!d},{for:function(e){var t=String(e);if(m(ie,t))return ie[t];var n=Z(t);return ie[t]=n,oe[n]=t,n},keyFor:function(e){if(!ue(e))throw TypeError(e+" is not a symbol");if(m(oe,e))return oe[e]},useSetter:function(){le=!0},useSimple:function(){le=!1}}),s({target:"Object",stat:!0,forced:!d,sham:!f},{create:function(e,t){return void 0===t?C(e):r(C(e),t)},defineProperty:fe,defineProperties:r,getOwnPropertyDescriptor:o}),s({target:"Object",stat:!0,forced:!d},{getOwnPropertyNames:a,getOwnPropertySymbols:pe}),s({target:"Object",stat:!0,forced:h(function(){k.f(1)})},{getOwnPropertySymbols:function(e){return k.f(v(e))}}),J&&s({target:"JSON",stat:!0,forced:!d||h(function(){var e=Z();return"[null]"!=J([e])||"{}"!=J({a:e})||"{}"!=J(Object(e))})},{stringify:function(e,t,n){for(var r,i=[e],o=1;o<arguments.length;)i.push(arguments[o++]);if((y(r=t)||void 0!==e)&&!ue(e))return g(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ue(t))return t}),i[1]=t,J.apply(null,i)}});Z[B][H]||T(Z[B],H,Z[B].valueOf),U(Z,W),M[z]=!0},{"../internals/an-object":7,"../internals/array-iteration":16,"../internals/create-non-enumerable-property":35,"../internals/create-property-descriptor":36,"../internals/define-well-known-symbol":41,"../internals/descriptors":42,"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":56,"../internals/global":59,"../internals/has":60,"../internals/hidden-keys":61,"../internals/internal-state":70,"../internals/is-array":72,"../internals/is-object":75,"../internals/is-pure":76,"../internals/native-symbol":87,"../internals/object-create":96,"../internals/object-define-property":98,"../internals/object-get-own-property-descriptor":99,"../internals/object-get-own-property-names":101,"../internals/object-get-own-property-names-external":100,"../internals/object-get-own-property-symbols":102,"../internals/object-keys":105,"../internals/object-property-is-enumerable":106,"../internals/redefine":116,"../internals/set-to-string-tag":125,"../internals/shared":128,"../internals/shared-key":126,"../internals/to-indexed-object":142,"../internals/to-object":145,"../internals/to-primitive":148,"../internals/uid":153,"../internals/use-symbol-as-uid":154,"../internals/well-known-symbol":156,"../internals/well-known-symbol-wrapped":155}],320:[function(e,t,n){e("../internals/define-well-known-symbol")("matchAll")},{"../internals/define-well-known-symbol":41}],321:[function(e,t,n){e("../internals/define-well-known-symbol")("match")},{"../internals/define-well-known-symbol":41}],322:[function(e,t,n){e("../internals/define-well-known-symbol")("replace")},{"../internals/define-well-known-symbol":41}],323:[function(e,t,n){e("../internals/define-well-known-symbol")("search")},{"../internals/define-well-known-symbol":41}],324:[function(e,t,n){e("../internals/define-well-known-symbol")("species")},{"../internals/define-well-known-symbol":41}],325:[function(e,t,n){e("../internals/define-well-known-symbol")("split")},{"../internals/define-well-known-symbol":41}],326:[function(e,t,n){e("../internals/define-well-known-symbol")("toPrimitive")},{"../internals/define-well-known-symbol":41}],327:[function(e,t,n){e("../internals/define-well-known-symbol")("toStringTag")},{"../internals/define-well-known-symbol":41}],328:[function(e,t,n){e("../internals/define-well-known-symbol")("unscopables")},{"../internals/define-well-known-symbol":41}],329:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-copy-within"),o=r.aTypedArray;(0,r.exportTypedArrayMethod)("copyWithin",function(e,t,n){return i.call(o(this),e,t,2<arguments.length?n:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-copy-within":11}],330:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-iteration").every,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("every",function(e,t){return i(o(this),e,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],331:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-fill"),o=r.aTypedArray;(0,r.exportTypedArrayMethod)("fill",function(e){return i.apply(o(this),arguments)})},{"../internals/array-buffer-view-core":9,"../internals/array-fill":12}],332:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),s=e("../internals/array-iteration").filter,l=e("../internals/species-constructor"),c=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("filter",function(e,t){for(var n=s(c(this),e,1<arguments.length?t:void 0),r=l(this,this.constructor),i=0,o=n.length,a=new(u(r))(o);i<o;)a[i]=n[i++];return a})},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16,"../internals/species-constructor":129}],333:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-iteration").findIndex,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("findIndex",function(e,t){return i(o(this),e,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],334:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-iteration").find,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("find",function(e,t){return i(o(this),e,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],335:[function(e,t,n){e("../internals/typed-array-constructor")("Float32",function(r){return function(e,t,n){return r(this,e,t,n)}})},{"../internals/typed-array-constructor":150}],336:[function(e,t,n){e("../internals/typed-array-constructor")("Float64",function(r){return function(e,t,n){return r(this,e,t,n)}})},{"../internals/typed-array-constructor":150}],337:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-iteration").forEach,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("forEach",function(e,t){i(o(this),e,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],338:[function(e,t,n){"use strict";var r=e("../internals/typed-array-constructors-require-wrappers");(0,e("../internals/array-buffer-view-core").exportTypedArrayStaticMethod)("from",e("../internals/typed-array-from"),r)},{"../internals/array-buffer-view-core":9,"../internals/typed-array-constructors-require-wrappers":151,"../internals/typed-array-from":152}],339:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-includes").includes,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("includes",function(e,t){return i(o(this),e,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-includes":15}],340:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-includes").indexOf,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("indexOf",function(e,t){return i(o(this),e,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-includes":15}],341:[function(e,t,n){e("../internals/typed-array-constructor")("Int16",function(r){return function(e,t,n){return r(this,e,t,n)}})},{"../internals/typed-array-constructor":150}],342:[function(e,t,n){e("../internals/typed-array-constructor")("Int32",function(r){return function(e,t,n){return r(this,e,t,n)}})},{"../internals/typed-array-constructor":150}],343:[function(e,t,n){e("../internals/typed-array-constructor")("Int8",function(r){return function(e,t,n){return r(this,e,t,n)}})},{"../internals/typed-array-constructor":150}],344:[function(e,t,n){"use strict";function r(){return c.call(d(this))}var i=e("../internals/global"),o=e("../internals/array-buffer-view-core"),a=e("../modules/es.array.iterator"),s=e("../internals/well-known-symbol")("iterator"),l=i.Uint8Array,c=a.values,u=a.keys,f=a.entries,d=o.aTypedArray,p=o.exportTypedArrayMethod,h=l&&l.prototype[s],m=!!h&&("values"==h.name||null==h.name);p("entries",function(){return f.call(d(this))}),p("keys",function(){return u.call(d(this))}),p("values",r,!m),p(s,r,!m)},{"../internals/array-buffer-view-core":9,"../internals/global":59,"../internals/well-known-symbol":156,"../modules/es.array.iterator":175}],345:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=r.aTypedArray,o=r.exportTypedArrayMethod,a=[].join;o("join",function(e){return a.apply(i(this),arguments)})},{"../internals/array-buffer-view-core":9}],346:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-last-index-of"),o=r.aTypedArray;(0,r.exportTypedArrayMethod)("lastIndexOf",function(e){return i.apply(o(this),arguments)})},{"../internals/array-buffer-view-core":9,"../internals/array-last-index-of":17}],347:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-iteration").map,o=e("../internals/species-constructor"),a=r.aTypedArray,s=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("map",function(e,t){return i(a(this),e,1<arguments.length?t:void 0,function(e,t){return new(s(o(e,e.constructor)))(t)})})},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16,"../internals/species-constructor":129}],348:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/typed-array-constructors-require-wrappers"),o=r.aTypedArrayConstructor;(0,r.exportTypedArrayStaticMethod)("of",function(){for(var e=0,t=arguments.length,n=new(o(this))(t);e<t;)n[e]=arguments[e++];return n},i)},{"../internals/array-buffer-view-core":9,"../internals/typed-array-constructors-require-wrappers":151}],349:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-reduce").right,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduceRight",function(e,t){return i(o(this),e,arguments.length,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-reduce":21}],350:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-reduce").left,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduce",function(e,t){return i(o(this),e,arguments.length,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-reduce":21}],351:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=r.aTypedArray,o=r.exportTypedArrayMethod,a=Math.floor;o("reverse",function(){for(var e,t=i(this).length,n=a(t/2),r=0;r<n;)e=this[r],this[r++]=this[--t],this[t]=e;return this})},{"../internals/array-buffer-view-core":9}],352:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),s=e("../internals/to-length"),l=e("../internals/to-offset"),c=e("../internals/to-object"),i=e("../internals/fails"),u=r.aTypedArray;(0,r.exportTypedArrayMethod)("set",function(e,t){u(this);var n=l(1<arguments.length?t:void 0,1),r=this.length,i=c(e),o=s(i.length),a=0;if(r<o+n)throw RangeError("Wrong length");for(;a<o;)this[n+a]=i[a++]},i(function(){new Int8Array(1).set({})}))},{"../internals/array-buffer-view-core":9,"../internals/fails":50,"../internals/to-length":144,"../internals/to-object":145,"../internals/to-offset":146}],353:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),s=e("../internals/species-constructor"),i=e("../internals/fails"),l=r.aTypedArray,c=r.aTypedArrayConstructor,o=r.exportTypedArrayMethod,u=[].slice;o("slice",function(e,t){for(var n=u.call(l(this),e,t),r=s(this,this.constructor),i=0,o=n.length,a=new(c(r))(o);i<o;)a[i]=n[i++];return a},i(function(){new Int8Array(1).slice()}))},{"../internals/array-buffer-view-core":9,"../internals/fails":50,"../internals/species-constructor":129}],354:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=e("../internals/array-iteration").some,o=r.aTypedArray;(0,r.exportTypedArrayMethod)("some",function(e,t){return i(o(this),e,1<arguments.length?t:void 0)})},{"../internals/array-buffer-view-core":9,"../internals/array-iteration":16}],355:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),i=r.aTypedArray,o=r.exportTypedArrayMethod,a=[].sort;o("sort",function(e){return a.call(i(this),e)})},{"../internals/array-buffer-view-core":9}],356:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core"),o=e("../internals/to-length"),a=e("../internals/to-absolute-index"),s=e("../internals/species-constructor"),l=r.aTypedArray;(0,r.exportTypedArrayMethod)("subarray",function(e,t){var n=l(this),r=n.length,i=a(e,r);return new(s(n,n.constructor))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,o((void 0===t?r:a(t,r))-i))})},{"../internals/array-buffer-view-core":9,"../internals/species-constructor":129,"../internals/to-absolute-index":140,"../internals/to-length":144}],357:[function(e,t,n){"use strict";var r=e("../internals/global"),i=e("../internals/array-buffer-view-core"),o=e("../internals/fails"),a=r.Int8Array,s=i.aTypedArray,l=i.exportTypedArrayMethod,c=[].toLocaleString,u=[].slice,f=!!a&&o(function(){c.call(new a(1))});l("toLocaleString",function(){return c.apply(f?u.call(s(this)):s(this),arguments)},o(function(){return[1,2].toLocaleString()!=new a([1,2]).toLocaleString()})||!o(function(){a.prototype.toLocaleString.call([1,2])}))},{"../internals/array-buffer-view-core":9,"../internals/fails":50,"../internals/global":59}],358:[function(e,t,n){"use strict";var r=e("../internals/array-buffer-view-core").exportTypedArrayMethod,i=e("../internals/fails"),o=e("../internals/global").Uint8Array,a=o&&o.prototype||{},s=[].toString,l=[].join;i(function(){s.call({})})&&(s=function(){return l.call(this)}),r("toString",s,a.toString!=s)},{"../internals/array-buffer-view-core":9,"../internals/fails":50,"../internals/global":59}],359:[function(e,t,n){e("../internals/typed-array-constructor")("Uint16",function(r){return function(e,t,n){return r(this,e,t,n)}})},{"../internals/typed-array-constructor":150}],360:[function(e,t,n){e("../internals/typed-array-constructor")("Uint32",function(r){return function(e,t,n){return r(this,e,t,n)}})},{"../internals/typed-array-constructor":150}],361:[function(e,t,n){e("../internals/typed-array-constructor")("Uint8",function(r){return function(e,t,n){return r(this,e,t,n)}})},{"../internals/typed-array-constructor":150}],362:[function(e,t,n){e("../internals/typed-array-constructor")("Uint8",function(r){return function(e,t,n){return r(this,e,t,n)}},!0)},{"../internals/typed-array-constructor":150}],363:[function(e,t,n){"use strict";function r(t){return function(e){return t(this,arguments.length?e:void 0)}}var i,o=e("../internals/global"),a=e("../internals/redefine-all"),s=e("../internals/internal-metadata"),l=e("../internals/collection"),c=e("../internals/collection-weak"),u=e("../internals/is-object"),f=e("../internals/internal-state").enforce,d=e("../internals/native-weak-map"),p=!o.ActiveXObject&&"ActiveXObject"in o,h=Object.isExtensible,m=t.exports=l("WeakMap",r,c);if(d&&p){i=c.getConstructor(r,"WeakMap",!0),s.REQUIRED=!0;var g=m.prototype,y=g.delete,b=g.has,v=g.get,x=g.set;a(g,{delete:function(e){if(!u(e)||h(e))return y.call(this,e);var t=f(this);return t.frozen||(t.frozen=new i),y.call(this,e)||t.frozen.delete(e)},has:function(e){if(!u(e)||h(e))return b.call(this,e);var t=f(this);return t.frozen||(t.frozen=new i),b.call(this,e)||t.frozen.has(e)},get:function(e){if(!u(e)||h(e))return v.call(this,e);var t=f(this);return t.frozen||(t.frozen=new i),b.call(this,e)?v.call(this,e):t.frozen.get(e)},set:function(e,t){if(u(e)&&!h(e)){var n=f(this);n.frozen||(n.frozen=new i),b.call(this,e)?x.call(this,e,t):n.frozen.set(e,t)}else x.call(this,e,t);return this}})}},{"../internals/collection":29,"../internals/collection-weak":28,"../internals/global":59,"../internals/internal-metadata":69,"../internals/internal-state":70,"../internals/is-object":75,"../internals/native-weak-map":89,"../internals/redefine-all":115}],364:[function(e,t,n){"use strict";e("../internals/collection")("WeakSet",function(t){return function(e){return t(this,arguments.length?e:void 0)}},e("../internals/collection-weak"))},{"../internals/collection":29,"../internals/collection-weak":28}],365:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/dom-iterables"),o=e("../internals/array-for-each"),a=e("../internals/create-non-enumerable-property");for(var s in i){var l=r[s],c=l&&l.prototype;if(c&&c.forEach!==o)try{a(c,"forEach",o)}catch(e){c.forEach=o}}},{"../internals/array-for-each":13,"../internals/create-non-enumerable-property":35,"../internals/dom-iterables":44,"../internals/global":59}],366:[function(e,t,n){var r=e("../internals/global"),i=e("../internals/dom-iterables"),o=e("../modules/es.array.iterator"),a=e("../internals/create-non-enumerable-property"),s=e("../internals/well-known-symbol"),l=s("iterator"),c=s("toStringTag"),u=o.values;for(var f in i){var d=r[f],p=d&&d.prototype;if(p){if(p[l]!==u)try{a(p,l,u)}catch(e){p[l]=u}if(p[c]||a(p,c,f),i[f])for(var h in o)if(p[h]!==o[h])try{a(p,h,o[h])}catch(e){p[h]=o[h]}}}},{"../internals/create-non-enumerable-property":35,"../internals/dom-iterables":44,"../internals/global":59,"../internals/well-known-symbol":156,"../modules/es.array.iterator":175}],367:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/global"),o=e("../internals/task");r({global:!0,bind:!0,enumerable:!0,forced:!i.setImmediate||!i.clearImmediate},{setImmediate:o.set,clearImmediate:o.clear})},{"../internals/export":49,"../internals/global":59,"../internals/task":138}],368:[function(e,t,n){var r=e("../internals/export"),i=e("../internals/global"),o=e("../internals/microtask"),a=e("../internals/classof-raw"),s=i.process,l="process"==a(s);r({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&s.domain;o(t?t.bind(e):e)}})},{"../internals/classof-raw":25,"../internals/export":49,"../internals/global":59,"../internals/microtask":85}],369:[function(e,t,n){function r(i){return function(e,t){var n=2<arguments.length,r=n?s.call(arguments,2):void 0;return i(n?function(){("function"==typeof e?e:Function(e)).apply(this,r)}:e,t)}}var i=e("../internals/export"),o=e("../internals/global"),a=e("../internals/engine-user-agent"),s=[].slice;i({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:r(o.setTimeout),setInterval:r(o.setInterval)})},{"../internals/engine-user-agent":46,"../internals/export":49,"../internals/global":59}],370:[function(e,t,n){"use strict";e("../modules/es.array.iterator");function i(t){try{return decodeURIComponent(t)}catch(e){return t}}function a(e){var t,n=e.replace(_," "),r=4;try{return decodeURIComponent(n)}catch(e){for(;r;)n=n.replace((t=r--,F[t-1]||(F[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))),i);return n}}function r(e){return U[e]}function o(e){return encodeURIComponent(e).replace(Y,r)}function d(e,t){if(t)for(var n,r,i=t.split("&"),o=0;o<i.length;)(n=i[o++]).length&&(r=n.split("="),e.push({key:a(r.shift()),value:a(r.join("="))}))}function p(e){this.entries.length=0,d(this.entries,e)}function c(e,t){if(e<t)throw TypeError("Not enough arguments")}var s=e("../internals/export"),l=e("../internals/get-built-in"),u=e("../internals/native-url"),f=e("../internals/redefine"),h=e("../internals/redefine-all"),m=e("../internals/set-to-string-tag"),g=e("../internals/create-iterator-constructor"),y=e("../internals/internal-state"),b=e("../internals/an-instance"),v=e("../internals/has"),x=e("../internals/function-bind-context"),w=e("../internals/classof"),j=e("../internals/an-object"),C=e("../internals/is-object"),E=e("../internals/object-create"),S=e("../internals/create-property-descriptor"),O=e("../internals/get-iterator"),k=e("../internals/get-iterator-method"),A=e("../internals/well-known-symbol"),I=l("fetch"),N=l("Headers"),T=A("iterator"),L="URLSearchParams",R=L+"Iterator",P=y.set,M=y.getterFor(L),D=y.getterFor(R),_=/\+/g,F=Array(4),Y=/[!'()~]|%20/g,U={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},q=g(function(e,t){P(this,{type:R,iterator:O(M(e).entries),kind:t})},"Iterator",function(){var e=D(this),t=e.kind,n=e.iterator.next(),r=n.value;return n.done||(n.value="keys"===t?r.key:"values"===t?r.value:[r.key,r.value]),n}),X=function(e){b(this,X,L);var t,n,r,i,o,a,s,l,c,u=0<arguments.length?e:void 0,f=[];if(P(this,{type:L,entries:f,updateURL:function(){},updateSearchParams:p}),void 0!==u)if(C(u))if("function"==typeof(t=k(u)))for(r=(n=t.call(u)).next;!(i=r.call(n)).done;){if((s=(a=(o=O(j(i.value))).next).call(o)).done||(l=a.call(o)).done||!a.call(o).done)throw TypeError("Expected sequence with length 2");f.push({key:s.value+"",value:l.value+""})}else for(c in u)v(u,c)&&f.push({key:c,value:u[c]+""});else d(f,"string"==typeof u?"?"===u.charAt(0)?u.slice(1):u:u+"")},z=X.prototype;h(z,{append:function(e,t){c(arguments.length,2);var n=M(this);n.entries.push({key:e+"",value:t+""}),n.updateURL()},delete:function(e){c(arguments.length,1);for(var t=M(this),n=t.entries,r=e+"",i=0;i<n.length;)n[i].key===r?n.splice(i,1):i++;t.updateURL()},get:function(e){c(arguments.length,1);for(var t=M(this).entries,n=e+"",r=0;r<t.length;r++)if(t[r].key===n)return t[r].value;return null},getAll:function(e){c(arguments.length,1);for(var t=M(this).entries,n=e+"",r=[],i=0;i<t.length;i++)t[i].key===n&&r.push(t[i].value);return r},has:function(e){c(arguments.length,1);for(var t=M(this).entries,n=e+"",r=0;r<t.length;)if(t[r++].key===n)return!0;return!1},set:function(e,t){c(arguments.length,1);for(var n,r=M(this),i=r.entries,o=!1,a=e+"",s=t+"",l=0;l<i.length;l++)(n=i[l]).key===a&&(o?i.splice(l--,1):(o=!0,n.value=s));o||i.push({key:a,value:s}),r.updateURL()},sort:function(){var e,t,n,r=M(this),i=r.entries,o=i.slice();for(n=i.length=0;n<o.length;n++){for(e=o[n],t=0;t<n;t++)if(i[t].key>e.key){i.splice(t,0,e);break}t===n&&i.push(e)}r.updateURL()},forEach:function(e,t){for(var n,r=M(this).entries,i=x(e,1<arguments.length?t:void 0,3),o=0;o<r.length;)i((n=r[o++]).value,n.key,this)},keys:function(){return new q(this,"keys")},values:function(){return new q(this,"values")},entries:function(){return new q(this,"entries")}},{enumerable:!0}),f(z,T,z.entries),f(z,"toString",function(){for(var e,t=M(this).entries,n=[],r=0;r<t.length;)e=t[r++],n.push(o(e.key)+"="+o(e.value));return n.join("&")},{enumerable:!0}),m(X,L),s({global:!0,forced:!u},{URLSearchParams:X}),u||"function"!=typeof I||"function"!=typeof N||s({global:!0,enumerable:!0,forced:!0},{fetch:function(e,t){var n,r,i,o=[e];return 1<arguments.length&&(C(n=t)&&(r=n.body,w(r)===L&&((i=n.headers?new N(n.headers):new N).has("content-type")||i.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=E(n,{body:S(0,String(r)),headers:S(0,i)}))),o.push(n)),I.apply(this,o)}}),t.exports={URLSearchParams:X,getState:M}},{"../internals/an-instance":6,"../internals/an-object":7,"../internals/classof":26,"../internals/create-iterator-constructor":34,"../internals/create-property-descriptor":36,"../internals/export":49,"../internals/function-bind-context":54,"../internals/get-built-in":56,"../internals/get-iterator":58,"../internals/get-iterator-method":57,"../internals/has":60,"../internals/internal-state":70,"../internals/is-object":75,"../internals/native-url":88,"../internals/object-create":96,"../internals/redefine":116,"../internals/redefine-all":115,"../internals/set-to-string-tag":125,"../internals/well-known-symbol":156,"../modules/es.array.iterator":175}],371:[function(e,t,n){"use strict";e("../modules/es.string.iterator");function x(e,t){var n,r,i;if("["==t.charAt(0)){if("]"!=t.charAt(t.length-1))return D;if(!(n=Z(t.slice(1,-1))))return D;e.host=n}else if(re(e)){if(t=g(t),B.test(t))return D;if(null===(n=$(t)))return D;e.host=n}else{if(H.test(t))return D;for(n="",r=k(t),i=0;i<r.length;i++)n+=te(r[i],J);e.host=n}}function u(e){var t,n,r,i;if("number"==typeof e){for(t=[],n=0;n<4;n++)t.unshift(e%256),e=R(e/256);return t.join(".")}if("object"!=typeof e)return e;for(t="",r=function(e){for(var t=null,n=1,r=null,i=0,o=0;o<8;o++)0!==e[o]?(n<i&&(t=r,n=i),r=null,i=0):(null===r&&(r=o),++i);return n<i&&(t=r,n=i),t}(e),n=0;n<8;n++)i&&0===e[n]||(i=i&&!1,r===n?(t+=n?":":"::",i=!0):(t+=e[n].toString(16),n<7&&(t+=":")));return"["+t+"]"}function w(e){return""!=e.username||""!=e.password}function i(e){return!e.host||e.cannotBeABaseURL||"file"==e.scheme}function j(e,t){var n;return 2==e.length&&F.test(e.charAt(0))&&(":"==(n=e.charAt(1))||!t&&"|"==n)}function C(e){var t;return 1<e.length&&j(e.slice(0,2))&&(2==e.length||"/"===(t=e.charAt(2))||"\\"===t||"?"===t||"#"===t)}function E(e){var t=e.path,n=t.length;!n||"file"==e.scheme&&1==n&&j(t[0],!0)||t.pop()}function f(e,t,n,r){var i,o,a,s,l,c,u=n||ie,f=0,d="",p=!1,h=!1,m=!1;for(n||(e.scheme="",e.username="",e.password="",e.host=null,e.port=null,e.path=[],e.query=null,e.fragment=null,e.cannotBeABaseURL=!1,t=t.replace(G,"")),t=t.replace(V,""),i=k(t);f<=i.length;){switch(o=i[f],u){case ie:if(!o||!F.test(o)){if(n)return M;u=ae;continue}d+=o.toLowerCase(),u=oe;break;case oe:if(o&&(Y.test(o)||"+"==o||"-"==o||"."==o))d+=o.toLowerCase();else{if(":"!=o){if(n)return M;d="",u=ae,f=0;continue}if(n&&(re(e)!=O(ne,d)||"file"==d&&(w(e)||null!==e.port)||"file"==e.scheme&&!e.host))return;if(e.scheme=d,n)return void(re(e)&&ne[e.scheme]==e.port&&(e.port=null));d="","file"==e.scheme?u=ye:re(e)&&r&&r.scheme==e.scheme?u=se:re(e)?u=fe:"/"==i[f+1]?(u=le,f++):(e.cannotBeABaseURL=!0,e.path.push(""),u=je)}break;case ae:if(!r||r.cannotBeABaseURL&&"#"!=o)return M;if(r.cannotBeABaseURL&&"#"==o){e.scheme=r.scheme,e.path=r.path.slice(),e.query=r.query,e.fragment="",e.cannotBeABaseURL=!0,u=Ee;break}u="file"==r.scheme?ye:ce;continue;case se:if("/"!=o||"/"!=i[f+1]){u=ce;continue}u=de,f++;break;case le:if("/"==o){u=pe;break}u=we;continue;case ce:if(e.scheme=r.scheme,o==S)e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,e.path=r.path.slice(),e.query=r.query;else if("/"==o||"\\"==o&&re(e))u=ue;else if("?"==o)e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,e.path=r.path.slice(),e.query="",u=Ce;else{if("#"!=o){e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,e.path=r.path.slice(),e.path.pop(),u=we;continue}e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,e.path=r.path.slice(),e.query=r.query,e.fragment="",u=Ee}break;case ue:if(!re(e)||"/"!=o&&"\\"!=o){if("/"!=o){e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,u=we;continue}u=pe}else u=de;break;case fe:if(u=de,"/"!=o||"/"!=d.charAt(f+1))continue;f++;break;case de:if("/"==o||"\\"==o)break;u=pe;continue;case pe:if("@"==o){p&&(d="%40"+d),p=!0,a=k(d);for(var g=0;g<a.length;g++){var y=a[g];if(":"!=y||m){var b=te(y,ee);m?e.password+=b:e.username+=b}else m=!0}d=""}else if(o==S||"/"==o||"?"==o||"#"==o||"\\"==o&&re(e)){if(p&&""==d)return"Invalid authority";f-=k(d).length+1,d="",u=he}else d+=o;break;case he:case me:if(n&&"file"==e.scheme){u=ve;continue}if(":"!=o||h){if(o==S||"/"==o||"?"==o||"#"==o||"\\"==o&&re(e)){if(re(e)&&""==d)return D;if(n&&""==d&&(w(e)||null!==e.port))return;if(s=x(e,d))return s;if(d="",u=xe,n)return;continue}"["==o?h=!0:"]"==o&&(h=!1),d+=o}else{if(""==d)return D;if(s=x(e,d))return s;if(d="",u=ge,n==me)return}break;case ge:if(!U.test(o)){if(o==S||"/"==o||"?"==o||"#"==o||"\\"==o&&re(e)||n){if(""!=d){var v=parseInt(d,10);if(65535<v)return _;e.port=re(e)&&v===ne[e.scheme]?null:v,d=""}if(n)return;u=xe;continue}return _}d+=o;break;case ye:if(e.scheme="file","/"==o||"\\"==o)u=be;else{if(!r||"file"!=r.scheme){u=we;continue}if(o==S)e.host=r.host,e.path=r.path.slice(),e.query=r.query;else if("?"==o)e.host=r.host,e.path=r.path.slice(),e.query="",u=Ce;else{if("#"!=o){C(i.slice(f).join(""))||(e.host=r.host,e.path=r.path.slice(),E(e)),u=we;continue}e.host=r.host,e.path=r.path.slice(),e.query=r.query,e.fragment="",u=Ee}}break;case be:if("/"==o||"\\"==o){u=ve;break}r&&"file"==r.scheme&&!C(i.slice(f).join(""))&&(j(r.path[0],!0)?e.path.push(r.path[0]):e.host=r.host),u=we;continue;case ve:if(o==S||"/"==o||"\\"==o||"?"==o||"#"==o){if(!n&&j(d))u=we;else if(""==d){if(e.host="",n)return;u=xe}else{if(s=x(e,d))return s;if("localhost"==e.host&&(e.host=""),n)return;d="",u=xe}continue}d+=o;break;case xe:if(re(e)){if(u=we,"/"!=o&&"\\"!=o)continue}else if(n||"?"!=o)if(n||"#"!=o){if(o!=S&&(u=we,"/"!=o))continue}else e.fragment="",u=Ee;else e.query="",u=Ce;break;case we:if(o==S||"/"==o||"\\"==o&&re(e)||!n&&("?"==o||"#"==o)){if(".."===(c=(c=d).toLowerCase())||"%2e."===c||".%2e"===c||"%2e%2e"===c?(E(e),"/"==o||"\\"==o&&re(e)||e.path.push("")):"."===(l=d)||"%2e"===l.toLowerCase()?"/"==o||"\\"==o&&re(e)||e.path.push(""):("file"==e.scheme&&!e.path.length&&j(d)&&(e.host&&(e.host=""),d=d.charAt(0)+":"),e.path.push(d)),d="","file"==e.scheme&&(o==S||"?"==o||"#"==o))for(;1<e.path.length&&""===e.path[0];)e.path.shift();"?"==o?(e.query="",u=Ce):"#"==o&&(e.fragment="",u=Ee)}else d+=te(o,Q);break;case je:"?"==o?(e.query="",u=Ce):"#"==o?(e.fragment="",u=Ee):o!=S&&(e.path[0]+=te(o,J));break;case Ce:n||"#"!=o?o!=S&&("'"==o&&re(e)?e.query+="%27":e.query+="#"==o?"%23":te(o,J)):(e.fragment="",u=Ee);break;case Ee:o!=S&&(e.fragment+=te(o,K))}f++}}function r(e,t){return{get:e,set:t,configurable:!0,enumerable:!0}}var S,o=e("../internals/export"),d=e("../internals/descriptors"),a=e("../internals/native-url"),s=e("../internals/global"),l=e("../internals/object-define-properties"),c=e("../internals/redefine"),p=e("../internals/an-instance"),O=e("../internals/has"),h=e("../internals/object-assign"),k=e("../internals/array-from"),m=e("../internals/string-multibyte").codeAt,g=e("../internals/string-punycode-to-ascii"),y=e("../internals/set-to-string-tag"),b=e("../modules/web.url-search-params"),v=e("../internals/internal-state"),A=s.URL,I=b.URLSearchParams,N=b.getState,T=v.set,L=v.getterFor("URL"),R=Math.floor,P=Math.pow,M="Invalid scheme",D="Invalid host",_="Invalid port",F=/[A-Za-z]/,Y=/[\d+-.A-Za-z]/,U=/\d/,q=/^(0x|0X)/,X=/^[0-7]+$/,z=/^\d+$/,W=/^[\dA-Fa-f]+$/,B=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,H=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,G=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,V=/[\u0009\u000A\u000D]/g,$=function(e){var t,n,r,i,o,a,s,l=e.split(".");if(l.length&&""==l[l.length-1]&&l.pop(),4<(t=l.length))return e;for(n=[],r=0;r<t;r++){if(""==(i=l[r]))return e;if(o=10,1<i.length&&"0"==i.charAt(0)&&(o=q.test(i)?16:8,i=i.slice(8==o?1:2)),""===i)a=0;else{if(!(10==o?z:8==o?X:W).test(i))return e;a=parseInt(i,o)}n.push(a)}for(r=0;r<t;r++)if(a=n[r],r==t-1){if(a>=P(256,5-t))return null}else if(255<a)return null;for(s=n.pop(),r=0;r<n.length;r++)s+=n[r]*P(256,3-r);return s},Z=function(e){function t(){return e.charAt(d)}var n,r,i,o,a,s,l,c=[0,0,0,0,0,0,0,0],u=0,f=null,d=0;if(":"==t()){if(":"!=e.charAt(1))return;d+=2,f=++u}for(;t();){if(8==u)return;if(":"!=t()){for(n=r=0;r<4&&W.test(t());)n=16*n+parseInt(t(),16),d++,r++;if("."==t()){if(0==r)return;if(d-=r,6<u)return;for(i=0;t();){if(o=null,0<i){if(!("."==t()&&i<4))return;d++}if(!U.test(t()))return;for(;U.test(t());){if(a=parseInt(t(),10),null===o)o=a;else{if(0==o)return;o=10*o+a}if(255<o)return;d++}c[u]=256*c[u]+o,2!=++i&&4!=i||u++}if(4!=i)return;break}if(":"==t()){if(d++,!t())return}else if(t())return;c[u++]=n}else{if(null!==f)return;d++,f=++u}}if(null!==f)for(s=u-f,u=7;0!=u&&0<s;)l=c[u],c[u--]=c[f+s-1],c[f+--s]=l;else if(8!=u)return;return c},J={},K=h({},J,{" ":1,'"':1,"<":1,">":1,"`":1}),Q=h({},K,{"#":1,"?":1,"{":1,"}":1}),ee=h({},Q,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),te=function(e,t){var n=m(e,0);return 32<n&&n<127&&!O(t,e)?e:encodeURIComponent(e)},ne={ftp:21,file:null,http:80,https:443,ws:80,wss:443},re=function(e){return O(ne,e.scheme)},ie={},oe={},ae={},se={},le={},ce={},ue={},fe={},de={},pe={},he={},me={},ge={},ye={},be={},ve={},xe={},we={},je={},Ce={},Ee={},Se=function(e,t){var n,r,i=p(this,Se,"URL"),o=1<arguments.length?t:void 0,a=String(e),s=T(i,{type:"URL"});if(void 0!==o)if(o instanceof Se)n=L(o);else if(r=f(n={},String(o)))throw TypeError(r);if(r=f(s,a,null,n))throw TypeError(r);var l=s.searchParams=new I,c=N(l);c.updateSearchParams(s.query),c.updateURL=function(){s.query=String(l)||null},d||(i.href=ke.call(i),i.origin=Ae.call(i),i.protocol=Ie.call(i),i.username=Ne.call(i),i.password=Te.call(i),i.host=Le.call(i),i.hostname=Re.call(i),i.port=Pe.call(i),i.pathname=Me.call(i),i.search=De.call(i),i.searchParams=_e.call(i),i.hash=Fe.call(i))},Oe=Se.prototype,ke=function(){var e=L(this),t=e.scheme,n=e.username,r=e.password,i=e.host,o=e.port,a=e.path,s=e.query,l=e.fragment,c=t+":";return null!==i?(c+="//",w(e)&&(c+=n+(r?":"+r:"")+"@"),c+=u(i),null!==o&&(c+=":"+o)):"file"==t&&(c+="//"),c+=e.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==s&&(c+="?"+s),null!==l&&(c+="#"+l),c},Ae=function(){var e=L(this),t=e.scheme,n=e.port;if("blob"==t)try{return new URL(t.path[0]).origin}catch(e){return"null"}return"file"!=t&&re(e)?t+"://"+u(e.host)+(null!==n?":"+n:""):"null"},Ie=function(){return L(this).scheme+":"},Ne=function(){return L(this).username},Te=function(){return L(this).password},Le=function(){var e=L(this),t=e.host,n=e.port;return null===t?"":null===n?u(t):u(t)+":"+n},Re=function(){var e=L(this).host;return null===e?"":u(e)},Pe=function(){var e=L(this).port;return null===e?"":String(e)},Me=function(){var e=L(this),t=e.path;return e.cannotBeABaseURL?t[0]:t.length?"/"+t.join("/"):""},De=function(){var e=L(this).query;return e?"?"+e:""},_e=function(){return L(this).searchParams},Fe=function(){var e=L(this).fragment;return e?"#"+e:""};if(d&&l(Oe,{href:r(ke,function(e){var t=L(this),n=String(e),r=f(t,n);if(r)throw TypeError(r);N(t.searchParams).updateSearchParams(t.query)}),origin:r(Ae),protocol:r(Ie,function(e){var t=L(this);f(t,String(e)+":",ie)}),username:r(Ne,function(e){var t=L(this),n=k(String(e));if(!i(t)){t.username="";for(var r=0;r<n.length;r++)t.username+=te(n[r],ee)}}),password:r(Te,function(e){var t=L(this),n=k(String(e));if(!i(t)){t.password="";for(var r=0;r<n.length;r++)t.password+=te(n[r],ee)}}),host:r(Le,function(e){var t=L(this);t.cannotBeABaseURL||f(t,String(e),he)}),hostname:r(Re,function(e){var t=L(this);t.cannotBeABaseURL||f(t,String(e),me)}),port:r(Pe,function(e){var t=L(this);i(t)||(""==(e=String(e))?t.port=null:f(t,e,ge))}),pathname:r(Me,function(e){var t=L(this);t.cannotBeABaseURL||(t.path=[],f(t,e+"",xe))}),search:r(De,function(e){var t=L(this);""==(e=String(e))?t.query=null:("?"==e.charAt(0)&&(e=e.slice(1)),t.query="",f(t,e,Ce)),N(t.searchParams).updateSearchParams(t.query)}),searchParams:r(_e),hash:r(Fe,function(e){var t=L(this);""!=(e=String(e))?("#"==e.charAt(0)&&(e=e.slice(1)),t.fragment="",f(t,e,Ee)):t.fragment=null})}),c(Oe,"toJSON",function(){return ke.call(this)},{enumerable:!0}),c(Oe,"toString",function(){return ke.call(this)},{enumerable:!0}),A){var Ye=A.createObjectURL,Ue=A.revokeObjectURL;Ye&&c(Se,"createObjectURL",function(e){return Ye.apply(A,arguments)}),Ue&&c(Se,"revokeObjectURL",function(e){return Ue.apply(A,arguments)})}y(Se,"URL"),o({global:!0,forced:!a,sham:!d},{URL:Se})},{"../internals/an-instance":6,"../internals/array-from":14,"../internals/descriptors":42,"../internals/export":49,"../internals/global":59,"../internals/has":60,"../internals/internal-state":70,"../internals/native-url":88,"../internals/object-assign":95,"../internals/object-define-properties":97,"../internals/redefine":116,"../internals/set-to-string-tag":125,"../internals/string-multibyte":131,"../internals/string-punycode-to-ascii":134,"../modules/es.string.iterator":295,"../modules/web.url-search-params":370}],372:[function(e,t,n){"use strict";e("../internals/export")({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},{"../internals/export":49}],373:[function(e,t,n){e("../es"),e("../web");var r=e("../internals/path");t.exports=r},{"../es":1,"../internals/path":112,"../web":374}],374:[function(e,t,n){e("../modules/web.dom-collections.for-each"),e("../modules/web.dom-collections.iterator"),e("../modules/web.immediate"),e("../modules/web.queue-microtask"),e("../modules/web.timers"),e("../modules/web.url"),e("../modules/web.url.to-json"),e("../modules/web.url-search-params");var r=e("../internals/path");t.exports=r},{"../internals/path":112,"../modules/web.dom-collections.for-each":365,"../modules/web.dom-collections.iterator":366,"../modules/web.immediate":367,"../modules/web.queue-microtask":368,"../modules/web.timers":369,"../modules/web.url":371,"../modules/web.url-search-params":370,"../modules/web.url.to-json":372}],375:[function(e,t,n){var r=function(a){"use strict";var l,e=Object.prototype,u=e.hasOwnProperty,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",n=t.asyncIterator||"@@asyncIterator",r=t.toStringTag||"@@toStringTag";function s(e,t,n,r){var o,a,s,l,i=t&&t.prototype instanceof y?t:y,c=Object.create(i.prototype),u=new k(r||[]);return c._invoke=(o=e,a=n,s=u,l=d,function(e,t){if(l===h)throw new Error("Generator is already running");if(l===m){if("throw"===e)throw t;return I()}for(s.method=e,s.arg=t;;){var n=s.delegate;if(n){var r=E(n,s);if(r){if(r===g)continue;return r}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(l===d)throw l=m,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);l=h;var i=f(o,a,s);if("normal"===i.type){if(l=s.done?m:p,i.arg===g)continue;return{value:i.arg,done:s.done}}"throw"===i.type&&(l=m,s.method="throw",s.arg=i.arg)}}),c}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}a.wrap=s;var d="suspendedStart",p="suspendedYield",h="executing",m="completed",g={};function y(){}function o(){}function c(){}var b={};b[i]=function(){return this};var v=Object.getPrototypeOf,x=v&&v(v(A([])));x&&x!==e&&u.call(x,i)&&(b=x);var w=c.prototype=y.prototype=Object.create(b);function j(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function C(l,c){var t;this._invoke=function(n,r){function e(){return new c(function(e,t){!function t(e,n,r,i){var o=f(l[e],l,n);if("throw"!==o.type){var a=o.arg,s=a.value;return s&&"object"==typeof s&&u.call(s,"__await")?c.resolve(s.__await).then(function(e){t("next",e,r,i)},function(e){t("throw",e,r,i)}):c.resolve(s).then(function(e){a.value=e,r(a)},function(e){return t("throw",e,r,i)})}i(o.arg)}(n,r,e,t)})}return t=t?t.then(e,e):e()}}function E(e,t){var n=e.iterator[t.method];if(n===l){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=l,E(e,t),"throw"===t.method))return g;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var r=f(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,g;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=l),t.delegate=null,g):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(u.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=l,e.done=!0,e};return r.next=r}}return{next:I}}function I(){return{value:l,done:!0}}return o.prototype=w.constructor=c,c.constructor=o,c[r]=o.displayName="GeneratorFunction",a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===o||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,r in e||(e[r]="GeneratorFunction")),e.prototype=Object.create(w),e},a.awrap=function(e){return{__await:e}},j(C.prototype),C.prototype[n]=function(){return this},a.AsyncIterator=C,a.async=function(e,t,n,r,i){void 0===i&&(i=Promise);var o=new C(s(e,t,n,r),i);return a.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},j(w),w[r]="Generator",w[i]=function(){return this},w.toString=function(){return"[object Generator]"},a.keys=function(n){var r=[];for(var e in n)r.push(e);return r.reverse(),function e(){for(;r.length;){var t=r.pop();if(t in n)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=A,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=l,this.done=!1,this.delegate=null,this.method="next",this.arg=l,this.tryEntries.forEach(O),!e)for(var t in this)"t"===t.charAt(0)&&u.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=l)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function e(e,t){return o.type="throw",o.arg=n,r.next=e,t&&(r.method="next",r.arg=l),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var i=this.tryEntries[t],o=i.completion;if("root"===i.tryLoc)return e("end");if(i.tryLoc<=this.prev){var a=u.call(i,"catchLoc"),s=u.call(i,"finallyLoc");if(a&&s){if(this.prev<i.catchLoc)return e(i.catchLoc,!0);if(this.prev<i.finallyLoc)return e(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return e(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return e(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;0<=n;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&u.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:A(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=l),g}},a}("object"==typeof t?t.exports:{});try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},{}],376:[function(o,e,t){(function(i){(function(){"use strict";function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t,n){var r=2<arguments.length?n:[];if(!1===l(e))throw new TypeError(Object.prototype.toString.call(e)+"is not a function.");return e.apply(t,r)}function f(e,t){return e[t]}function l(e){return"function"==typeof e}function d(e){var t=Number(e);return isNaN(t)?0:1/t==1/0||1/t==-1/0||t===1/0||t===-1/0?t:(t<0?-1:1)*Math.floor(Math.abs(t))}function p(e){if(null===e||e===g)throw TypeError();return Object(e)}function c(e,t){var n,r=(n=t,p(e)[n]);if(null===r||r===g)return g;if(!1===l(r))throw new TypeError("Method not callable: "+t);return r}function h(e){switch(a(e)){case"undefined":return"undefined";case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"symbol":return"symbol";default:return null===e?"null":"Symbol"in u&&(e instanceof u.Symbol||e.constructor===u.Symbol)?"symbol":"object"}}function t(e,t){var n=1<arguments.length?t:g;if("object"!==h(e))return e;if(arguments.length<2)var r="default";else n===String?r="string":n===Number&&(r="number");var i="function"==typeof u.Symbol&&"symbol"==a(u.Symbol.toPrimitive)?c(e,u.Symbol.toPrimitive):g;if(i===g)return"default"===r&&(r="number"),function(e,t){if("string"===t)var n=["toString","valueOf"];else n=["valueOf","toString"];for(var r=0;r<n.length;++r){var i=f(e,n[r]);if(l(i)){var o=s(i,e);if("object"!==h(o))return o}}throw new TypeError("Cannot convert to primitive.")}(e,r);var o=s(i,e,[r]);if("object"!==h(o))return o;throw new TypeError("Cannot convert exotic object to primitive.")}function m(e){switch(h(e)){case"symbol":throw new TypeError("Cannot convert a Symbol value to a string");case"object":return m(t(e,String));default:return String(e)}}var u,g,e,n,r;o("core-js/stable"),o("regenerator-runtime/runtime"),u="object"===("undefined"==typeof window?"undefined":a(window))&&window||"object"===("undefined"==typeof self?"undefined":a(self))&&self||"object"===(void 0===i?"undefined":a(i))&&i||{},e=Array.prototype,r={value:function(e,t){var n,r,i=p(this),o=(n=f(i,"length"),(r=d(n))<=0?0:Math.min(r,Math.pow(2,53)-1));if(0===o)return!1;var a,s,l=d(t);if(0<=l)var c=l;else(c=o+l)<0&&(c=0);for(;c<o;){var u=f(i,m(c));if(s=u,h(a=e)===h(s)&&("number"===h(a)&&(isNaN(a)&&isNaN(s)||1/a==1/0&&1/s==-1/0||1/a==-1/0&&1/s==1/0)||a===s))return!0;c+=1}return!1},writable:!0,enumerable:!(n="includes"),configurable:!0},Object.defineProperty(e,n,r),function(){function e(e,t){if(!e)throw new Error("Not enough arguments");var n;if("createEvent"in document){n=document.createEvent("Event");var r=!(!t||t.bubbles===g)&&t.bubbles,i=!(!t||t.cancelable===g)&&t.cancelable;return n.initEvent(e,r,i),n}return(n=document.createEventObject()).type=e,n.bubbles=!(!t||t.bubbles===g)&&t.bubbles,n.cancelable=!(!t||t.cancelable===g)&&t.cancelable,n}var n={click:1,dblclick:1,keyup:1,keypress:1,keydown:1,mousedown:1,mouseup:1,mousemove:1,mouseover:1,mouseenter:1,mouseleave:1,mouseout:1,storage:1,storagecommit:1,textinput:1};if("undefined"!=typeof document&&"undefined"!=typeof window){var t=window.Event&&window.Event.prototype||null;e.NONE=0,e.CAPTURING_PHASE=1,e.AT_TARGET=2,e.BUBBLING_PHASE=3,window.Event=Window.prototype.Event=e,t&&Object.defineProperty(window.Event,"prototype",{configurable:!1,enumerable:!1,writable:!0,value:t}),"createEvent"in document||(window.addEventListener=Window.prototype.addEventListener=Document.prototype.addEventListener=Element.prototype.addEventListener=function(){var a=this,e=arguments[0],t=arguments[1];if(a===window&&e in n)throw new Error("In IE8 the event: "+e+" is not available on the window object. Please see https://github.com/Financial-Times/polyfill-service/issues/317 for more information.");a._events||(a._events={}),a._events[e]||(a._events[e]=function(e){var t,n=a._events[e.type].list,r=n.slice(),i=-1,o=r.length;for(e.preventDefault=function(){!1!==e.cancelable&&(e.returnValue=!1)},e.stopPropagation=function(){e.cancelBubble=!0},e.stopImmediatePropagation=function(){e.cancelBubble=!0,e.cancelImmediate=!0},e.currentTarget=a,e.relatedTarget=e.fromElement||null,e.target=e.target||e.srcElement||a,e.timeStamp=(new Date).getTime(),e.clientX&&(e.pageX=e.clientX+document.documentElement.scrollLeft,e.pageY=e.clientY+document.documentElement.scrollTop);++i<o&&!e.cancelImmediate;)i in r&&(t=r[i],n.includes(t)&&"function"==typeof t&&t.call(a,e))},a._events[e].list=[],a.attachEvent&&a.attachEvent("on"+e,a._events[e])),a._events[e].list.push(t)},window.removeEventListener=Window.prototype.removeEventListener=Document.prototype.removeEventListener=Element.prototype.removeEventListener=function(e,t){var n,r=this,i=e,o=t;r._events&&r._events[i]&&r._events[i].list&&-1!==(n=r._events[i].list.indexOf(o))&&(r._events[i].list.splice(n,1),r._events[i].list.length||(r.detachEvent&&r.detachEvent("on"+i,r._events[i]),delete r._events[i]))},window.dispatchEvent=Window.prototype.dispatchEvent=Document.prototype.dispatchEvent=Element.prototype.dispatchEvent=function(t){if(!arguments.length)throw new Error("Not enough arguments");if(!t||"string"!=typeof t.type)throw new Error("DOM Events Exception 0");var n=this,r=t.type;try{if(!t.bubbles){t.cancelBubble=!0;this.attachEvent("on"+r,function e(t){t.cancelBubble=!0,(n||window).detachEvent("on"+r,e)})}this.fireEvent("on"+r,t)}catch(e){for(t.target=n;"_events"in(t.currentTarget=n)&&"function"==typeof n._events[r]&&n._events[r].call(n,t),"function"==typeof n["on"+r]&&n["on"+r].call(n,t),(n=9===n.nodeType?n.parentWindow:n.parentNode)&&!t.cancelBubble;);}return!0},document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&document.dispatchEvent(new e("DOMContentLoaded",{bubbles:!0}))}))}}(),u.CustomEvent=function(t,n){if(!t)throw Error('TypeError: Failed to construct "CustomEvent": An event name must be provided.');var r;if(n=n||{bubbles:!1,cancelable:!1,detail:null},"createEvent"in document)try{(r=document.createEvent("CustomEvent")).initCustomEvent(t,n.bubbles,n.cancelable,n.detail)}catch(e){(r=document.createEvent("Event")).initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail}else(r=new Event(t,n)).detail=n&&n.detail||null;return r},CustomEvent.prototype=Event.prototype,o("./simple-lightbox")}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./simple-lightbox":377,"core-js/stable":373,"regenerator-runtime/runtime":375}],377:[function(e,t,i){(function(n){(function(){"use strict";function f(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var e=function(){function i(e,t){var n=this;if(!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),o(this,"defaultOptions",{sourceAttr:"href",overlay:!0,spinner:!0,nav:!0,navText:["‹","›"],captions:!0,captionDelay:0,captionSelector:"img",captionType:"attr",captionsData:"title",captionPosition:"bottom",captionClass:"",close:!0,closeText:"×",swipeClose:!0,showCounter:!0,fileExt:"png|jpg|jpeg|gif|webp",animationSlide:!0,animationSpeed:250,preloading:!0,enableKeyboard:!0,loop:!0,rel:!1,docClose:!0,swipeTolerance:50,className:"simple-lightbox",widthRatio:.8,heightRatio:.9,scaleImageToRatio:!1,disableRightClick:!1,disableScroll:!0,alertError:!0,alertErrorMessage:"Image not found, next image will be loaded",additionalHtml:!1,history:!0,throttleInterval:0,doubleTapZoom:2,maxZoom:10,htmlClass:"has-lightbox",rtl:!1,fixedClass:"sl-fixed",fadeSpeed:300,uniqueImages:!0,focus:!0}),o(this,"transitionPrefix",void 0),o(this,"transitionCapable",!1),o(this,"isTouchDevice","ontouchstart"in window),o(this,"initialLocationHash",void 0),o(this,"pushStateSupport","pushState"in history),o(this,"isOpen",!1),o(this,"isAnimating",!1),o(this,"isClosing",!1),o(this,"isFadeIn",!1),o(this,"urlChangedOnce",!1),o(this,"hashReseted",!1),o(this,"historyHasChanges",!1),o(this,"historyUpdateTimeout",null),o(this,"currentImage",void 0),o(this,"eventNamespace","simplelightbox"),o(this,"domNodes",{}),o(this,"loadedImages",[]),o(this,"initialImageIndex",0),o(this,"currentImageIndex",0),o(this,"initialSelector",null),o(this,"globalScrollbarWidth",0),o(this,"controlCoordinates",{swipeDiff:0,swipeYDiff:0,swipeStart:0,swipeEnd:0,swipeYStart:0,swipeYEnd:0,mousedown:!1,imageLeft:0,zoomed:!1,containerHeight:0,containerWidth:0,containerOffsetX:0,containerOffsetY:0,imgHeight:0,imgWidth:0,capture:!1,initialOffsetX:0,initialOffsetY:0,initialPointerOffsetX:0,initialPointerOffsetY:0,initialPointerOffsetX2:0,initialPointerOffsetY2:0,initialScale:1,initialPinchDistance:0,pointerOffsetX:0,pointerOffsetY:0,pointerOffsetX2:0,pointerOffsetY2:0,targetOffsetX:0,targetOffsetY:0,targetScale:0,pinchOffsetX:0,pinchOffsetY:0,limitOffsetX:0,limitOffsetY:0,scaleDifference:0,targetPinchDistance:0,touchCount:0,doubleTapped:!1,touchmoveCount:0}),this.options=Object.assign(this.defaultOptions,t),"string"==typeof e?(this.initialSelector=e,this.elements=Array.from(document.querySelectorAll(e))):this.elements=void 0!==e.length&&0<e.length?Array.from(e):[e],this.relatedElements=[],this.transitionPrefix=this.calculateTransitionPrefix(),this.transitionCapable=!1!==this.transitionPrefix,this.initialLocationHash=this.hash,this.options.rel&&(this.elements=this.getRelated(this.options.rel)),this.options.uniqueImages){var r=[];this.elements=Array.from(this.elements).filter(function(e){var t=e.getAttribute(n.options.sourceAttr);return-1===r.indexOf(t)&&(r.push(t),!0)})}this.createDomNodes(),this.options.close&&this.domNodes.wrapper.appendChild(this.domNodes.closeButton),this.options.nav&&this.domNodes.wrapper.appendChild(this.domNodes.navigation),this.options.spinner&&this.domNodes.wrapper.appendChild(this.domNodes.spinner),this.addEventListener(this.elements,"click."+this.eventNamespace,function(e){if(n.isValidLink(e.currentTarget)){if(e.preventDefault(),n.isAnimating)return!1;n.initialImageIndex=n.elements.indexOf(e.currentTarget),n.openImage(e.currentTarget)}}),this.options.docClose&&this.addEventListener(this.domNodes.wrapper,["click."+this.eventNamespace,"touchstart."+this.eventNamespace],function(e){n.isOpen&&e.target===e.currentTarget&&n.close()}),this.options.disableRightClick&&this.addEventListener(document.body,"contextmenu."+this.eventNamespace,function(e){e.target.classList.contains("sl-overlay")&&e.preventDefault()}),this.options.enableKeyboard&&this.addEventListener(document.body,"keyup."+this.eventNamespace,this.throttle(function(e){if(n.controlCoordinates.swipeDiff=0,n.isAnimating&&"Escape"===e.key)return n.currentImage.setAttribute("src",""),n.isAnimating=!1,n.close();n.isOpen&&(e.preventDefault(),"Escape"===e.key&&n.close(),!n.isAnimating&&-1<["ArrowLeft","ArrowRight"].indexOf(e.key)&&n.loadImage("ArrowRight"===e.key?1:-1))},this.options.throttleInterval)),this.addEvents()}var e,t,n;return e=i,(t=[{key:"createDomNodes",value:function(){this.domNodes.overlay=document.createElement("div"),this.domNodes.overlay.classList.add("sl-overlay"),this.domNodes.overlay.dataset.opacityTarget=".7",this.domNodes.closeButton=document.createElement("button"),this.domNodes.closeButton.classList.add("sl-close"),this.domNodes.closeButton.innerHTML=this.options.closeText,this.domNodes.spinner=document.createElement("div"),this.domNodes.spinner.classList.add("sl-spinner"),this.domNodes.spinner.innerHTML="<div></div>",this.domNodes.navigation=document.createElement("div"),this.domNodes.navigation.classList.add("sl-navigation"),this.domNodes.navigation.innerHTML='<button class="sl-prev">'.concat(this.options.navText[0],'</button><button class="sl-next">').concat(this.options.navText[1],"</button>"),this.domNodes.counter=document.createElement("div"),this.domNodes.counter.classList.add("sl-counter"),this.domNodes.counter.innerHTML='<span class="sl-current"></span>/<span class="sl-total"></span>',this.domNodes.caption=document.createElement("div"),this.domNodes.caption.classList.add("sl-caption","pos-"+this.options.captionPosition),this.options.captionClass&&this.domNodes.caption.classList.add(this.options.captionClass),this.domNodes.image=document.createElement("div"),this.domNodes.image.classList.add("sl-image"),this.domNodes.wrapper=document.createElement("div"),this.domNodes.wrapper.classList.add("sl-wrapper"),this.domNodes.wrapper.setAttribute("tabindex",-1),this.domNodes.wrapper.setAttribute("role","dialog"),this.domNodes.wrapper.setAttribute("aria-hidden",!1),this.options.className&&this.domNodes.wrapper.classList.add(this.options.className),this.options.rtl&&this.domNodes.wrapper.classList.add("sl-dir-rtl")}},{key:"throttle",value:function(e,t){var n;return function(){n||(e.apply(this,arguments),n=!0,setTimeout(function(){return n=!1},t))}}},{key:"isValidLink",value:function(e){return!this.options.fileExt||"pathname"in e&&new RegExp("("+this.options.fileExt+")$","i").test(e.pathname)}},{key:"calculateTransitionPrefix",value:function(){var e=(document.body||document.documentElement).style;return"transition"in e?"":"WebkitTransition"in e?"-webkit-":"MozTransition"in e?"-moz-":"OTransition"in e&&"-o"}},{key:"toggleScrollbar",value:function(e){var r=0,t=[].slice.call(document.querySelectorAll("."+this.options.fixedClass));if("hide"===e){var n=window.innerWidth;if(!n){var i=document.documentElement.getBoundingClientRect();n=i.right-Math.abs(i.left)}if(document.body.clientWidth<n){var o=document.createElement("div"),a=parseInt(document.body.style.paddingRight||0,10);o.classList.add("sl-scrollbar-measure"),document.body.appendChild(o),r=o.offsetWidth-o.clientWidth,document.body.removeChild(o),document.body.dataset.originalPaddingRight=a,0<r&&(document.body.classList.add("hidden-scroll"),document.body.style.paddingRight=a+r+"px",t.forEach(function(e){var t=e.style.paddingRight,n=window.getComputedStyle(e)["padding-right"];e.dataset.originalPaddingRight=t,e.style.paddingRight="".concat(parseFloat(n)+r,"px")}))}}else document.body.classList.remove("hidden-scroll"),document.body.style.paddingRight=document.body.dataset.originalPaddingRight,t.forEach(function(e){var t=e.dataset.originalPaddingRight;void 0!==t&&(e.style.paddingRight=t)});return r}},{key:"close",value:function(){var e=this;if(!this.isOpen||this.isAnimating||this.isClosing)return!1;this.isClosing=!0;var t=this.relatedElements[this.currentImageIndex];for(var n in t.dispatchEvent(new Event("close.simplelightbox")),this.options.history&&(this.historyHasChanges=!1,this.hashReseted||this.resetHash()),this.removeEventListener(document,"focusin."+this.eventNamespace),this.fadeOut(document.querySelectorAll(".sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter"),this.options.fadeSpeed,function(){e.options.disableScroll&&e.toggleScrollbar("show"),e.options.htmlClass&&""!==e.options.htmlClass&&document.querySelector("html").classList.remove(e.options.htmlClass),document.body.removeChild(e.domNodes.wrapper),document.body.removeChild(e.domNodes.overlay),e.domNodes.additionalHtml=null,t.dispatchEvent(new Event("closed.simplelightbox")),e.isClosing=!1}),this.currentImage=null,this.isOpen=!1,this.isAnimating=!1,this.controlCoordinates)this.controlCoordinates[n]=0;this.controlCoordinates.mousedown=!1,this.controlCoordinates.zoomed=!1,this.controlCoordinates.capture=!1,this.controlCoordinates.initialScale=this.minMax(1,1,this.options.maxZoom),this.controlCoordinates.doubleTapped=!1}},{key:"preload",value:function(){var n=this,r=this.currentImageIndex,e=this.relatedElements.length,t=r+1<0?e-1:e-1<=r+1?0:r+1,i=r-1<0?e-1:e-1<=r-1?0:r-1,o=new Image,a=new Image;o.addEventListener("load",function(e){var t=e.target.getAttribute("src");-1===n.loadedImages.indexOf(t)&&n.loadedImages.push(t),n.relatedElements[r].dispatchEvent(new Event("nextImageLoaded."+n.eventNamespace))}),o.setAttribute("src",this.relatedElements[t].getAttribute(this.options.sourceAttr)),a.addEventListener("load",function(e){var t=e.target.getAttribute("src");-1===n.loadedImages.indexOf(t)&&n.loadedImages.push(t),n.relatedElements[r].dispatchEvent(new Event("prevImageLoaded."+n.eventNamespace))}),a.setAttribute("src",this.relatedElements[i].getAttribute(this.options.sourceAttr))}},{key:"loadImage",value:function(e){var t=this,n=e;this.options.rtl&&(e=-e),this.relatedElements[this.currentImageIndex].dispatchEvent(new Event("change."+this.eventNamespace)),this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((1===e?"next":"prev")+"."+this.eventNamespace));var r=this.currentImageIndex+e;if(this.isAnimating||(r<0||r>=this.relatedElements.length)&&!1===this.options.loop)return!1;this.currentImageIndex=r<0?this.relatedElements.length-1:r>this.relatedElements.length-1?0:r,this.domNodes.counter.querySelector(".sl-current").innerHTML=this.currentImageIndex+1,this.options.animationSlide&&this.slide(this.options.animationSpeed/1e3,-100*n-this.controlCoordinates.swipeDiff+"px"),this.fadeOut(this.domNodes.image,this.options.fadeSpeed,function(){t.isAnimating=!0,t.isClosing?t.isAnimating=!1:setTimeout(function(){var e=t.relatedElements[t.currentImageIndex];t.currentImage.setAttribute("src",e.getAttribute(t.options.sourceAttr)),-1===t.loadedImages.indexOf(e.getAttribute(t.options.sourceAttr))&&t.show(t.domNodes.spinner),t.domNodes.image.contains(t.domNodes.caption)&&t.domNodes.image.removeChild(t.domNodes.caption),t.adjustImage(n),t.options.preloading&&t.preload()},100)})}},{key:"adjustImage",value:function(a){var s=this;if(!this.currentImage)return!1;var e=new Image,l=window.innerWidth*this.options.widthRatio,c=window.innerHeight*this.options.heightRatio;e.setAttribute("src",this.currentImage.getAttribute("src")),this.currentImage.dataset.scale=1,this.currentImage.dataset.translateX=0,this.currentImage.dataset.translateY=0,this.zoomPanElement(0,0,1),e.addEventListener("error",function(e){s.relatedElements[s.currentImageIndex].dispatchEvent(new Event("error."+s.eventNamespace)),s.isAnimating=!1,s.isOpen=!1,s.domNodes.spinner.style.display="none";var t=1===a||-1===a;if(s.initialImageIndex===s.currentImageIndex&&t)return s.close();s.options.alertError&&alert(s.options.alertErrorMessage),s.loadImage(t?a:1)}),e.addEventListener("load",function(e){void 0!==a&&(s.relatedElements[s.currentImageIndex].dispatchEvent(new Event("changed."+s.eventNamespace)),s.relatedElements[s.currentImageIndex].dispatchEvent(new Event((1===a?"nextDone":"prevDone")+"."+s.eventNamespace))),s.options.history&&s.updateURL(),-1===s.loadedImages.indexOf(s.currentImage.getAttribute("src"))&&s.loadedImages.push(s.currentImage.getAttribute("src"));var t,n,r=e.target.width,i=e.target.height;if(s.options.scaleImageToRatio||l<r||c<i){var o=l/c<r/i?r/l:i/c;r/=o,i/=o}s.domNodes.image.style.top=(window.innerHeight-i)/2+"px",s.domNodes.image.style.left=(window.innerWidth-r-s.globalScrollbarWidth)/2+"px",s.domNodes.image.style.width=r+"px",s.domNodes.image.style.height=i+"px",s.domNodes.spinner.style.display="none",s.options.focus&&s.forceFocus(),s.fadeIn(s.currentImage,s.options.fadeSpeed,function(){s.options.focus&&s.domNodes.wrapper.focus()}),s.isOpen=!0,"string"==typeof s.options.captionSelector?t="self"===s.options.captionSelector?s.relatedElements[s.currentImageIndex]:s.relatedElements[s.currentImageIndex].querySelector(s.options.captionSelector):"function"==typeof s.options.captionSelector&&(t=s.options.captionSelector(s.relatedElements[s.currentImageIndex])),s.options.captions&&t&&(n="data"===s.options.captionType?t.dataset[s.options.captionsData]:"text"===s.options.captionType?t.innerHTML:t.getAttribute(s.options.captionsData)),s.options.loop||(0===s.currentImageIndex&&s.hide(s.domNodes.navigation.querySelector(".sl-prev")),s.currentImageIndex>=s.relatedElements.length-1&&s.hide(s.domNodes.navigation.querySelector(".sl-next")),0<s.currentImageIndex&&s.show(s.domNodes.navigation.querySelector(".sl-prev")),s.currentImageIndex<s.relatedElements.length-1&&s.show(s.domNodes.navigation.querySelector(".sl-next"))),1===s.relatedElements.length?s.hide(s.domNodes.navigation.querySelectorAll(".sl-prev, .sl-next")):s.show(s.domNodes.navigation.querySelectorAll(".sl-prev, .sl-next")),1===a||-1===a?(s.options.animationSlide&&(s.slide(0,100*a+"px"),setTimeout(function(){s.slide(s.options.animationSpeed/1e3,"0px")},50)),s.fadeIn(s.domNodes.image,s.options.fadeSpeed,function(){s.isAnimating=!1,s.setCaption(n,r)})):(s.isAnimating=!1,s.setCaption(n,r)),s.options.additionalHtml&&!s.domNodes.additionalHtml&&(s.domNodes.additionalHtml=document.createElement("div"),s.domNodes.additionalHtml.classList.add("sl-additional-html"),s.domNodes.additionalHtml.innerHTML=s.options.additionalHtml,s.domNodes.image.appendChild(s.domNodes.additionalHtml))})}},{key:"zoomPanElement",value:function(e,t,n){this.currentImage.style[this.transitionPrefix+"transform"]="translate("+e+","+t+") scale("+n+")"}},{key:"minMax",value:function(e,t,n){return e<t?t:n<e?n:e}},{key:"setZoomData",value:function(e,t,n){this.currentImage.dataset.scale=e,this.currentImage.dataset.translateX=t,this.currentImage.dataset.translateY=n}},{key:"hashchangeHandler",value:function(){this.isOpen&&this.hash===this.initialLocationHash&&(this.hashReseted=!0,this.close())}},{key:"addEvents",value:function(){var n=this;this.addEventListener(window,"resize."+this.eventNamespace,function(e){n.isOpen&&n.adjustImage()}),this.addEventListener(this.domNodes.closeButton,["click."+this.eventNamespace,"touchstart."+this.eventNamespace],this.close.bind(this)),this.options.history&&setTimeout(function(){n.addEventListener(window,"hashchange."+n.eventNamespace,function(e){n.isOpen&&n.hashchangeHandler()})},40),this.addEventListener(this.domNodes.navigation.getElementsByTagName("button"),"click."+this.eventNamespace,function(e){if(!e.currentTarget.tagName.match(/button/i))return!0;e.preventDefault(),n.controlCoordinates.swipeDiff=0,n.loadImage(e.currentTarget.classList.contains("sl-next")?1:-1)}),this.addEventListener(this.domNodes.image,["touchstart."+this.eventNamespace,"mousedown."+this.eventNamespace],function(e){if("A"===e.target.tagName&&"touchstart"===e.type)return!0;if("mousedown"===e.type)n.controlCoordinates.initialPointerOffsetX=e.clientX,n.controlCoordinates.initialPointerOffsetY=e.clientY,n.controlCoordinates.containerHeight=n.getDimensions(n.domNodes.image).height,n.controlCoordinates.containerWidth=n.getDimensions(n.domNodes.image).width,n.controlCoordinates.imgHeight=n.getDimensions(n.currentImage).height,n.controlCoordinates.imgWidth=n.getDimensions(n.currentImage).width,n.controlCoordinates.containerOffsetX=n.domNodes.image.offsetLeft,n.controlCoordinates.containerOffsetY=n.domNodes.image.offsetTop,n.controlCoordinates.initialOffsetX=parseFloat(n.currentImage.dataset.translateX),n.controlCoordinates.initialOffsetY=parseFloat(n.currentImage.dataset.translateY),n.controlCoordinates.capture=!0;else{if(n.controlCoordinates.touchCount=e.touches.length,n.controlCoordinates.initialPointerOffsetX=e.touches[0].clientX,n.controlCoordinates.initialPointerOffsetY=e.touches[0].clientY,n.controlCoordinates.containerHeight=n.getDimensions(n.domNodes.image).height,n.controlCoordinates.containerWidth=n.getDimensions(n.domNodes.image).width,n.controlCoordinates.imgHeight=n.getDimensions(n.currentImage).height,n.controlCoordinates.imgWidth=n.getDimensions(n.currentImage).width,n.controlCoordinates.containerOffsetX=n.domNodes.image.offsetLeft,n.controlCoordinates.containerOffsetY=n.domNodes.image.offsetTop,1===n.controlCoordinates.touchCount){if(n.controlCoordinates.doubleTapped)return n.currentImage.classList.add("sl-transition"),n.controlCoordinates.zoomed?(n.controlCoordinates.initialScale=1,n.setZoomData(n.controlCoordinates.initialScale,0,0),n.zoomPanElement("0px","0px",n.controlCoordinates.initialScale),n.controlCoordinates.zoomed=!1):(n.controlCoordinates.initialScale=n.options.doubleTapZoom,n.setZoomData(n.controlCoordinates.initialScale,0,0),n.zoomPanElement("0px","0px",n.controlCoordinates.initialScale),n.domNodes.caption.style.opacity||"none"===n.domNodes.caption.style.display||n.fadeOut(n.domNodes.caption,n.options.fadeSpeed),n.controlCoordinates.zoomed=!0),setTimeout(function(){n.currentImage&&n.currentImage.classList.remove("sl-transition")},200),!1;n.controlCoordinates.doubleTapped=!0,setTimeout(function(){n.controlCoordinates.doubleTapped=!1},300),n.controlCoordinates.initialOffsetX=parseFloat(n.currentImage.dataset.translateX),n.controlCoordinates.initialOffsetY=parseFloat(n.currentImage.dataset.translateY)}else 2===n.controlCoordinates.touchCount&&(n.controlCoordinates.initialPointerOffsetX2=e.touches[1].clientX,n.controlCoordinates.initialPointerOffsetY2=e.touches[1].clientY,n.controlCoordinates.initialOffsetX=parseFloat(n.currentImage.dataset.translateX),n.controlCoordinates.initialOffsetY=parseFloat(n.currentImage.dataset.translateY),n.controlCoordinates.pinchOffsetX=(n.controlCoordinates.initialPointerOffsetX+n.controlCoordinates.initialPointerOffsetX2)/2,n.controlCoordinates.pinchOffsetY=(n.controlCoordinates.initialPointerOffsetY+n.controlCoordinates.initialPointerOffsetY2)/2,n.controlCoordinates.initialPinchDistance=Math.sqrt((n.controlCoordinates.initialPointerOffsetX-n.controlCoordinates.initialPointerOffsetX2)*(n.controlCoordinates.initialPointerOffsetX-n.controlCoordinates.initialPointerOffsetX2)+(n.controlCoordinates.initialPointerOffsetY-n.controlCoordinates.initialPointerOffsetY2)*(n.controlCoordinates.initialPointerOffsetY-n.controlCoordinates.initialPointerOffsetY2)));n.controlCoordinates.capture=!0}return!!n.controlCoordinates.mousedown||(n.transitionCapable&&(n.controlCoordinates.imageLeft=parseInt(n.domNodes.image.style.left,10)),n.controlCoordinates.mousedown=!0,n.controlCoordinates.swipeDiff=0,n.controlCoordinates.swipeYDiff=0,n.controlCoordinates.swipeStart=e.pageX||e.touches[0].pageX,n.controlCoordinates.swipeYStart=e.pageY||e.touches[0].pageY,!1)}),this.addEventListener(this.domNodes.image,["touchmove."+this.eventNamespace,"mousemove."+this.eventNamespace,"MSPointerMove"],function(e){if(!n.controlCoordinates.mousedown)return!0;if(e.preventDefault(),"touchmove"===e.type){if(!1===n.controlCoordinates.capture)return!1;n.controlCoordinates.pointerOffsetX=e.touches[0].clientX,n.controlCoordinates.pointerOffsetY=e.touches[0].clientY,n.controlCoordinates.touchCount=e.touches.length,n.controlCoordinates.touchmoveCount++,1<n.controlCoordinates.touchCount?(n.controlCoordinates.pointerOffsetX2=e.touches[1].clientX,n.controlCoordinates.pointerOffsetY2=e.touches[1].clientY,n.controlCoordinates.targetPinchDistance=Math.sqrt((n.controlCoordinates.pointerOffsetX-n.controlCoordinates.pointerOffsetX2)*(n.controlCoordinates.pointerOffsetX-n.controlCoordinates.pointerOffsetX2)+(n.controlCoordinates.pointerOffsetY-n.controlCoordinates.pointerOffsetY2)*(n.controlCoordinates.pointerOffsetY-n.controlCoordinates.pointerOffsetY2)),null===n.controlCoordinates.initialPinchDistance&&(n.controlCoordinates.initialPinchDistance=n.controlCoordinates.targetPinchDistance),1<=Math.abs(n.controlCoordinates.initialPinchDistance-n.controlCoordinates.targetPinchDistance)&&(n.controlCoordinates.targetScale=n.minMax(n.controlCoordinates.targetPinchDistance/n.controlCoordinates.initialPinchDistance*n.controlCoordinates.initialScale,1,n.options.maxZoom),n.controlCoordinates.limitOffsetX=(n.controlCoordinates.imgWidth*n.controlCoordinates.targetScale-n.controlCoordinates.containerWidth)/2,n.controlCoordinates.limitOffsetY=(n.controlCoordinates.imgHeight*n.controlCoordinates.targetScale-n.controlCoordinates.containerHeight)/2,n.controlCoordinates.scaleDifference=n.controlCoordinates.targetScale-n.controlCoordinates.initialScale,n.controlCoordinates.targetOffsetX=n.controlCoordinates.imgWidth*n.controlCoordinates.targetScale<=n.controlCoordinates.containerWidth?0:n.minMax(n.controlCoordinates.initialOffsetX-(n.controlCoordinates.pinchOffsetX-n.controlCoordinates.containerOffsetX-n.controlCoordinates.containerWidth/2-n.controlCoordinates.initialOffsetX)/(n.controlCoordinates.targetScale-n.controlCoordinates.scaleDifference)*n.controlCoordinates.scaleDifference,-1*n.controlCoordinates.limitOffsetX,n.controlCoordinates.limitOffsetX),n.controlCoordinates.targetOffsetY=n.controlCoordinates.imgHeight*n.controlCoordinates.targetScale<=n.controlCoordinates.containerHeight?0:n.minMax(n.controlCoordinates.initialOffsetY-(n.controlCoordinates.pinchOffsetY-n.controlCoordinates.containerOffsetY-n.controlCoordinates.containerHeight/2-n.controlCoordinates.initialOffsetY)/(n.controlCoordinates.targetScale-n.controlCoordinates.scaleDifference)*n.controlCoordinates.scaleDifference,-1*n.controlCoordinates.limitOffsetY,n.controlCoordinates.limitOffsetY),n.zoomPanElement(n.controlCoordinates.targetOffsetX+"px",n.controlCoordinates.targetOffsetY+"px",n.controlCoordinates.targetScale),1<n.controlCoordinates.targetScale&&(n.controlCoordinates.zoomed=!0,n.domNodes.caption.style.opacity||"none"===n.domNodes.caption.style.display||n.fadeOut(n.domNodes.caption,n.options.fadeSpeed)),n.controlCoordinates.initialPinchDistance=n.controlCoordinates.targetPinchDistance,n.controlCoordinates.initialScale=n.controlCoordinates.targetScale,n.controlCoordinates.initialOffsetX=n.controlCoordinates.targetOffsetX,n.controlCoordinates.initialOffsetY=n.controlCoordinates.targetOffsetY)):(n.controlCoordinates.targetScale=n.controlCoordinates.initialScale,n.controlCoordinates.limitOffsetX=(n.controlCoordinates.imgWidth*n.controlCoordinates.targetScale-n.controlCoordinates.containerWidth)/2,n.controlCoordinates.limitOffsetY=(n.controlCoordinates.imgHeight*n.controlCoordinates.targetScale-n.controlCoordinates.containerHeight)/2,n.controlCoordinates.targetOffsetX=n.controlCoordinates.imgWidth*n.controlCoordinates.targetScale<=n.controlCoordinates.containerWidth?0:n.minMax(n.controlCoordinates.pointerOffsetX-(n.controlCoordinates.initialPointerOffsetX-n.controlCoordinates.initialOffsetX),-1*n.controlCoordinates.limitOffsetX,n.controlCoordinates.limitOffsetX),n.controlCoordinates.targetOffsetY=n.controlCoordinates.imgHeight*n.controlCoordinates.targetScale<=n.controlCoordinates.containerHeight?0:n.minMax(n.controlCoordinates.pointerOffsetY-(n.controlCoordinates.initialPointerOffsetY-n.controlCoordinates.initialOffsetY),-1*n.controlCoordinates.limitOffsetY,n.controlCoordinates.limitOffsetY),Math.abs(n.controlCoordinates.targetOffsetX)===Math.abs(n.controlCoordinates.limitOffsetX)&&(n.controlCoordinates.initialOffsetX=n.controlCoordinates.targetOffsetX,n.controlCoordinates.initialPointerOffsetX=n.controlCoordinates.pointerOffsetX),Math.abs(n.controlCoordinates.targetOffsetY)===Math.abs(n.controlCoordinates.limitOffsetY)&&(n.controlCoordinates.initialOffsetY=n.controlCoordinates.targetOffsetY,n.controlCoordinates.initialPointerOffsetY=n.controlCoordinates.pointerOffsetY),n.setZoomData(n.controlCoordinates.initialScale,n.controlCoordinates.targetOffsetX,n.controlCoordinates.targetOffsetY),n.zoomPanElement(n.controlCoordinates.targetOffsetX+"px",n.controlCoordinates.targetOffsetY+"px",n.controlCoordinates.targetScale))}if("mousemove"===e.type&&n.controlCoordinates.mousedown){if("touchmove"==e.type)return!0;if(!1===n.controlCoordinates.capture)return!1;n.controlCoordinates.pointerOffsetX=e.clientX,n.controlCoordinates.pointerOffsetY=e.clientY,n.controlCoordinates.targetScale=n.controlCoordinates.initialScale,n.controlCoordinates.limitOffsetX=(n.controlCoordinates.imgWidth*n.controlCoordinates.targetScale-n.controlCoordinates.containerWidth)/2,n.controlCoordinates.limitOffsetY=(n.controlCoordinates.imgHeight*n.controlCoordinates.targetScale-n.controlCoordinates.containerHeight)/2,n.controlCoordinates.targetOffsetX=n.controlCoordinates.imgWidth*n.controlCoordinates.targetScale<=n.controlCoordinates.containerWidth?0:n.minMax(n.controlCoordinates.pointerOffsetX-(n.controlCoordinates.initialPointerOffsetX-n.controlCoordinates.initialOffsetX),-1*n.controlCoordinates.limitOffsetX,n.controlCoordinates.limitOffsetX),n.controlCoordinates.targetOffsetY=n.controlCoordinates.imgHeight*n.controlCoordinates.targetScale<=n.controlCoordinates.containerHeight?0:n.minMax(n.controlCoordinates.pointerOffsetY-(n.controlCoordinates.initialPointerOffsetY-n.controlCoordinates.initialOffsetY),-1*n.controlCoordinates.limitOffsetY,n.controlCoordinates.limitOffsetY),Math.abs(n.controlCoordinates.targetOffsetX)===Math.abs(n.controlCoordinates.limitOffsetX)&&(n.controlCoordinates.initialOffsetX=n.controlCoordinates.targetOffsetX,n.controlCoordinates.initialPointerOffsetX=n.controlCoordinates.pointerOffsetX),Math.abs(n.controlCoordinates.targetOffsetY)===Math.abs(n.controlCoordinates.limitOffsetY)&&(n.controlCoordinates.initialOffsetY=n.controlCoordinates.targetOffsetY,n.controlCoordinates.initialPointerOffsetY=n.controlCoordinates.pointerOffsetY),n.setZoomData(n.controlCoordinates.initialScale,n.controlCoordinates.targetOffsetX,n.controlCoordinates.targetOffsetY),n.zoomPanElement(n.controlCoordinates.targetOffsetX+"px",n.controlCoordinates.targetOffsetY+"px",n.controlCoordinates.targetScale)}n.controlCoordinates.zoomed||(n.controlCoordinates.swipeEnd=e.pageX||e.touches[0].pageX,n.controlCoordinates.swipeYEnd=e.pageY||e.touches[0].pageY,n.controlCoordinates.swipeDiff=n.controlCoordinates.swipeStart-n.controlCoordinates.swipeEnd,n.controlCoordinates.swipeYDiff=n.controlCoordinates.swipeYStart-n.controlCoordinates.swipeYEnd,n.options.animationSlide&&n.slide(0,-n.controlCoordinates.swipeDiff+"px"))}),this.addEventListener(this.domNodes.image,["touchend."+this.eventNamespace,"mouseup."+this.eventNamespace,"touchcancel."+this.eventNamespace,"mouseleave."+this.eventNamespace,"pointerup","pointercancel","MSPointerUp","MSPointerCancel"],function(e){if(n.isTouchDevice&&"touchend"===e.type&&(n.controlCoordinates.touchCount=e.touches.length,0===n.controlCoordinates.touchCount?(n.currentImage&&n.setZoomData(n.controlCoordinates.initialScale,n.controlCoordinates.targetOffsetX,n.controlCoordinates.targetOffsetY),1===n.controlCoordinates.initialScale&&(n.controlCoordinates.zoomed=!1,"none"===n.domNodes.caption.style.display&&n.fadeIn(n.domNodes.caption,n.options.fadeSpeed)),n.controlCoordinates.initialPinchDistance=null,n.controlCoordinates.capture=!1):1===n.controlCoordinates.touchCount?(n.controlCoordinates.initialPointerOffsetX=e.touches[0].clientX,n.controlCoordinates.initialPointerOffsetY=e.touches[0].clientY):1<n.controlCoordinates.touchCount&&(n.controlCoordinates.initialPinchDistance=null)),n.controlCoordinates.mousedown){var t=!(n.controlCoordinates.mousedown=!1);n.options.loop||(0===n.currentImageIndex&&n.controlCoordinates.swipeDiff<0&&(t=!1),n.currentImageIndex>=n.relatedElements.length-1&&0<n.controlCoordinates.swipeDiff&&(t=!1)),Math.abs(n.controlCoordinates.swipeDiff)>n.options.swipeTolerance&&t?n.loadImage(0<n.controlCoordinates.swipeDiff?1:-1):n.options.animationSlide&&n.slide(n.options.animationSpeed/1e3,"0px"),n.options.swipeClose&&50<Math.abs(n.controlCoordinates.swipeYDiff)&&Math.abs(n.controlCoordinates.swipeDiff)<n.options.swipeTolerance&&n.close()}}),this.addEventListener(this.domNodes.image,["dblclick"],function(e){if(!n.isTouchDevice)return n.controlCoordinates.initialPointerOffsetX=e.clientX,n.controlCoordinates.initialPointerOffsetY=e.clientY,n.controlCoordinates.containerHeight=n.getDimensions(n.domNodes.image).height,n.controlCoordinates.containerWidth=n.getDimensions(n.domNodes.image).width,n.controlCoordinates.imgHeight=n.getDimensions(n.currentImage).height,n.controlCoordinates.imgWidth=n.getDimensions(n.currentImage).width,n.controlCoordinates.containerOffsetX=n.domNodes.image.offsetLeft,n.controlCoordinates.containerOffsetY=n.domNodes.image.offsetTop,n.currentImage.classList.add("sl-transition"),n.controlCoordinates.zoomed?(n.controlCoordinates.initialScale=1,n.setZoomData(n.controlCoordinates.initialScale,0,0),n.zoomPanElement("0px","0px",n.controlCoordinates.initialScale),n.controlCoordinates.zoomed=!1,"none"===n.domNodes.caption.style.display&&n.fadeIn(n.domNodes.caption,n.options.fadeSpeed)):(n.controlCoordinates.initialScale=n.options.doubleTapZoom,n.setZoomData(n.controlCoordinates.initialScale,0,0),n.zoomPanElement("0px","0px",n.controlCoordinates.initialScale),n.domNodes.caption.style.opacity||"none"===n.domNodes.caption.style.display||n.fadeOut(n.domNodes.caption,n.options.fadeSpeed),n.controlCoordinates.zoomed=!0),setTimeout(function(){n.currentImage&&n.currentImage.classList.remove("sl-transition")},200),!(n.controlCoordinates.capture=!0)})}},{key:"getDimensions",value:function(e){var t=window.getComputedStyle(e),n=e.offsetHeight,r=e.offsetWidth,i=parseFloat(t.borderTopWidth);return{height:n-parseFloat(t.borderBottomWidth)-i-parseFloat(t.paddingTop)-parseFloat(t.paddingBottom),width:r-parseFloat(t.borderLeftWidth)-parseFloat(t.borderRightWidth)-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)}}},{key:"updateHash",value:function(){var e="pid="+(this.currentImageIndex+1),t=window.location.href.split("#")[0]+"#"+e;this.hashReseted=!1,this.pushStateSupport?window.history[this.historyHasChanges?"replaceState":"pushState"]("",document.title,t):this.historyHasChanges?window.location.replace(t):window.location.hash=e,this.historyHasChanges||(this.urlChangedOnce=!0),this.historyHasChanges=!0}},{key:"resetHash",value:function(){this.hashReseted=!0,this.urlChangedOnce?history.back():this.pushStateSupport?history.pushState("",document.title,window.location.pathname+window.location.search):window.location.hash="",clearTimeout(this.historyUpdateTimeout)}},{key:"updateURL",value:function(){clearTimeout(this.historyUpdateTimeout),this.historyHasChanges?this.historyUpdateTimeout=setTimeout(this.updateHash.bind(this),800):this.updateHash()}},{key:"setCaption",value:function(e,t){var n=this;this.options.captions&&e&&""!==e&&void 0!==e&&(this.hide(this.domNodes.caption),this.domNodes.caption.style.width=t+"px",this.domNodes.caption.innerHTML=e,this.domNodes.image.appendChild(this.domNodes.caption),setTimeout(function(){n.fadeIn(n.domNodes.caption,n.options.fadeSpeed)},this.options.captionDelay))}},{key:"slide",value:function(e,t){if(!this.transitionCapable)return this.domNodes.image.style.left=t;this.domNodes.image.style[this.transitionPrefix+"transform"]="translateX("+t+")",this.domNodes.image.style[this.transitionPrefix+"transition"]=this.transitionPrefix+"transform "+e+"s linear"}},{key:"getRelated",value:function(t){return t&&!1!==t&&"nofollow"!==t?Array.from(this.elements).filter(function(e){return e.getAttribute("rel")===t}):this.elements}},{key:"openImage",value:function(e){var t=this;e.dispatchEvent(new Event("show."+this.eventNamespace)),this.options.disableScroll&&(this.globalScrollbarWidth=this.toggleScrollbar("hide")),this.options.htmlClass&&""!==this.options.htmlClass&&document.querySelector("html").classList.add(this.options.htmlClass),document.body.appendChild(this.domNodes.wrapper),this.domNodes.wrapper.appendChild(this.domNodes.image),this.options.overlay&&document.body.appendChild(this.domNodes.overlay),this.relatedElements=this.getRelated(e.rel),this.options.showCounter&&(1==this.relatedElements.length&&this.domNodes.wrapper.contains(this.domNodes.counter)?this.domNodes.wrapper.removeChild(this.domNodes.counter):1<this.relatedElements.length&&!this.domNodes.wrapper.contains(this.domNodes.counter)&&this.domNodes.wrapper.appendChild(this.domNodes.counter)),this.isAnimating=!0,this.currentImageIndex=this.relatedElements.indexOf(e);var n=e.getAttribute(this.options.sourceAttr);this.currentImage=document.createElement("img"),this.currentImage.style.display="none",this.currentImage.setAttribute("src",n),this.currentImage.dataset.scale=1,this.currentImage.dataset.translateX=0,this.currentImage.dataset.translateY=0,-1===this.loadedImages.indexOf(n)&&this.loadedImages.push(n),this.domNodes.image.innerHTML="",this.domNodes.image.setAttribute("style",""),this.domNodes.image.appendChild(this.currentImage),this.fadeIn(this.domNodes.overlay,this.options.fadeSpeed),this.fadeIn([this.domNodes.counter,this.domNodes.navigation,this.domNodes.closeButton],this.options.fadeSpeed),this.show(this.domNodes.spinner),this.domNodes.counter.querySelector(".sl-current").innerHTML=this.currentImageIndex+1,this.domNodes.counter.querySelector(".sl-total").innerHTML=this.relatedElements.length,this.adjustImage(),this.options.preloading&&this.preload(),setTimeout(function(){e.dispatchEvent(new Event("shown."+t.eventNamespace))},this.options.animationSpeed)}},{key:"forceFocus",value:function(){var t=this;this.removeEventListener(document,"focusin."+this.eventNamespace),this.addEventListener(document,"focusin."+this.eventNamespace,function(e){document===e.target||t.domNodes.wrapper===e.target||t.domNodes.wrapper.contains(e.target)||t.domNodes.wrapper.focus()})}},{key:"addEventListener",value:function(e,t,n,r){e=this.wrap(e),t=this.wrap(t);var i,o=f(e);try{for(o.s();!(i=o.n()).done;){var a=i.value;a.namespaces||(a.namespaces={});var s,l=f(t);try{for(l.s();!(s=l.n()).done;){var c=s.value,u=r||!1;a.namespaces[c]=n,a.addEventListener(c.split(".")[0],n,u)}}catch(e){l.e(e)}finally{l.f()}}}catch(e){o.e(e)}finally{o.f()}}},{key:"removeEventListener",value:function(e,t){e=this.wrap(e),t=this.wrap(t);var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i,o=n.value,a=f(t);try{for(a.s();!(i=a.n()).done;){var s=i.value;o.namespaces&&o.namespaces[s]&&(o.removeEventListener(s.split(".")[0],o.namespaces[s]),delete o.namespaces[s])}}catch(e){a.e(e)}finally{a.f()}}}catch(e){r.e(e)}finally{r.f()}}},{key:"fadeOut",value:function(s,e,l){var t,c=this,n=f(s=this.wrap(s));try{for(n.s();!(t=n.n()).done;){t.value.style.opacity=1}}catch(e){n.e(e)}finally{n.f()}this.isFadeIn=!1;var u=16.66666/(e||this.options.fadeSpeed);!function e(){var t=parseFloat(s[0].style.opacity);if((t-=u)<0){var n,r=f(s);try{for(r.s();!(n=r.n()).done;){var i=n.value;i.style.display="none",i.style.opacity=""}}catch(e){r.e(e)}finally{r.f()}l&&l.call(c,s)}else{var o,a=f(s);try{for(a.s();!(o=a.n()).done;){o.value.style.opacity=t}}catch(e){a.e(e)}finally{a.f()}requestAnimationFrame(e)}}()}},{key:"fadeIn",value:function(a,e,s,t){var n,l=this,r=f(a=this.wrap(a));try{for(r.s();!(n=r.n()).done;){var i=n.value;i.style.opacity=0,i.style.display=t||"block"}}catch(e){r.e(e)}finally{r.f()}this.isFadeIn=!0;var c=parseFloat(a[0].dataset.opacityTarget||1),u=16.66666*c/(e||this.options.fadeSpeed);!function e(){var t=parseFloat(a[0].style.opacity);if((t+=u)>c){var n,r=f(a);try{for(r.s();!(n=r.n()).done;){n.value.style.opacity=""}}catch(e){r.e(e)}finally{r.f()}s&&s.call(l,a)}else{var i,o=f(a);try{for(o.s();!(i=o.n()).done;){i.value.style.opacity=t}}catch(e){o.e(e)}finally{o.f()}if(!l.isFadeIn)return;requestAnimationFrame(e)}}()}},{key:"hide",value:function(e){var t,n=f(e=this.wrap(e));try{for(n.s();!(t=n.n()).done;){var r=t.value;r.dataset.initialDisplay=r.style.display,r.style.display="none"}}catch(e){n.e(e)}finally{n.f()}}},{key:"show",value:function(e,t){var n,r=f(e=this.wrap(e));try{for(r.s();!(n=r.n()).done;){var i=n.value;i.style.display=i.dataset.initialDisplay||t||"block"}}catch(e){r.e(e)}finally{r.f()}}},{key:"wrap",value:function(e){return"function"==typeof e[Symbol.iterator]&&"string"!=typeof e?e:[e]}},{key:"on",value:function(e,t){e=this.wrap(e);var n,r=f(this.elements);try{for(r.s();!(n=r.n()).done;){var i=n.value;i.fullyNamespacedEvents||(i.fullyNamespacedEvents={});var o,a=f(e);try{for(a.s();!(o=a.n()).done;){var s=o.value;i.fullyNamespacedEvents[s]=t,i.addEventListener(s,t)}}catch(e){a.e(e)}finally{a.f()}}}catch(e){r.e(e)}finally{r.f()}return this}},{key:"off",value:function(e){e=this.wrap(e);var t,n=f(this.elements);try{for(n.s();!(t=n.n()).done;){var r,i=t.value,o=f(e);try{for(o.s();!(r=o.n()).done;){var a=r.value;void 0!==i.fullyNamespacedEvents&&a in i.fullyNamespacedEvents&&i.removeEventListener(a,i.fullyNamespacedEvents[a])}}catch(e){o.e(e)}finally{o.f()}}}catch(e){n.e(e)}finally{n.f()}return this}},{key:"open",value:function(e){e=e||this.elements[0],"undefined"!=typeof jQuery&&e instanceof jQuery&&(e=e.get(0)),this.initialImageIndex=this.elements.indexOf(e),-1<this.initialImageIndex&&this.openImage(e)}},{key:"next",value:function(){this.loadImage(1)}},{key:"prev",value:function(){this.loadImage(-1)}},{key:"destroy",value:function(){this.off(["close."+this.eventNamespace,"closed."+this.eventNamespace,"nextImageLoaded."+this.eventNamespace,"prevImageLoaded."+this.eventNamespace,"change."+this.eventNamespace,"nextDone."+this.eventNamespace,"prevDone."+this.eventNamespace,"error."+this.eventNamespace,"changed."+this.eventNamespace,"next."+this.eventNamespace,"prev."+this.eventNamespace,"show."+this.eventNamespace,"shown."+this.eventNamespace]),this.removeEventListener(this.elements,"click."+this.eventNamespace),this.removeEventListener(document,"focusin."+this.eventNamespace),this.removeEventListener(document.body,"contextmenu."+this.eventNamespace),this.removeEventListener(document.body,"keyup."+this.eventNamespace),this.removeEventListener(this.domNodes.navigation.getElementsByTagName("button"),"click."+this.eventNamespace),this.removeEventListener(this.domNodes.closeButton,"click."+this.eventNamespace),this.removeEventListener(window,"resize."+this.eventNamespace),this.removeEventListener(window,"hashchange."+this.eventNamespace),this.close(),this.isOpen&&(document.body.removeChild(this.domNodes.wrapper),document.body.removeChild(this.domNodes.overlay)),this.elements=null}},{key:"refresh",value:function(){if(!this.initialSelector)throw"refreshing only works when you initialize using a selector!";var e=this.options,t=this.initialSelector;return this.destroy(),this.constructor(t,e),this}},{key:"hash",get:function(){return window.location.hash.substring(1)}}])&&r(e.prototype,t),n&&r(e,n),i}(),t=e;i.default=t,n.SimpleLightbox=e}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[376]); \ No newline at end of file diff --git a/photos/simplelightbox-master/dist/simple-lightbox.min.css b/photos/simplelightbox-master/dist/simple-lightbox.min.css new file mode 100644 index 0000000000000000000000000000000000000000..9a3f6186bc931a283d9b7378f931fef25b7a34ea --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.min.css @@ -0,0 +1,7 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.7.0 +*/ +body.hidden-scroll{overflow:hidden}.sl-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background:#fff;opacity:.7;display:none;z-index:1035}.sl-wrapper{z-index:1040;width:100%;height:100%;left:0;top:0;position:fixed}.sl-wrapper *{box-sizing:border-box}.sl-wrapper button{border:0 none;background:transparent;font-size:28px;padding:0;cursor:pointer}.sl-wrapper button:hover{opacity:0.7}.sl-wrapper .sl-close{display:none;position:fixed;right:30px;top:30px;z-index:10060;margin-top:-14px;margin-right:-14px;height:44px;width:44px;line-height:44px;font-family:Arial,Baskerville,monospace;color:#000;font-size:3rem}.sl-wrapper .sl-counter{display:none;position:fixed;top:30px;left:30px;z-index:1060;color:#000;font-size:1rem}.sl-wrapper .sl-navigation{width:100%;display:none}.sl-wrapper .sl-navigation button{position:fixed;top:50%;margin-top:-22px;height:44px;width:22px;line-height:44px;text-align:center;display:block;z-index:10060;font-family:Arial,Baskerville,monospace;color:#000}.sl-wrapper .sl-navigation button.sl-next{right:5px;font-size:2rem}.sl-wrapper .sl-navigation button.sl-prev{left:5px;font-size:2rem}@media (min-width: 35.5em){.sl-wrapper .sl-navigation button{width:44px}.sl-wrapper .sl-navigation button.sl-next{right:10px;font-size:3rem}.sl-wrapper .sl-navigation button.sl-prev{left:10px;font-size:3rem}}@media (min-width: 50em){.sl-wrapper .sl-navigation button{width:44px}.sl-wrapper .sl-navigation button.sl-next{right:20px;font-size:3rem}.sl-wrapper .sl-navigation button.sl-prev{left:20px;font-size:3rem}}.sl-wrapper.sl-dir-rtl .sl-navigation{direction:ltr}.sl-wrapper .sl-image{position:fixed;-ms-touch-action:none;touch-action:none;z-index:10000}.sl-wrapper .sl-image img{margin:0;padding:0;display:block;border:0 none;width:100%;height:auto}@media (min-width: 35.5em){.sl-wrapper .sl-image img{border:0 none}}@media (min-width: 50em){.sl-wrapper .sl-image img{border:0 none}}.sl-wrapper .sl-image iframe{background:#000;border:0 none}@media (min-width: 35.5em){.sl-wrapper .sl-image iframe{border:0 none}}@media (min-width: 50em){.sl-wrapper .sl-image iframe{border:0 none}}.sl-wrapper .sl-image .sl-caption{display:none;padding:10px;color:#fff;background:rgba(0,0,0,0.8);font-size:1rem;position:absolute;bottom:0;left:0;right:0}.sl-wrapper .sl-image .sl-caption.pos-top{bottom:auto;top:0}.sl-wrapper .sl-image .sl-caption.pos-outside{bottom:auto}.sl-wrapper .sl-image .sl-download{display:none;position:absolute;bottom:5px;right:5px;color:#000;z-index:1060}.sl-spinner{display:none;border:5px solid #333;border-radius:40px;height:40px;left:50%;margin:-20px 0 0 -20px;opacity:0;position:fixed;top:50%;width:40px;z-index:1007;-webkit-animation:pulsate 1s ease-out infinite;-moz-animation:pulsate 1s ease-out infinite;-ms-animation:pulsate 1s ease-out infinite;-o-animation:pulsate 1s ease-out infinite;animation:pulsate 1s ease-out infinite}.sl-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.sl-transition{transition:-moz-transform ease 200ms;transition:-ms-transform ease 200ms;transition:-o-transform ease 200ms;transition:-webkit-transform ease 200ms;transition:transform ease 200ms}@-webkit-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-moz-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-o-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-ms-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}} diff --git a/photos/simplelightbox-master/dist/simple-lightbox.min.js b/photos/simplelightbox-master/dist/simple-lightbox.min.js new file mode 100644 index 0000000000000000000000000000000000000000..dc8ce01404c5e62073b7610208e82557a9a671ed --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.min.js @@ -0,0 +1 @@ +!function s(a,r,l){function d(e,t){if(!r[e]){if(!a[e]){var o="function"==typeof require&&require;if(!t&&o)return o(e,!0);if(c)return c(e,!0);var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}var n=r[e]={exports:{}};a[e][0].call(n.exports,function(t){return d(a[e][1][t]||t)},n,n.exports,s,a,r,l)}return r[e].exports}for(var c="function"==typeof require&&require,t=0;t<l.length;t++)d(l[t]);return d}({1:[function(t,e,n){(function(o){(function(){"use strict";function h(t,e){var o;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(o=function(t,e){if(!t)return;if("string"==typeof t)return l(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return Array.from(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return l(t,e)}(t))||e&&t&&"number"==typeof t.length){o&&(t=o);var i=0,n=function(){};return{s:n,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,r=!1;return{s:function(){o=t[Symbol.iterator]()},n:function(){var t=o.next();return a=t.done,t},e:function(t){r=!0,s=t},f:function(){try{a||null==o.return||o.return()}finally{if(r)throw s}}}}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,i=new Array(e);o<e;o++)i[o]=t[o];return i}function i(t,e){for(var o=0;o<e.length;o++){var i=e[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=function(){function n(t,e){var o=this;if(!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),s(this,"defaultOptions",{sourceAttr:"href",overlay:!0,spinner:!0,nav:!0,navText:["‹","›"],captions:!0,captionDelay:0,captionSelector:"img",captionType:"attr",captionsData:"title",captionPosition:"bottom",captionClass:"",close:!0,closeText:"×",swipeClose:!0,showCounter:!0,fileExt:"png|jpg|jpeg|gif|webp",animationSlide:!0,animationSpeed:250,preloading:!0,enableKeyboard:!0,loop:!0,rel:!1,docClose:!0,swipeTolerance:50,className:"simple-lightbox",widthRatio:.8,heightRatio:.9,scaleImageToRatio:!1,disableRightClick:!1,disableScroll:!0,alertError:!0,alertErrorMessage:"Image not found, next image will be loaded",additionalHtml:!1,history:!0,throttleInterval:0,doubleTapZoom:2,maxZoom:10,htmlClass:"has-lightbox",rtl:!1,fixedClass:"sl-fixed",fadeSpeed:300,uniqueImages:!0,focus:!0}),s(this,"transitionPrefix",void 0),s(this,"transitionCapable",!1),s(this,"isTouchDevice","ontouchstart"in window),s(this,"initialLocationHash",void 0),s(this,"pushStateSupport","pushState"in history),s(this,"isOpen",!1),s(this,"isAnimating",!1),s(this,"isClosing",!1),s(this,"isFadeIn",!1),s(this,"urlChangedOnce",!1),s(this,"hashReseted",!1),s(this,"historyHasChanges",!1),s(this,"historyUpdateTimeout",null),s(this,"currentImage",void 0),s(this,"eventNamespace","simplelightbox"),s(this,"domNodes",{}),s(this,"loadedImages",[]),s(this,"initialImageIndex",0),s(this,"currentImageIndex",0),s(this,"initialSelector",null),s(this,"globalScrollbarWidth",0),s(this,"controlCoordinates",{swipeDiff:0,swipeYDiff:0,swipeStart:0,swipeEnd:0,swipeYStart:0,swipeYEnd:0,mousedown:!1,imageLeft:0,zoomed:!1,containerHeight:0,containerWidth:0,containerOffsetX:0,containerOffsetY:0,imgHeight:0,imgWidth:0,capture:!1,initialOffsetX:0,initialOffsetY:0,initialPointerOffsetX:0,initialPointerOffsetY:0,initialPointerOffsetX2:0,initialPointerOffsetY2:0,initialScale:1,initialPinchDistance:0,pointerOffsetX:0,pointerOffsetY:0,pointerOffsetX2:0,pointerOffsetY2:0,targetOffsetX:0,targetOffsetY:0,targetScale:0,pinchOffsetX:0,pinchOffsetY:0,limitOffsetX:0,limitOffsetY:0,scaleDifference:0,targetPinchDistance:0,touchCount:0,doubleTapped:!1,touchmoveCount:0}),this.options=Object.assign(this.defaultOptions,e),"string"==typeof t?(this.initialSelector=t,this.elements=Array.from(document.querySelectorAll(t))):this.elements=void 0!==t.length&&0<t.length?Array.from(t):[t],this.relatedElements=[],this.transitionPrefix=this.calculateTransitionPrefix(),this.transitionCapable=!1!==this.transitionPrefix,this.initialLocationHash=this.hash,this.options.rel&&(this.elements=this.getRelated(this.options.rel)),this.options.uniqueImages){var i=[];this.elements=Array.from(this.elements).filter(function(t){var e=t.getAttribute(o.options.sourceAttr);return-1===i.indexOf(e)&&(i.push(e),!0)})}this.createDomNodes(),this.options.close&&this.domNodes.wrapper.appendChild(this.domNodes.closeButton),this.options.nav&&this.domNodes.wrapper.appendChild(this.domNodes.navigation),this.options.spinner&&this.domNodes.wrapper.appendChild(this.domNodes.spinner),this.addEventListener(this.elements,"click."+this.eventNamespace,function(t){if(o.isValidLink(t.currentTarget)){if(t.preventDefault(),o.isAnimating)return!1;o.initialImageIndex=o.elements.indexOf(t.currentTarget),o.openImage(t.currentTarget)}}),this.options.docClose&&this.addEventListener(this.domNodes.wrapper,["click."+this.eventNamespace,"touchstart."+this.eventNamespace],function(t){o.isOpen&&t.target===t.currentTarget&&o.close()}),this.options.disableRightClick&&this.addEventListener(document.body,"contextmenu."+this.eventNamespace,function(t){t.target.classList.contains("sl-overlay")&&t.preventDefault()}),this.options.enableKeyboard&&this.addEventListener(document.body,"keyup."+this.eventNamespace,this.throttle(function(t){if(o.controlCoordinates.swipeDiff=0,o.isAnimating&&"Escape"===t.key)return o.currentImage.setAttribute("src",""),o.isAnimating=!1,o.close();o.isOpen&&(t.preventDefault(),"Escape"===t.key&&o.close(),!o.isAnimating&&-1<["ArrowLeft","ArrowRight"].indexOf(t.key)&&o.loadImage("ArrowRight"===t.key?1:-1))},this.options.throttleInterval)),this.addEvents()}var t,e,o;return t=n,(e=[{key:"createDomNodes",value:function(){this.domNodes.overlay=document.createElement("div"),this.domNodes.overlay.classList.add("sl-overlay"),this.domNodes.overlay.dataset.opacityTarget=".7",this.domNodes.closeButton=document.createElement("button"),this.domNodes.closeButton.classList.add("sl-close"),this.domNodes.closeButton.innerHTML=this.options.closeText,this.domNodes.spinner=document.createElement("div"),this.domNodes.spinner.classList.add("sl-spinner"),this.domNodes.spinner.innerHTML="<div></div>",this.domNodes.navigation=document.createElement("div"),this.domNodes.navigation.classList.add("sl-navigation"),this.domNodes.navigation.innerHTML='<button class="sl-prev">'.concat(this.options.navText[0],'</button><button class="sl-next">').concat(this.options.navText[1],"</button>"),this.domNodes.counter=document.createElement("div"),this.domNodes.counter.classList.add("sl-counter"),this.domNodes.counter.innerHTML='<span class="sl-current"></span>/<span class="sl-total"></span>',this.domNodes.caption=document.createElement("div"),this.domNodes.caption.classList.add("sl-caption","pos-"+this.options.captionPosition),this.options.captionClass&&this.domNodes.caption.classList.add(this.options.captionClass),this.domNodes.image=document.createElement("div"),this.domNodes.image.classList.add("sl-image"),this.domNodes.wrapper=document.createElement("div"),this.domNodes.wrapper.classList.add("sl-wrapper"),this.domNodes.wrapper.setAttribute("tabindex",-1),this.domNodes.wrapper.setAttribute("role","dialog"),this.domNodes.wrapper.setAttribute("aria-hidden",!1),this.options.className&&this.domNodes.wrapper.classList.add(this.options.className),this.options.rtl&&this.domNodes.wrapper.classList.add("sl-dir-rtl")}},{key:"throttle",value:function(t,e){var o;return function(){o||(t.apply(this,arguments),o=!0,setTimeout(function(){return o=!1},e))}}},{key:"isValidLink",value:function(t){return!this.options.fileExt||"pathname"in t&&new RegExp("("+this.options.fileExt+")$","i").test(t.pathname)}},{key:"calculateTransitionPrefix",value:function(){var t=(document.body||document.documentElement).style;return"transition"in t?"":"WebkitTransition"in t?"-webkit-":"MozTransition"in t?"-moz-":"OTransition"in t&&"-o"}},{key:"toggleScrollbar",value:function(t){var i=0,e=[].slice.call(document.querySelectorAll("."+this.options.fixedClass));if("hide"===t){var o=window.innerWidth;if(!o){var n=document.documentElement.getBoundingClientRect();o=n.right-Math.abs(n.left)}if(document.body.clientWidth<o){var s=document.createElement("div"),a=parseInt(document.body.style.paddingRight||0,10);s.classList.add("sl-scrollbar-measure"),document.body.appendChild(s),i=s.offsetWidth-s.clientWidth,document.body.removeChild(s),document.body.dataset.originalPaddingRight=a,0<i&&(document.body.classList.add("hidden-scroll"),document.body.style.paddingRight=a+i+"px",e.forEach(function(t){var e=t.style.paddingRight,o=window.getComputedStyle(t)["padding-right"];t.dataset.originalPaddingRight=e,t.style.paddingRight="".concat(parseFloat(o)+i,"px")}))}}else document.body.classList.remove("hidden-scroll"),document.body.style.paddingRight=document.body.dataset.originalPaddingRight,e.forEach(function(t){var e=t.dataset.originalPaddingRight;void 0!==e&&(t.style.paddingRight=e)});return i}},{key:"close",value:function(){var t=this;if(!this.isOpen||this.isAnimating||this.isClosing)return!1;this.isClosing=!0;var e=this.relatedElements[this.currentImageIndex];for(var o in e.dispatchEvent(new Event("close.simplelightbox")),this.options.history&&(this.historyHasChanges=!1,this.hashReseted||this.resetHash()),this.removeEventListener(document,"focusin."+this.eventNamespace),this.fadeOut(document.querySelectorAll(".sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter"),this.options.fadeSpeed,function(){t.options.disableScroll&&t.toggleScrollbar("show"),t.options.htmlClass&&""!==t.options.htmlClass&&document.querySelector("html").classList.remove(t.options.htmlClass),document.body.removeChild(t.domNodes.wrapper),document.body.removeChild(t.domNodes.overlay),t.domNodes.additionalHtml=null,e.dispatchEvent(new Event("closed.simplelightbox")),t.isClosing=!1}),this.currentImage=null,this.isOpen=!1,this.isAnimating=!1,this.controlCoordinates)this.controlCoordinates[o]=0;this.controlCoordinates.mousedown=!1,this.controlCoordinates.zoomed=!1,this.controlCoordinates.capture=!1,this.controlCoordinates.initialScale=this.minMax(1,1,this.options.maxZoom),this.controlCoordinates.doubleTapped=!1}},{key:"preload",value:function(){var o=this,i=this.currentImageIndex,t=this.relatedElements.length,e=i+1<0?t-1:t-1<=i+1?0:i+1,n=i-1<0?t-1:t-1<=i-1?0:i-1,s=new Image,a=new Image;s.addEventListener("load",function(t){var e=t.target.getAttribute("src");-1===o.loadedImages.indexOf(e)&&o.loadedImages.push(e),o.relatedElements[i].dispatchEvent(new Event("nextImageLoaded."+o.eventNamespace))}),s.setAttribute("src",this.relatedElements[e].getAttribute(this.options.sourceAttr)),a.addEventListener("load",function(t){var e=t.target.getAttribute("src");-1===o.loadedImages.indexOf(e)&&o.loadedImages.push(e),o.relatedElements[i].dispatchEvent(new Event("prevImageLoaded."+o.eventNamespace))}),a.setAttribute("src",this.relatedElements[n].getAttribute(this.options.sourceAttr))}},{key:"loadImage",value:function(t){var e=this,o=t;this.options.rtl&&(t=-t),this.relatedElements[this.currentImageIndex].dispatchEvent(new Event("change."+this.eventNamespace)),this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((1===t?"next":"prev")+"."+this.eventNamespace));var i=this.currentImageIndex+t;if(this.isAnimating||(i<0||i>=this.relatedElements.length)&&!1===this.options.loop)return!1;this.currentImageIndex=i<0?this.relatedElements.length-1:i>this.relatedElements.length-1?0:i,this.domNodes.counter.querySelector(".sl-current").innerHTML=this.currentImageIndex+1,this.options.animationSlide&&this.slide(this.options.animationSpeed/1e3,-100*o-this.controlCoordinates.swipeDiff+"px"),this.fadeOut(this.domNodes.image,this.options.fadeSpeed,function(){e.isAnimating=!0,e.isClosing?e.isAnimating=!1:setTimeout(function(){var t=e.relatedElements[e.currentImageIndex];e.currentImage.setAttribute("src",t.getAttribute(e.options.sourceAttr)),-1===e.loadedImages.indexOf(t.getAttribute(e.options.sourceAttr))&&e.show(e.domNodes.spinner),e.domNodes.image.contains(e.domNodes.caption)&&e.domNodes.image.removeChild(e.domNodes.caption),e.adjustImage(o),e.options.preloading&&e.preload()},100)})}},{key:"adjustImage",value:function(a){var r=this;if(!this.currentImage)return!1;var t=new Image,l=window.innerWidth*this.options.widthRatio,d=window.innerHeight*this.options.heightRatio;t.setAttribute("src",this.currentImage.getAttribute("src")),this.currentImage.dataset.scale=1,this.currentImage.dataset.translateX=0,this.currentImage.dataset.translateY=0,this.zoomPanElement(0,0,1),t.addEventListener("error",function(t){r.relatedElements[r.currentImageIndex].dispatchEvent(new Event("error."+r.eventNamespace)),r.isAnimating=!1,r.isOpen=!1,r.domNodes.spinner.style.display="none";var e=1===a||-1===a;if(r.initialImageIndex===r.currentImageIndex&&e)return r.close();r.options.alertError&&alert(r.options.alertErrorMessage),r.loadImage(e?a:1)}),t.addEventListener("load",function(t){void 0!==a&&(r.relatedElements[r.currentImageIndex].dispatchEvent(new Event("changed."+r.eventNamespace)),r.relatedElements[r.currentImageIndex].dispatchEvent(new Event((1===a?"nextDone":"prevDone")+"."+r.eventNamespace))),r.options.history&&r.updateURL(),-1===r.loadedImages.indexOf(r.currentImage.getAttribute("src"))&&r.loadedImages.push(r.currentImage.getAttribute("src"));var e,o,i=t.target.width,n=t.target.height;if(r.options.scaleImageToRatio||l<i||d<n){var s=l/d<i/n?i/l:n/d;i/=s,n/=s}r.domNodes.image.style.top=(window.innerHeight-n)/2+"px",r.domNodes.image.style.left=(window.innerWidth-i-r.globalScrollbarWidth)/2+"px",r.domNodes.image.style.width=i+"px",r.domNodes.image.style.height=n+"px",r.domNodes.spinner.style.display="none",r.options.focus&&r.forceFocus(),r.fadeIn(r.currentImage,r.options.fadeSpeed,function(){r.options.focus&&r.domNodes.wrapper.focus()}),r.isOpen=!0,"string"==typeof r.options.captionSelector?e="self"===r.options.captionSelector?r.relatedElements[r.currentImageIndex]:r.relatedElements[r.currentImageIndex].querySelector(r.options.captionSelector):"function"==typeof r.options.captionSelector&&(e=r.options.captionSelector(r.relatedElements[r.currentImageIndex])),r.options.captions&&e&&(o="data"===r.options.captionType?e.dataset[r.options.captionsData]:"text"===r.options.captionType?e.innerHTML:e.getAttribute(r.options.captionsData)),r.options.loop||(0===r.currentImageIndex&&r.hide(r.domNodes.navigation.querySelector(".sl-prev")),r.currentImageIndex>=r.relatedElements.length-1&&r.hide(r.domNodes.navigation.querySelector(".sl-next")),0<r.currentImageIndex&&r.show(r.domNodes.navigation.querySelector(".sl-prev")),r.currentImageIndex<r.relatedElements.length-1&&r.show(r.domNodes.navigation.querySelector(".sl-next"))),1===r.relatedElements.length?r.hide(r.domNodes.navigation.querySelectorAll(".sl-prev, .sl-next")):r.show(r.domNodes.navigation.querySelectorAll(".sl-prev, .sl-next")),1===a||-1===a?(r.options.animationSlide&&(r.slide(0,100*a+"px"),setTimeout(function(){r.slide(r.options.animationSpeed/1e3,"0px")},50)),r.fadeIn(r.domNodes.image,r.options.fadeSpeed,function(){r.isAnimating=!1,r.setCaption(o,i)})):(r.isAnimating=!1,r.setCaption(o,i)),r.options.additionalHtml&&!r.domNodes.additionalHtml&&(r.domNodes.additionalHtml=document.createElement("div"),r.domNodes.additionalHtml.classList.add("sl-additional-html"),r.domNodes.additionalHtml.innerHTML=r.options.additionalHtml,r.domNodes.image.appendChild(r.domNodes.additionalHtml))})}},{key:"zoomPanElement",value:function(t,e,o){this.currentImage.style[this.transitionPrefix+"transform"]="translate("+t+","+e+") scale("+o+")"}},{key:"minMax",value:function(t,e,o){return t<e?e:o<t?o:t}},{key:"setZoomData",value:function(t,e,o){this.currentImage.dataset.scale=t,this.currentImage.dataset.translateX=e,this.currentImage.dataset.translateY=o}},{key:"hashchangeHandler",value:function(){this.isOpen&&this.hash===this.initialLocationHash&&(this.hashReseted=!0,this.close())}},{key:"addEvents",value:function(){var o=this;this.addEventListener(window,"resize."+this.eventNamespace,function(t){o.isOpen&&o.adjustImage()}),this.addEventListener(this.domNodes.closeButton,["click."+this.eventNamespace,"touchstart."+this.eventNamespace],this.close.bind(this)),this.options.history&&setTimeout(function(){o.addEventListener(window,"hashchange."+o.eventNamespace,function(t){o.isOpen&&o.hashchangeHandler()})},40),this.addEventListener(this.domNodes.navigation.getElementsByTagName("button"),"click."+this.eventNamespace,function(t){if(!t.currentTarget.tagName.match(/button/i))return!0;t.preventDefault(),o.controlCoordinates.swipeDiff=0,o.loadImage(t.currentTarget.classList.contains("sl-next")?1:-1)}),this.addEventListener(this.domNodes.image,["touchstart."+this.eventNamespace,"mousedown."+this.eventNamespace],function(t){if("A"===t.target.tagName&&"touchstart"===t.type)return!0;if("mousedown"===t.type)o.controlCoordinates.initialPointerOffsetX=t.clientX,o.controlCoordinates.initialPointerOffsetY=t.clientY,o.controlCoordinates.containerHeight=o.getDimensions(o.domNodes.image).height,o.controlCoordinates.containerWidth=o.getDimensions(o.domNodes.image).width,o.controlCoordinates.imgHeight=o.getDimensions(o.currentImage).height,o.controlCoordinates.imgWidth=o.getDimensions(o.currentImage).width,o.controlCoordinates.containerOffsetX=o.domNodes.image.offsetLeft,o.controlCoordinates.containerOffsetY=o.domNodes.image.offsetTop,o.controlCoordinates.initialOffsetX=parseFloat(o.currentImage.dataset.translateX),o.controlCoordinates.initialOffsetY=parseFloat(o.currentImage.dataset.translateY),o.controlCoordinates.capture=!0;else{if(o.controlCoordinates.touchCount=t.touches.length,o.controlCoordinates.initialPointerOffsetX=t.touches[0].clientX,o.controlCoordinates.initialPointerOffsetY=t.touches[0].clientY,o.controlCoordinates.containerHeight=o.getDimensions(o.domNodes.image).height,o.controlCoordinates.containerWidth=o.getDimensions(o.domNodes.image).width,o.controlCoordinates.imgHeight=o.getDimensions(o.currentImage).height,o.controlCoordinates.imgWidth=o.getDimensions(o.currentImage).width,o.controlCoordinates.containerOffsetX=o.domNodes.image.offsetLeft,o.controlCoordinates.containerOffsetY=o.domNodes.image.offsetTop,1===o.controlCoordinates.touchCount){if(o.controlCoordinates.doubleTapped)return o.currentImage.classList.add("sl-transition"),o.controlCoordinates.zoomed?(o.controlCoordinates.initialScale=1,o.setZoomData(o.controlCoordinates.initialScale,0,0),o.zoomPanElement("0px","0px",o.controlCoordinates.initialScale),o.controlCoordinates.zoomed=!1):(o.controlCoordinates.initialScale=o.options.doubleTapZoom,o.setZoomData(o.controlCoordinates.initialScale,0,0),o.zoomPanElement("0px","0px",o.controlCoordinates.initialScale),o.domNodes.caption.style.opacity||"none"===o.domNodes.caption.style.display||o.fadeOut(o.domNodes.caption,o.options.fadeSpeed),o.controlCoordinates.zoomed=!0),setTimeout(function(){o.currentImage&&o.currentImage.classList.remove("sl-transition")},200),!1;o.controlCoordinates.doubleTapped=!0,setTimeout(function(){o.controlCoordinates.doubleTapped=!1},300),o.controlCoordinates.initialOffsetX=parseFloat(o.currentImage.dataset.translateX),o.controlCoordinates.initialOffsetY=parseFloat(o.currentImage.dataset.translateY)}else 2===o.controlCoordinates.touchCount&&(o.controlCoordinates.initialPointerOffsetX2=t.touches[1].clientX,o.controlCoordinates.initialPointerOffsetY2=t.touches[1].clientY,o.controlCoordinates.initialOffsetX=parseFloat(o.currentImage.dataset.translateX),o.controlCoordinates.initialOffsetY=parseFloat(o.currentImage.dataset.translateY),o.controlCoordinates.pinchOffsetX=(o.controlCoordinates.initialPointerOffsetX+o.controlCoordinates.initialPointerOffsetX2)/2,o.controlCoordinates.pinchOffsetY=(o.controlCoordinates.initialPointerOffsetY+o.controlCoordinates.initialPointerOffsetY2)/2,o.controlCoordinates.initialPinchDistance=Math.sqrt((o.controlCoordinates.initialPointerOffsetX-o.controlCoordinates.initialPointerOffsetX2)*(o.controlCoordinates.initialPointerOffsetX-o.controlCoordinates.initialPointerOffsetX2)+(o.controlCoordinates.initialPointerOffsetY-o.controlCoordinates.initialPointerOffsetY2)*(o.controlCoordinates.initialPointerOffsetY-o.controlCoordinates.initialPointerOffsetY2)));o.controlCoordinates.capture=!0}return!!o.controlCoordinates.mousedown||(o.transitionCapable&&(o.controlCoordinates.imageLeft=parseInt(o.domNodes.image.style.left,10)),o.controlCoordinates.mousedown=!0,o.controlCoordinates.swipeDiff=0,o.controlCoordinates.swipeYDiff=0,o.controlCoordinates.swipeStart=t.pageX||t.touches[0].pageX,o.controlCoordinates.swipeYStart=t.pageY||t.touches[0].pageY,!1)}),this.addEventListener(this.domNodes.image,["touchmove."+this.eventNamespace,"mousemove."+this.eventNamespace,"MSPointerMove"],function(t){if(!o.controlCoordinates.mousedown)return!0;if(t.preventDefault(),"touchmove"===t.type){if(!1===o.controlCoordinates.capture)return!1;o.controlCoordinates.pointerOffsetX=t.touches[0].clientX,o.controlCoordinates.pointerOffsetY=t.touches[0].clientY,o.controlCoordinates.touchCount=t.touches.length,o.controlCoordinates.touchmoveCount++,1<o.controlCoordinates.touchCount?(o.controlCoordinates.pointerOffsetX2=t.touches[1].clientX,o.controlCoordinates.pointerOffsetY2=t.touches[1].clientY,o.controlCoordinates.targetPinchDistance=Math.sqrt((o.controlCoordinates.pointerOffsetX-o.controlCoordinates.pointerOffsetX2)*(o.controlCoordinates.pointerOffsetX-o.controlCoordinates.pointerOffsetX2)+(o.controlCoordinates.pointerOffsetY-o.controlCoordinates.pointerOffsetY2)*(o.controlCoordinates.pointerOffsetY-o.controlCoordinates.pointerOffsetY2)),null===o.controlCoordinates.initialPinchDistance&&(o.controlCoordinates.initialPinchDistance=o.controlCoordinates.targetPinchDistance),1<=Math.abs(o.controlCoordinates.initialPinchDistance-o.controlCoordinates.targetPinchDistance)&&(o.controlCoordinates.targetScale=o.minMax(o.controlCoordinates.targetPinchDistance/o.controlCoordinates.initialPinchDistance*o.controlCoordinates.initialScale,1,o.options.maxZoom),o.controlCoordinates.limitOffsetX=(o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale-o.controlCoordinates.containerWidth)/2,o.controlCoordinates.limitOffsetY=(o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale-o.controlCoordinates.containerHeight)/2,o.controlCoordinates.scaleDifference=o.controlCoordinates.targetScale-o.controlCoordinates.initialScale,o.controlCoordinates.targetOffsetX=o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale<=o.controlCoordinates.containerWidth?0:o.minMax(o.controlCoordinates.initialOffsetX-(o.controlCoordinates.pinchOffsetX-o.controlCoordinates.containerOffsetX-o.controlCoordinates.containerWidth/2-o.controlCoordinates.initialOffsetX)/(o.controlCoordinates.targetScale-o.controlCoordinates.scaleDifference)*o.controlCoordinates.scaleDifference,-1*o.controlCoordinates.limitOffsetX,o.controlCoordinates.limitOffsetX),o.controlCoordinates.targetOffsetY=o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale<=o.controlCoordinates.containerHeight?0:o.minMax(o.controlCoordinates.initialOffsetY-(o.controlCoordinates.pinchOffsetY-o.controlCoordinates.containerOffsetY-o.controlCoordinates.containerHeight/2-o.controlCoordinates.initialOffsetY)/(o.controlCoordinates.targetScale-o.controlCoordinates.scaleDifference)*o.controlCoordinates.scaleDifference,-1*o.controlCoordinates.limitOffsetY,o.controlCoordinates.limitOffsetY),o.zoomPanElement(o.controlCoordinates.targetOffsetX+"px",o.controlCoordinates.targetOffsetY+"px",o.controlCoordinates.targetScale),1<o.controlCoordinates.targetScale&&(o.controlCoordinates.zoomed=!0,o.domNodes.caption.style.opacity||"none"===o.domNodes.caption.style.display||o.fadeOut(o.domNodes.caption,o.options.fadeSpeed)),o.controlCoordinates.initialPinchDistance=o.controlCoordinates.targetPinchDistance,o.controlCoordinates.initialScale=o.controlCoordinates.targetScale,o.controlCoordinates.initialOffsetX=o.controlCoordinates.targetOffsetX,o.controlCoordinates.initialOffsetY=o.controlCoordinates.targetOffsetY)):(o.controlCoordinates.targetScale=o.controlCoordinates.initialScale,o.controlCoordinates.limitOffsetX=(o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale-o.controlCoordinates.containerWidth)/2,o.controlCoordinates.limitOffsetY=(o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale-o.controlCoordinates.containerHeight)/2,o.controlCoordinates.targetOffsetX=o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale<=o.controlCoordinates.containerWidth?0:o.minMax(o.controlCoordinates.pointerOffsetX-(o.controlCoordinates.initialPointerOffsetX-o.controlCoordinates.initialOffsetX),-1*o.controlCoordinates.limitOffsetX,o.controlCoordinates.limitOffsetX),o.controlCoordinates.targetOffsetY=o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale<=o.controlCoordinates.containerHeight?0:o.minMax(o.controlCoordinates.pointerOffsetY-(o.controlCoordinates.initialPointerOffsetY-o.controlCoordinates.initialOffsetY),-1*o.controlCoordinates.limitOffsetY,o.controlCoordinates.limitOffsetY),Math.abs(o.controlCoordinates.targetOffsetX)===Math.abs(o.controlCoordinates.limitOffsetX)&&(o.controlCoordinates.initialOffsetX=o.controlCoordinates.targetOffsetX,o.controlCoordinates.initialPointerOffsetX=o.controlCoordinates.pointerOffsetX),Math.abs(o.controlCoordinates.targetOffsetY)===Math.abs(o.controlCoordinates.limitOffsetY)&&(o.controlCoordinates.initialOffsetY=o.controlCoordinates.targetOffsetY,o.controlCoordinates.initialPointerOffsetY=o.controlCoordinates.pointerOffsetY),o.setZoomData(o.controlCoordinates.initialScale,o.controlCoordinates.targetOffsetX,o.controlCoordinates.targetOffsetY),o.zoomPanElement(o.controlCoordinates.targetOffsetX+"px",o.controlCoordinates.targetOffsetY+"px",o.controlCoordinates.targetScale))}if("mousemove"===t.type&&o.controlCoordinates.mousedown){if("touchmove"==t.type)return!0;if(!1===o.controlCoordinates.capture)return!1;o.controlCoordinates.pointerOffsetX=t.clientX,o.controlCoordinates.pointerOffsetY=t.clientY,o.controlCoordinates.targetScale=o.controlCoordinates.initialScale,o.controlCoordinates.limitOffsetX=(o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale-o.controlCoordinates.containerWidth)/2,o.controlCoordinates.limitOffsetY=(o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale-o.controlCoordinates.containerHeight)/2,o.controlCoordinates.targetOffsetX=o.controlCoordinates.imgWidth*o.controlCoordinates.targetScale<=o.controlCoordinates.containerWidth?0:o.minMax(o.controlCoordinates.pointerOffsetX-(o.controlCoordinates.initialPointerOffsetX-o.controlCoordinates.initialOffsetX),-1*o.controlCoordinates.limitOffsetX,o.controlCoordinates.limitOffsetX),o.controlCoordinates.targetOffsetY=o.controlCoordinates.imgHeight*o.controlCoordinates.targetScale<=o.controlCoordinates.containerHeight?0:o.minMax(o.controlCoordinates.pointerOffsetY-(o.controlCoordinates.initialPointerOffsetY-o.controlCoordinates.initialOffsetY),-1*o.controlCoordinates.limitOffsetY,o.controlCoordinates.limitOffsetY),Math.abs(o.controlCoordinates.targetOffsetX)===Math.abs(o.controlCoordinates.limitOffsetX)&&(o.controlCoordinates.initialOffsetX=o.controlCoordinates.targetOffsetX,o.controlCoordinates.initialPointerOffsetX=o.controlCoordinates.pointerOffsetX),Math.abs(o.controlCoordinates.targetOffsetY)===Math.abs(o.controlCoordinates.limitOffsetY)&&(o.controlCoordinates.initialOffsetY=o.controlCoordinates.targetOffsetY,o.controlCoordinates.initialPointerOffsetY=o.controlCoordinates.pointerOffsetY),o.setZoomData(o.controlCoordinates.initialScale,o.controlCoordinates.targetOffsetX,o.controlCoordinates.targetOffsetY),o.zoomPanElement(o.controlCoordinates.targetOffsetX+"px",o.controlCoordinates.targetOffsetY+"px",o.controlCoordinates.targetScale)}o.controlCoordinates.zoomed||(o.controlCoordinates.swipeEnd=t.pageX||t.touches[0].pageX,o.controlCoordinates.swipeYEnd=t.pageY||t.touches[0].pageY,o.controlCoordinates.swipeDiff=o.controlCoordinates.swipeStart-o.controlCoordinates.swipeEnd,o.controlCoordinates.swipeYDiff=o.controlCoordinates.swipeYStart-o.controlCoordinates.swipeYEnd,o.options.animationSlide&&o.slide(0,-o.controlCoordinates.swipeDiff+"px"))}),this.addEventListener(this.domNodes.image,["touchend."+this.eventNamespace,"mouseup."+this.eventNamespace,"touchcancel."+this.eventNamespace,"mouseleave."+this.eventNamespace,"pointerup","pointercancel","MSPointerUp","MSPointerCancel"],function(t){if(o.isTouchDevice&&"touchend"===t.type&&(o.controlCoordinates.touchCount=t.touches.length,0===o.controlCoordinates.touchCount?(o.currentImage&&o.setZoomData(o.controlCoordinates.initialScale,o.controlCoordinates.targetOffsetX,o.controlCoordinates.targetOffsetY),1===o.controlCoordinates.initialScale&&(o.controlCoordinates.zoomed=!1,"none"===o.domNodes.caption.style.display&&o.fadeIn(o.domNodes.caption,o.options.fadeSpeed)),o.controlCoordinates.initialPinchDistance=null,o.controlCoordinates.capture=!1):1===o.controlCoordinates.touchCount?(o.controlCoordinates.initialPointerOffsetX=t.touches[0].clientX,o.controlCoordinates.initialPointerOffsetY=t.touches[0].clientY):1<o.controlCoordinates.touchCount&&(o.controlCoordinates.initialPinchDistance=null)),o.controlCoordinates.mousedown){var e=!(o.controlCoordinates.mousedown=!1);o.options.loop||(0===o.currentImageIndex&&o.controlCoordinates.swipeDiff<0&&(e=!1),o.currentImageIndex>=o.relatedElements.length-1&&0<o.controlCoordinates.swipeDiff&&(e=!1)),Math.abs(o.controlCoordinates.swipeDiff)>o.options.swipeTolerance&&e?o.loadImage(0<o.controlCoordinates.swipeDiff?1:-1):o.options.animationSlide&&o.slide(o.options.animationSpeed/1e3,"0px"),o.options.swipeClose&&50<Math.abs(o.controlCoordinates.swipeYDiff)&&Math.abs(o.controlCoordinates.swipeDiff)<o.options.swipeTolerance&&o.close()}}),this.addEventListener(this.domNodes.image,["dblclick"],function(t){if(!o.isTouchDevice)return o.controlCoordinates.initialPointerOffsetX=t.clientX,o.controlCoordinates.initialPointerOffsetY=t.clientY,o.controlCoordinates.containerHeight=o.getDimensions(o.domNodes.image).height,o.controlCoordinates.containerWidth=o.getDimensions(o.domNodes.image).width,o.controlCoordinates.imgHeight=o.getDimensions(o.currentImage).height,o.controlCoordinates.imgWidth=o.getDimensions(o.currentImage).width,o.controlCoordinates.containerOffsetX=o.domNodes.image.offsetLeft,o.controlCoordinates.containerOffsetY=o.domNodes.image.offsetTop,o.currentImage.classList.add("sl-transition"),o.controlCoordinates.zoomed?(o.controlCoordinates.initialScale=1,o.setZoomData(o.controlCoordinates.initialScale,0,0),o.zoomPanElement("0px","0px",o.controlCoordinates.initialScale),o.controlCoordinates.zoomed=!1,"none"===o.domNodes.caption.style.display&&o.fadeIn(o.domNodes.caption,o.options.fadeSpeed)):(o.controlCoordinates.initialScale=o.options.doubleTapZoom,o.setZoomData(o.controlCoordinates.initialScale,0,0),o.zoomPanElement("0px","0px",o.controlCoordinates.initialScale),o.domNodes.caption.style.opacity||"none"===o.domNodes.caption.style.display||o.fadeOut(o.domNodes.caption,o.options.fadeSpeed),o.controlCoordinates.zoomed=!0),setTimeout(function(){o.currentImage&&o.currentImage.classList.remove("sl-transition")},200),!(o.controlCoordinates.capture=!0)})}},{key:"getDimensions",value:function(t){var e=window.getComputedStyle(t),o=t.offsetHeight,i=t.offsetWidth,n=parseFloat(e.borderTopWidth);return{height:o-parseFloat(e.borderBottomWidth)-n-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom),width:i-parseFloat(e.borderLeftWidth)-parseFloat(e.borderRightWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)}}},{key:"updateHash",value:function(){var t="pid="+(this.currentImageIndex+1),e=window.location.href.split("#")[0]+"#"+t;this.hashReseted=!1,this.pushStateSupport?window.history[this.historyHasChanges?"replaceState":"pushState"]("",document.title,e):this.historyHasChanges?window.location.replace(e):window.location.hash=t,this.historyHasChanges||(this.urlChangedOnce=!0),this.historyHasChanges=!0}},{key:"resetHash",value:function(){this.hashReseted=!0,this.urlChangedOnce?history.back():this.pushStateSupport?history.pushState("",document.title,window.location.pathname+window.location.search):window.location.hash="",clearTimeout(this.historyUpdateTimeout)}},{key:"updateURL",value:function(){clearTimeout(this.historyUpdateTimeout),this.historyHasChanges?this.historyUpdateTimeout=setTimeout(this.updateHash.bind(this),800):this.updateHash()}},{key:"setCaption",value:function(t,e){var o=this;this.options.captions&&t&&""!==t&&void 0!==t&&(this.hide(this.domNodes.caption),this.domNodes.caption.style.width=e+"px",this.domNodes.caption.innerHTML=t,this.domNodes.image.appendChild(this.domNodes.caption),setTimeout(function(){o.fadeIn(o.domNodes.caption,o.options.fadeSpeed)},this.options.captionDelay))}},{key:"slide",value:function(t,e){if(!this.transitionCapable)return this.domNodes.image.style.left=e;this.domNodes.image.style[this.transitionPrefix+"transform"]="translateX("+e+")",this.domNodes.image.style[this.transitionPrefix+"transition"]=this.transitionPrefix+"transform "+t+"s linear"}},{key:"getRelated",value:function(e){return e&&!1!==e&&"nofollow"!==e?Array.from(this.elements).filter(function(t){return t.getAttribute("rel")===e}):this.elements}},{key:"openImage",value:function(t){var e=this;t.dispatchEvent(new Event("show."+this.eventNamespace)),this.options.disableScroll&&(this.globalScrollbarWidth=this.toggleScrollbar("hide")),this.options.htmlClass&&""!==this.options.htmlClass&&document.querySelector("html").classList.add(this.options.htmlClass),document.body.appendChild(this.domNodes.wrapper),this.domNodes.wrapper.appendChild(this.domNodes.image),this.options.overlay&&document.body.appendChild(this.domNodes.overlay),this.relatedElements=this.getRelated(t.rel),this.options.showCounter&&(1==this.relatedElements.length&&this.domNodes.wrapper.contains(this.domNodes.counter)?this.domNodes.wrapper.removeChild(this.domNodes.counter):1<this.relatedElements.length&&!this.domNodes.wrapper.contains(this.domNodes.counter)&&this.domNodes.wrapper.appendChild(this.domNodes.counter)),this.isAnimating=!0,this.currentImageIndex=this.relatedElements.indexOf(t);var o=t.getAttribute(this.options.sourceAttr);this.currentImage=document.createElement("img"),this.currentImage.style.display="none",this.currentImage.setAttribute("src",o),this.currentImage.dataset.scale=1,this.currentImage.dataset.translateX=0,this.currentImage.dataset.translateY=0,-1===this.loadedImages.indexOf(o)&&this.loadedImages.push(o),this.domNodes.image.innerHTML="",this.domNodes.image.setAttribute("style",""),this.domNodes.image.appendChild(this.currentImage),this.fadeIn(this.domNodes.overlay,this.options.fadeSpeed),this.fadeIn([this.domNodes.counter,this.domNodes.navigation,this.domNodes.closeButton],this.options.fadeSpeed),this.show(this.domNodes.spinner),this.domNodes.counter.querySelector(".sl-current").innerHTML=this.currentImageIndex+1,this.domNodes.counter.querySelector(".sl-total").innerHTML=this.relatedElements.length,this.adjustImage(),this.options.preloading&&this.preload(),setTimeout(function(){t.dispatchEvent(new Event("shown."+e.eventNamespace))},this.options.animationSpeed)}},{key:"forceFocus",value:function(){var e=this;this.removeEventListener(document,"focusin."+this.eventNamespace),this.addEventListener(document,"focusin."+this.eventNamespace,function(t){document===t.target||e.domNodes.wrapper===t.target||e.domNodes.wrapper.contains(t.target)||e.domNodes.wrapper.focus()})}},{key:"addEventListener",value:function(t,e,o,i){t=this.wrap(t),e=this.wrap(e);var n,s=h(t);try{for(s.s();!(n=s.n()).done;){var a=n.value;a.namespaces||(a.namespaces={});var r,l=h(e);try{for(l.s();!(r=l.n()).done;){var d=r.value,c=i||!1;a.namespaces[d]=o,a.addEventListener(d.split(".")[0],o,c)}}catch(t){l.e(t)}finally{l.f()}}}catch(t){s.e(t)}finally{s.f()}}},{key:"removeEventListener",value:function(t,e){t=this.wrap(t),e=this.wrap(e);var o,i=h(t);try{for(i.s();!(o=i.n()).done;){var n,s=o.value,a=h(e);try{for(a.s();!(n=a.n()).done;){var r=n.value;s.namespaces&&s.namespaces[r]&&(s.removeEventListener(r.split(".")[0],s.namespaces[r]),delete s.namespaces[r])}}catch(t){a.e(t)}finally{a.f()}}}catch(t){i.e(t)}finally{i.f()}}},{key:"fadeOut",value:function(r,t,l){var e,d=this,o=h(r=this.wrap(r));try{for(o.s();!(e=o.n()).done;){e.value.style.opacity=1}}catch(t){o.e(t)}finally{o.f()}this.isFadeIn=!1;var c=16.66666/(t||this.options.fadeSpeed);!function t(){var e=parseFloat(r[0].style.opacity);if((e-=c)<0){var o,i=h(r);try{for(i.s();!(o=i.n()).done;){var n=o.value;n.style.display="none",n.style.opacity=""}}catch(t){i.e(t)}finally{i.f()}l&&l.call(d,r)}else{var s,a=h(r);try{for(a.s();!(s=a.n()).done;){s.value.style.opacity=e}}catch(t){a.e(t)}finally{a.f()}requestAnimationFrame(t)}}()}},{key:"fadeIn",value:function(a,t,r,e){var o,l=this,i=h(a=this.wrap(a));try{for(i.s();!(o=i.n()).done;){var n=o.value;n.style.opacity=0,n.style.display=e||"block"}}catch(t){i.e(t)}finally{i.f()}this.isFadeIn=!0;var d=parseFloat(a[0].dataset.opacityTarget||1),c=16.66666*d/(t||this.options.fadeSpeed);!function t(){var e=parseFloat(a[0].style.opacity);if((e+=c)>d){var o,i=h(a);try{for(i.s();!(o=i.n()).done;){o.value.style.opacity=""}}catch(t){i.e(t)}finally{i.f()}r&&r.call(l,a)}else{var n,s=h(a);try{for(s.s();!(n=s.n()).done;){n.value.style.opacity=e}}catch(t){s.e(t)}finally{s.f()}if(!l.isFadeIn)return;requestAnimationFrame(t)}}()}},{key:"hide",value:function(t){var e,o=h(t=this.wrap(t));try{for(o.s();!(e=o.n()).done;){var i=e.value;i.dataset.initialDisplay=i.style.display,i.style.display="none"}}catch(t){o.e(t)}finally{o.f()}}},{key:"show",value:function(t,e){var o,i=h(t=this.wrap(t));try{for(i.s();!(o=i.n()).done;){var n=o.value;n.style.display=n.dataset.initialDisplay||e||"block"}}catch(t){i.e(t)}finally{i.f()}}},{key:"wrap",value:function(t){return"function"==typeof t[Symbol.iterator]&&"string"!=typeof t?t:[t]}},{key:"on",value:function(t,e){t=this.wrap(t);var o,i=h(this.elements);try{for(i.s();!(o=i.n()).done;){var n=o.value;n.fullyNamespacedEvents||(n.fullyNamespacedEvents={});var s,a=h(t);try{for(a.s();!(s=a.n()).done;){var r=s.value;n.fullyNamespacedEvents[r]=e,n.addEventListener(r,e)}}catch(t){a.e(t)}finally{a.f()}}}catch(t){i.e(t)}finally{i.f()}return this}},{key:"off",value:function(t){t=this.wrap(t);var e,o=h(this.elements);try{for(o.s();!(e=o.n()).done;){var i,n=e.value,s=h(t);try{for(s.s();!(i=s.n()).done;){var a=i.value;void 0!==n.fullyNamespacedEvents&&a in n.fullyNamespacedEvents&&n.removeEventListener(a,n.fullyNamespacedEvents[a])}}catch(t){s.e(t)}finally{s.f()}}}catch(t){o.e(t)}finally{o.f()}return this}},{key:"open",value:function(t){t=t||this.elements[0],"undefined"!=typeof jQuery&&t instanceof jQuery&&(t=t.get(0)),this.initialImageIndex=this.elements.indexOf(t),-1<this.initialImageIndex&&this.openImage(t)}},{key:"next",value:function(){this.loadImage(1)}},{key:"prev",value:function(){this.loadImage(-1)}},{key:"destroy",value:function(){this.off(["close."+this.eventNamespace,"closed."+this.eventNamespace,"nextImageLoaded."+this.eventNamespace,"prevImageLoaded."+this.eventNamespace,"change."+this.eventNamespace,"nextDone."+this.eventNamespace,"prevDone."+this.eventNamespace,"error."+this.eventNamespace,"changed."+this.eventNamespace,"next."+this.eventNamespace,"prev."+this.eventNamespace,"show."+this.eventNamespace,"shown."+this.eventNamespace]),this.removeEventListener(this.elements,"click."+this.eventNamespace),this.removeEventListener(document,"focusin."+this.eventNamespace),this.removeEventListener(document.body,"contextmenu."+this.eventNamespace),this.removeEventListener(document.body,"keyup."+this.eventNamespace),this.removeEventListener(this.domNodes.navigation.getElementsByTagName("button"),"click."+this.eventNamespace),this.removeEventListener(this.domNodes.closeButton,"click."+this.eventNamespace),this.removeEventListener(window,"resize."+this.eventNamespace),this.removeEventListener(window,"hashchange."+this.eventNamespace),this.close(),this.isOpen&&(document.body.removeChild(this.domNodes.wrapper),document.body.removeChild(this.domNodes.overlay)),this.elements=null}},{key:"refresh",value:function(){if(!this.initialSelector)throw"refreshing only works when you initialize using a selector!";var t=this.options,e=this.initialSelector;return this.destroy(),this.constructor(e,t),this}},{key:"hash",get:function(){return window.location.hash.substring(1)}}])&&i(t.prototype,e),o&&i(t,o),n}(),e=t;n.default=e,o.SimpleLightbox=t}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1]); \ No newline at end of file diff --git a/photos/simplelightbox-master/dist/simple-lightbox.modules.js b/photos/simplelightbox-master/dist/simple-lightbox.modules.js new file mode 100644 index 0000000000000000000000000000000000000000..0f961b0ec542eb2265546211139f9466f09a4933 --- /dev/null +++ b/photos/simplelightbox-master/dist/simple-lightbox.modules.js @@ -0,0 +1,1644 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.7.0 +*/ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SimpleLightbox = /*#__PURE__*/function () { + function SimpleLightbox(elements, options) { + var _this = this; + + _classCallCheck(this, SimpleLightbox); + + _defineProperty(this, "defaultOptions", { + sourceAttr: 'href', + overlay: true, + spinner: true, + nav: true, + navText: ['‹', '›'], + captions: true, + captionDelay: 0, + captionSelector: 'img', + captionType: 'attr', + captionsData: 'title', + captionPosition: 'bottom', + captionClass: '', + close: true, + closeText: '×', + swipeClose: true, + showCounter: true, + fileExt: 'png|jpg|jpeg|gif|webp', + animationSlide: true, + animationSpeed: 250, + preloading: true, + enableKeyboard: true, + loop: true, + rel: false, + docClose: true, + swipeTolerance: 50, + className: 'simple-lightbox', + widthRatio: 0.8, + heightRatio: 0.9, + scaleImageToRatio: false, + disableRightClick: false, + disableScroll: true, + alertError: true, + alertErrorMessage: 'Image not found, next image will be loaded', + additionalHtml: false, + history: true, + throttleInterval: 0, + doubleTapZoom: 2, + maxZoom: 10, + htmlClass: 'has-lightbox', + rtl: false, + fixedClass: 'sl-fixed', + fadeSpeed: 300, + uniqueImages: true, + focus: true + }); + + _defineProperty(this, "transitionPrefix", void 0); + + _defineProperty(this, "transitionCapable", false); + + _defineProperty(this, "isTouchDevice", 'ontouchstart' in window); + + _defineProperty(this, "initialLocationHash", void 0); + + _defineProperty(this, "pushStateSupport", 'pushState' in history); + + _defineProperty(this, "isOpen", false); + + _defineProperty(this, "isAnimating", false); + + _defineProperty(this, "isClosing", false); + + _defineProperty(this, "isFadeIn", false); + + _defineProperty(this, "urlChangedOnce", false); + + _defineProperty(this, "hashReseted", false); + + _defineProperty(this, "historyHasChanges", false); + + _defineProperty(this, "historyUpdateTimeout", null); + + _defineProperty(this, "currentImage", void 0); + + _defineProperty(this, "eventNamespace", 'simplelightbox'); + + _defineProperty(this, "domNodes", {}); + + _defineProperty(this, "loadedImages", []); + + _defineProperty(this, "initialImageIndex", 0); + + _defineProperty(this, "currentImageIndex", 0); + + _defineProperty(this, "initialSelector", null); + + _defineProperty(this, "globalScrollbarWidth", 0); + + _defineProperty(this, "controlCoordinates", { + swipeDiff: 0, + swipeYDiff: 0, + swipeStart: 0, + swipeEnd: 0, + swipeYStart: 0, + swipeYEnd: 0, + mousedown: false, + imageLeft: 0, + zoomed: false, + containerHeight: 0, + containerWidth: 0, + containerOffsetX: 0, + containerOffsetY: 0, + imgHeight: 0, + imgWidth: 0, + capture: false, + initialOffsetX: 0, + initialOffsetY: 0, + initialPointerOffsetX: 0, + initialPointerOffsetY: 0, + initialPointerOffsetX2: 0, + initialPointerOffsetY2: 0, + initialScale: 1, + initialPinchDistance: 0, + pointerOffsetX: 0, + pointerOffsetY: 0, + pointerOffsetX2: 0, + pointerOffsetY2: 0, + targetOffsetX: 0, + targetOffsetY: 0, + targetScale: 0, + pinchOffsetX: 0, + pinchOffsetY: 0, + limitOffsetX: 0, + limitOffsetY: 0, + scaleDifference: 0, + targetPinchDistance: 0, + touchCount: 0, + doubleTapped: false, + touchmoveCount: 0 + }); + + this.options = Object.assign(this.defaultOptions, options); + + if (typeof elements === 'string') { + this.initialSelector = elements; + this.elements = Array.from(document.querySelectorAll(elements)); + } else { + this.elements = typeof elements.length !== 'undefined' && elements.length > 0 ? Array.from(elements) : [elements]; + } + + this.relatedElements = []; + this.transitionPrefix = this.calculateTransitionPrefix(); + this.transitionCapable = this.transitionPrefix !== false; + this.initialLocationHash = this.hash; // this should be handled by attribute selector IMHO! => 'a[rel=bla]'... + + if (this.options.rel) { + this.elements = this.getRelated(this.options.rel); + } + + if (this.options.uniqueImages) { + var imgArr = []; + this.elements = Array.from(this.elements).filter(function (element) { + var src = element.getAttribute(_this.options.sourceAttr); + + if (imgArr.indexOf(src) === -1) { + imgArr.push(src); + return true; + } + + return false; + }); + } + + this.createDomNodes(); + + if (this.options.close) { + this.domNodes.wrapper.appendChild(this.domNodes.closeButton); + } + + if (this.options.nav) { + this.domNodes.wrapper.appendChild(this.domNodes.navigation); + } + + if (this.options.spinner) { + this.domNodes.wrapper.appendChild(this.domNodes.spinner); + } + + this.addEventListener(this.elements, 'click.' + this.eventNamespace, function (event) { + if (_this.isValidLink(event.currentTarget)) { + event.preventDefault(); + + if (_this.isAnimating) { + return false; + } + + _this.initialImageIndex = _this.elements.indexOf(event.currentTarget); + + _this.openImage(event.currentTarget); + } + }); // close addEventListener click addEventListener doc + + if (this.options.docClose) { + this.addEventListener(this.domNodes.wrapper, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], function (event) { + if (_this.isOpen && event.target === event.currentTarget) { + _this.close(); + } + }); + } // disable rightclick + + + if (this.options.disableRightClick) { + this.addEventListener(document.body, 'contextmenu.' + this.eventNamespace, function (event) { + if (event.target.classList.contains('sl-overlay')) { + event.preventDefault(); + } + }); + } // keyboard-control + + + if (this.options.enableKeyboard) { + this.addEventListener(document.body, 'keyup.' + this.eventNamespace, this.throttle(function (event) { + _this.controlCoordinates.swipeDiff = 0; // keyboard control only if lightbox is open + + if (_this.isAnimating && event.key === 'Escape') { + _this.currentImage.setAttribute('src', ''); + + _this.isAnimating = false; + return _this.close(); + } + + if (_this.isOpen) { + event.preventDefault(); + + if (event.key === 'Escape') { + _this.close(); + } + + if (!_this.isAnimating && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) > -1) { + _this.loadImage(event.key === 'ArrowRight' ? 1 : -1); + } + } + }, this.options.throttleInterval)); + } + + this.addEvents(); + } + + _createClass(SimpleLightbox, [{ + key: "createDomNodes", + value: function createDomNodes() { + this.domNodes.overlay = document.createElement('div'); + this.domNodes.overlay.classList.add('sl-overlay'); + this.domNodes.overlay.dataset.opacityTarget = ".7"; + this.domNodes.closeButton = document.createElement('button'); + this.domNodes.closeButton.classList.add('sl-close'); + this.domNodes.closeButton.innerHTML = this.options.closeText; + this.domNodes.spinner = document.createElement('div'); + this.domNodes.spinner.classList.add('sl-spinner'); + this.domNodes.spinner.innerHTML = '<div></div>'; + this.domNodes.navigation = document.createElement('div'); + this.domNodes.navigation.classList.add('sl-navigation'); + this.domNodes.navigation.innerHTML = "<button class=\"sl-prev\">".concat(this.options.navText[0], "</button><button class=\"sl-next\">").concat(this.options.navText[1], "</button>"); + this.domNodes.counter = document.createElement('div'); + this.domNodes.counter.classList.add('sl-counter'); + this.domNodes.counter.innerHTML = '<span class="sl-current"></span>/<span class="sl-total"></span>'; + this.domNodes.caption = document.createElement('div'); + this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition); + + if (this.options.captionClass) { + this.domNodes.caption.classList.add(this.options.captionClass); + } + + this.domNodes.image = document.createElement('div'); + this.domNodes.image.classList.add('sl-image'); + this.domNodes.wrapper = document.createElement('div'); + this.domNodes.wrapper.classList.add('sl-wrapper'); + this.domNodes.wrapper.setAttribute('tabindex', -1); + this.domNodes.wrapper.setAttribute('role', 'dialog'); + this.domNodes.wrapper.setAttribute('aria-hidden', false); + + if (this.options.className) { + this.domNodes.wrapper.classList.add(this.options.className); + } + + if (this.options.rtl) { + this.domNodes.wrapper.classList.add('sl-dir-rtl'); + } + } + }, { + key: "throttle", + value: function throttle(func, limit) { + var inThrottle; + return function () { + if (!inThrottle) { + func.apply(this, arguments); + inThrottle = true; + setTimeout(function () { + return inThrottle = false; + }, limit); + } + }; + } + }, { + key: "isValidLink", + value: function isValidLink(element) { + return !this.options.fileExt || 'pathname' in element && new RegExp('(' + this.options.fileExt + ')$', 'i').test(element.pathname); + } + }, { + key: "calculateTransitionPrefix", + value: function calculateTransitionPrefix() { + var s = (document.body || document.documentElement).style; + return 'transition' in s ? '' : 'WebkitTransition' in s ? '-webkit-' : 'MozTransition' in s ? '-moz-' : 'OTransition' in s ? '-o' : false; + } + }, { + key: "toggleScrollbar", + value: function toggleScrollbar(type) { + var scrollbarWidth = 0; + var fixedElements = [].slice.call(document.querySelectorAll('.' + this.options.fixedClass)); + + if (type === 'hide') { + var fullWindowWidth = window.innerWidth; + + if (!fullWindowWidth) { + var documentElementRect = document.documentElement.getBoundingClientRect(); + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left); + } + + if (document.body.clientWidth < fullWindowWidth) { + var scrollDiv = document.createElement('div'), + paddingRight = parseInt(document.body.style.paddingRight || 0, 10); + scrollDiv.classList.add('sl-scrollbar-measure'); + document.body.appendChild(scrollDiv); + scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + document.body.dataset.originalPaddingRight = paddingRight; + + if (scrollbarWidth > 0) { + document.body.classList.add('hidden-scroll'); + document.body.style.paddingRight = paddingRight + scrollbarWidth + 'px'; + fixedElements.forEach(function (element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = window.getComputedStyle(element)['padding-right']; + element.dataset.originalPaddingRight = actualPadding; + element.style.paddingRight = "".concat(parseFloat(calculatedPadding) + scrollbarWidth, "px"); + }); + } + } + } else { + document.body.classList.remove('hidden-scroll'); + document.body.style.paddingRight = document.body.dataset.originalPaddingRight; + fixedElements.forEach(function (element) { + var padding = element.dataset.originalPaddingRight; + + if (typeof padding !== 'undefined') { + element.style.paddingRight = padding; + } + }); + } + + return scrollbarWidth; + } + }, { + key: "close", + value: function close() { + var _this2 = this; + + if (!this.isOpen || this.isAnimating || this.isClosing) { + return false; + } + + this.isClosing = true; + var element = this.relatedElements[this.currentImageIndex]; + element.dispatchEvent(new Event('close.simplelightbox')); + + if (this.options.history) { + this.historyHasChanges = false; + + if (!this.hashReseted) { + this.resetHash(); + } + } + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.fadeOut(document.querySelectorAll('.sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, function () { + if (_this2.options.disableScroll) { + _this2.toggleScrollbar('show'); + } + + if (_this2.options.htmlClass && _this2.options.htmlClass !== '') { + document.querySelector('html').classList.remove(_this2.options.htmlClass); + } + + document.body.removeChild(_this2.domNodes.wrapper); + document.body.removeChild(_this2.domNodes.overlay); + _this2.domNodes.additionalHtml = null; + element.dispatchEvent(new Event('closed.simplelightbox')); + _this2.isClosing = false; + }); + this.currentImage = null; + this.isOpen = false; + this.isAnimating = false; // reset touchcontrol coordinates + + for (var key in this.controlCoordinates) { + this.controlCoordinates[key] = 0; + } + + this.controlCoordinates.mousedown = false; + this.controlCoordinates.zoomed = false; + this.controlCoordinates.capture = false; + this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom); + this.controlCoordinates.doubleTapped = false; + } + }, { + key: "preload", + value: function preload() { + var _this3 = this; + + var index = this.currentImageIndex, + length = this.relatedElements.length, + next = index + 1 < 0 ? length - 1 : index + 1 >= length - 1 ? 0 : index + 1, + prev = index - 1 < 0 ? length - 1 : index - 1 >= length - 1 ? 0 : index - 1, + nextImage = new Image(), + prevImage = new Image(); + nextImage.addEventListener('load', function (event) { + var src = event.target.getAttribute('src'); + + if (_this3.loadedImages.indexOf(src) === -1) { + //is this condition even required... setting multiple times will not change usage... + _this3.loadedImages.push(src); + } + + _this3.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + _this3.eventNamespace)); + }); + nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr)); + prevImage.addEventListener('load', function (event) { + var src = event.target.getAttribute('src'); + + if (_this3.loadedImages.indexOf(src) === -1) { + _this3.loadedImages.push(src); + } + + _this3.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + _this3.eventNamespace)); + }); + prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr)); + } + }, { + key: "loadImage", + value: function loadImage(direction) { + var _this4 = this; + + var slideDirection = direction; + + if (this.options.rtl) { + direction = -direction; + } + + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace)); + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace)); + var newIndex = this.currentImageIndex + direction; + + if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) { + return false; + } + + this.currentImageIndex = newIndex < 0 ? this.relatedElements.length - 1 : newIndex > this.relatedElements.length - 1 ? 0 : newIndex; + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + + if (this.options.animationSlide) { + this.slide(this.options.animationSpeed / 1000, -100 * slideDirection - this.controlCoordinates.swipeDiff + 'px'); + } + + this.fadeOut(this.domNodes.image, this.options.fadeSpeed, function () { + _this4.isAnimating = true; + + if (!_this4.isClosing) { + setTimeout(function () { + var element = _this4.relatedElements[_this4.currentImageIndex]; + + _this4.currentImage.setAttribute('src', element.getAttribute(_this4.options.sourceAttr)); + + if (_this4.loadedImages.indexOf(element.getAttribute(_this4.options.sourceAttr)) === -1) { + _this4.show(_this4.domNodes.spinner); + } + + if (_this4.domNodes.image.contains(_this4.domNodes.caption)) { + _this4.domNodes.image.removeChild(_this4.domNodes.caption); + } + + _this4.adjustImage(slideDirection); + + if (_this4.options.preloading) _this4.preload(); + }, 100); + } else { + _this4.isAnimating = false; + } + }); + } + }, { + key: "adjustImage", + value: function adjustImage(direction) { + var _this5 = this; + + if (!this.currentImage) { + return false; + } + + var tmpImage = new Image(), + windowWidth = window.innerWidth * this.options.widthRatio, + windowHeight = window.innerHeight * this.options.heightRatio; + tmpImage.setAttribute('src', this.currentImage.getAttribute('src')); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + this.zoomPanElement(0, 0, 1); + tmpImage.addEventListener('error', function (event) { + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('error.' + _this5.eventNamespace)); + + _this5.isAnimating = false; + _this5.isOpen = false; + _this5.domNodes.spinner.style.display = 'none'; + var dirIsDefined = direction === 1 || direction === -1; + + if (_this5.initialImageIndex === _this5.currentImageIndex && dirIsDefined) { + return _this5.close(); + } + + if (_this5.options.alertError) { + alert(_this5.options.alertErrorMessage); + } + + _this5.loadImage(dirIsDefined ? direction : 1); + }); + tmpImage.addEventListener('load', function (event) { + if (typeof direction !== 'undefined') { + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('changed.' + _this5.eventNamespace)); + + _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + _this5.eventNamespace)); + } // history + + + if (_this5.options.history) { + _this5.updateURL(); + } + + if (_this5.loadedImages.indexOf(_this5.currentImage.getAttribute('src')) === -1) { + _this5.loadedImages.push(_this5.currentImage.getAttribute('src')); + } + + var imageWidth = event.target.width, + imageHeight = event.target.height; + + if (_this5.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) { + var ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight; + imageWidth /= ratio; + imageHeight /= ratio; + } + + _this5.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px'; + _this5.domNodes.image.style.left = (window.innerWidth - imageWidth - _this5.globalScrollbarWidth) / 2 + 'px'; + _this5.domNodes.image.style.width = imageWidth + 'px'; + _this5.domNodes.image.style.height = imageHeight + 'px'; + _this5.domNodes.spinner.style.display = 'none'; + + if (_this5.options.focus) { + _this5.forceFocus(); + } + + _this5.fadeIn(_this5.currentImage, _this5.options.fadeSpeed, function () { + if (_this5.options.focus) { + _this5.domNodes.wrapper.focus(); + } + }); + + _this5.isOpen = true; + var captionContainer, captionText; + + if (typeof _this5.options.captionSelector === 'string') { + captionContainer = _this5.options.captionSelector === 'self' ? _this5.relatedElements[_this5.currentImageIndex] : _this5.relatedElements[_this5.currentImageIndex].querySelector(_this5.options.captionSelector); + } else if (typeof _this5.options.captionSelector === 'function') { + captionContainer = _this5.options.captionSelector(_this5.relatedElements[_this5.currentImageIndex]); + } + + if (_this5.options.captions && captionContainer) { + if (_this5.options.captionType === 'data') { + captionText = captionContainer.dataset[_this5.options.captionsData]; + } else if (_this5.options.captionType === 'text') { + captionText = captionContainer.innerHTML; + } else { + captionText = captionContainer.getAttribute(_this5.options.captionsData); + } + } + + if (!_this5.options.loop) { + if (_this5.currentImageIndex === 0) { + _this5.hide(_this5.domNodes.navigation.querySelector('.sl-prev')); + } + + if (_this5.currentImageIndex >= _this5.relatedElements.length - 1) { + _this5.hide(_this5.domNodes.navigation.querySelector('.sl-next')); + } + + if (_this5.currentImageIndex > 0) { + _this5.show(_this5.domNodes.navigation.querySelector('.sl-prev')); + } + + if (_this5.currentImageIndex < _this5.relatedElements.length - 1) { + _this5.show(_this5.domNodes.navigation.querySelector('.sl-next')); + } + } + + if (_this5.relatedElements.length === 1) { + _this5.hide(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } else { + _this5.show(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } + + if (direction === 1 || direction === -1) { + if (_this5.options.animationSlide) { + _this5.slide(0, 100 * direction + 'px'); + + setTimeout(function () { + _this5.slide(_this5.options.animationSpeed / 1000, 0 + 'px'); + }, 50); + } + + _this5.fadeIn(_this5.domNodes.image, _this5.options.fadeSpeed, function () { + _this5.isAnimating = false; + + _this5.setCaption(captionText, imageWidth); + }); + } else { + _this5.isAnimating = false; + + _this5.setCaption(captionText, imageWidth); + } + + if (_this5.options.additionalHtml && !_this5.domNodes.additionalHtml) { + _this5.domNodes.additionalHtml = document.createElement('div'); + + _this5.domNodes.additionalHtml.classList.add('sl-additional-html'); + + _this5.domNodes.additionalHtml.innerHTML = _this5.options.additionalHtml; + + _this5.domNodes.image.appendChild(_this5.domNodes.additionalHtml); + } + }); + } + }, { + key: "zoomPanElement", + value: function zoomPanElement(targetOffsetX, targetOffsetY, targetScale) { + this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')'; + } + }, { + key: "minMax", + value: function minMax(value, min, max) { + return value < min ? min : value > max ? max : value; + } + }, { + key: "setZoomData", + value: function setZoomData(initialScale, targetOffsetX, targetOffsetY) { + this.currentImage.dataset.scale = initialScale; + this.currentImage.dataset.translateX = targetOffsetX; + this.currentImage.dataset.translateY = targetOffsetY; + } + }, { + key: "hashchangeHandler", + value: function hashchangeHandler() { + if (this.isOpen && this.hash === this.initialLocationHash) { + this.hashReseted = true; + this.close(); + } + } + }, { + key: "addEvents", + value: function addEvents() { + var _this6 = this; + + // resize/responsive + this.addEventListener(window, 'resize.' + this.eventNamespace, function (event) { + //this.adjustImage.bind(this) + if (_this6.isOpen) { + _this6.adjustImage(); + } + }); + this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this)); + + if (this.options.history) { + setTimeout(function () { + _this6.addEventListener(window, 'hashchange.' + _this6.eventNamespace, function (event) { + if (_this6.isOpen) { + _this6.hashchangeHandler(); + } + }); + }, 40); + } + + this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, function (event) { + if (!event.currentTarget.tagName.match(/button/i)) { + return true; + } + + event.preventDefault(); + _this6.controlCoordinates.swipeDiff = 0; + + _this6.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1); + }); + this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], function (event) { + if (event.target.tagName === 'A' && event.type === 'touchstart') { + return true; + } + + if (event.type === 'mousedown') { + _this6.controlCoordinates.initialPointerOffsetX = event.clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + _this6.controlCoordinates.capture = true; + } else { + _this6.controlCoordinates.touchCount = event.touches.length; + _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + + if (_this6.controlCoordinates.touchCount === 1) + /* Single touch */ + { + if (!_this6.controlCoordinates.doubleTapped) { + _this6.controlCoordinates.doubleTapped = true; + setTimeout(function () { + _this6.controlCoordinates.doubleTapped = false; + }, 300); + } else { + _this6.currentImage.classList.add('sl-transition'); + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + + _this6.controlCoordinates.zoomed = true; + } else { + _this6.controlCoordinates.initialScale = 1; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + _this6.controlCoordinates.zoomed = false; + } + + setTimeout(function () { + if (_this6.currentImage) { + _this6.currentImage.classList.remove('sl-transition'); + } + }, 200); + return false; + } + + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + } else if (_this6.controlCoordinates.touchCount === 2) + /* Pinch */ + { + _this6.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX; + _this6.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY; + _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX); + _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY); + _this6.controlCoordinates.pinchOffsetX = (_this6.controlCoordinates.initialPointerOffsetX + _this6.controlCoordinates.initialPointerOffsetX2) / 2; + _this6.controlCoordinates.pinchOffsetY = (_this6.controlCoordinates.initialPointerOffsetY + _this6.controlCoordinates.initialPointerOffsetY2) / 2; + _this6.controlCoordinates.initialPinchDistance = Math.sqrt((_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) * (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) + (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2) * (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2)); + } + + _this6.controlCoordinates.capture = true; + } + + if (_this6.controlCoordinates.mousedown) return true; + + if (_this6.transitionCapable) { + _this6.controlCoordinates.imageLeft = parseInt(_this6.domNodes.image.style.left, 10); + } + + _this6.controlCoordinates.mousedown = true; + _this6.controlCoordinates.swipeDiff = 0; + _this6.controlCoordinates.swipeYDiff = 0; + _this6.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX; + _this6.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY; + return false; + }); + this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], function (event) { + if (!_this6.controlCoordinates.mousedown) { + return true; + } + + event.preventDefault(); + + if (event.type === 'touchmove') { + if (_this6.controlCoordinates.capture === false) { + return false; + } + + _this6.controlCoordinates.pointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.pointerOffsetY = event.touches[0].clientY; + _this6.controlCoordinates.touchCount = event.touches.length; + _this6.controlCoordinates.touchmoveCount++; + + if (_this6.controlCoordinates.touchCount > 1) + /* Pinch */ + { + _this6.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX; + _this6.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY; + _this6.controlCoordinates.targetPinchDistance = Math.sqrt((_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) * (_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) + (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2) * (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2)); + + if (_this6.controlCoordinates.initialPinchDistance === null) { + _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance; + } + + if (Math.abs(_this6.controlCoordinates.initialPinchDistance - _this6.controlCoordinates.targetPinchDistance) >= 1) { + /* Initialize helpers */ + _this6.controlCoordinates.targetScale = _this6.minMax(_this6.controlCoordinates.targetPinchDistance / _this6.controlCoordinates.initialPinchDistance * _this6.controlCoordinates.initialScale, 1, _this6.options.maxZoom); + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + + if (_this6.controlCoordinates.targetScale > 1) { + _this6.controlCoordinates.zoomed = true; + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance; + _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale; + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + } + } else { + _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) { + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) { + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY; + } + + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + } + } + /* Mouse Move implementation */ + + + if (event.type === 'mousemove' && _this6.controlCoordinates.mousedown) { + if (event.type == 'touchmove') return true; + if (_this6.controlCoordinates.capture === false) return false; + _this6.controlCoordinates.pointerOffsetX = event.clientX; + _this6.controlCoordinates.pointerOffsetY = event.clientY; + _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale; + _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2; + _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2; + _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX); + _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY); + + if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) { + _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX; + _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) { + _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY; + _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY; + } + + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + + _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + "px", _this6.controlCoordinates.targetOffsetY + "px", _this6.controlCoordinates.targetScale); + } + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX; + _this6.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY; + _this6.controlCoordinates.swipeDiff = _this6.controlCoordinates.swipeStart - _this6.controlCoordinates.swipeEnd; + _this6.controlCoordinates.swipeYDiff = _this6.controlCoordinates.swipeYStart - _this6.controlCoordinates.swipeYEnd; + + if (_this6.options.animationSlide) { + _this6.slide(0, -_this6.controlCoordinates.swipeDiff + 'px'); + } + } + }); + this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], function (event) { + if (_this6.isTouchDevice && event.type === 'touchend') { + _this6.controlCoordinates.touchCount = event.touches.length; + + if (_this6.controlCoordinates.touchCount === 0) + /* No touch */ + { + /* Set attributes */ + if (_this6.currentImage) { + _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY); + } + + if (_this6.controlCoordinates.initialScale === 1) { + _this6.controlCoordinates.zoomed = false; + + if (_this6.domNodes.caption.style.display === 'none') { + _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + _this6.controlCoordinates.initialPinchDistance = null; + _this6.controlCoordinates.capture = false; + } else if (_this6.controlCoordinates.touchCount === 1) + /* Single touch */ + { + _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + } else if (_this6.controlCoordinates.touchCount > 1) + /* Pinch */ + { + _this6.controlCoordinates.initialPinchDistance = null; + } + } + + if (_this6.controlCoordinates.mousedown) { + _this6.controlCoordinates.mousedown = false; + var possibleDir = true; + + if (!_this6.options.loop) { + if (_this6.currentImageIndex === 0 && _this6.controlCoordinates.swipeDiff < 0) { + possibleDir = false; + } + + if (_this6.currentImageIndex >= _this6.relatedElements.length - 1 && _this6.controlCoordinates.swipeDiff > 0) { + possibleDir = false; + } + } + + if (Math.abs(_this6.controlCoordinates.swipeDiff) > _this6.options.swipeTolerance && possibleDir) { + _this6.loadImage(_this6.controlCoordinates.swipeDiff > 0 ? 1 : -1); + } else if (_this6.options.animationSlide) { + _this6.slide(_this6.options.animationSpeed / 1000, 0 + 'px'); + } + + if (_this6.options.swipeClose && Math.abs(_this6.controlCoordinates.swipeYDiff) > 50 && Math.abs(_this6.controlCoordinates.swipeDiff) < _this6.options.swipeTolerance) { + _this6.close(); + } + } + }); + this.addEventListener(this.domNodes.image, ['dblclick'], function (event) { + if (_this6.isTouchDevice) return; + _this6.controlCoordinates.initialPointerOffsetX = event.clientX; + _this6.controlCoordinates.initialPointerOffsetY = event.clientY; + _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height; + _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width; + _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height; + _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width; + _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft; + _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop; + + _this6.currentImage.classList.add('sl-transition'); + + if (!_this6.controlCoordinates.zoomed) { + _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + if (!_this6.domNodes.caption.style.opacity && _this6.domNodes.caption.style.display !== 'none') { + _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + + _this6.controlCoordinates.zoomed = true; + } else { + _this6.controlCoordinates.initialScale = 1; + + _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0); + + _this6.zoomPanElement(0 + "px", 0 + "px", _this6.controlCoordinates.initialScale); + + _this6.controlCoordinates.zoomed = false; + + if (_this6.domNodes.caption.style.display === 'none') { + _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed); + } + } + + setTimeout(function () { + if (_this6.currentImage) { + _this6.currentImage.classList.remove('sl-transition'); + } + }, 200); + _this6.controlCoordinates.capture = true; + return false; + }); + } + }, { + key: "getDimensions", + value: function getDimensions(element) { + var styles = window.getComputedStyle(element), + height = element.offsetHeight, + width = element.offsetWidth, + borderTopWidth = parseFloat(styles.borderTopWidth), + borderBottomWidth = parseFloat(styles.borderBottomWidth), + paddingTop = parseFloat(styles.paddingTop), + paddingBottom = parseFloat(styles.paddingBottom), + borderLeftWidth = parseFloat(styles.borderLeftWidth), + borderRightWidth = parseFloat(styles.borderRightWidth), + paddingLeft = parseFloat(styles.paddingLeft), + paddingRight = parseFloat(styles.paddingRight); + return { + height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom, + width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight + }; + } + }, { + key: "updateHash", + value: function updateHash() { + var newHash = 'pid=' + (this.currentImageIndex + 1), + newURL = window.location.href.split('#')[0] + '#' + newHash; + this.hashReseted = false; + + if (this.pushStateSupport) { + window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL); + } else { + // what is the browser target of this? + if (this.historyHasChanges) { + window.location.replace(newURL); + } else { + window.location.hash = newHash; + } + } + + if (!this.historyHasChanges) { + this.urlChangedOnce = true; + } + + this.historyHasChanges = true; + } + }, { + key: "resetHash", + value: function resetHash() { + this.hashReseted = true; + + if (this.urlChangedOnce) { + history.back(); + } else { + if (this.pushStateSupport) { + history.pushState('', document.title, window.location.pathname + window.location.search); + } else { + window.location.hash = ''; + } + } // + //in case an history operation is still pending + + + clearTimeout(this.historyUpdateTimeout); + } + }, { + key: "updateURL", + value: function updateURL() { + clearTimeout(this.historyUpdateTimeout); + + if (!this.historyHasChanges) { + this.updateHash(); // first time + } else { + this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800); + } + } + }, { + key: "setCaption", + value: function setCaption(captionText, imageWidth) { + var _this7 = this; + + if (this.options.captions && captionText && captionText !== '' && typeof captionText !== "undefined") { + this.hide(this.domNodes.caption); + this.domNodes.caption.style.width = imageWidth + 'px'; + this.domNodes.caption.innerHTML = captionText; + this.domNodes.image.appendChild(this.domNodes.caption); + setTimeout(function () { + _this7.fadeIn(_this7.domNodes.caption, _this7.options.fadeSpeed); + }, this.options.captionDelay); + } + } + }, { + key: "slide", + value: function slide(speed, pos) { + if (!this.transitionCapable) { + return this.domNodes.image.style.left = pos; + } + + this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')'; + this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear'; + } + }, { + key: "getRelated", + value: function getRelated(rel) { + var elems; + + if (rel && rel !== false && rel !== 'nofollow') { + elems = Array.from(this.elements).filter(function (element) { + return element.getAttribute('rel') === rel; + }); + } else { + elems = this.elements; + } + + return elems; + } + }, { + key: "openImage", + value: function openImage(element) { + var _this8 = this; + + element.dispatchEvent(new Event('show.' + this.eventNamespace)); + + if (this.options.disableScroll) { + this.globalScrollbarWidth = this.toggleScrollbar('hide'); + } + + if (this.options.htmlClass && this.options.htmlClass !== '') { + document.querySelector('html').classList.add(this.options.htmlClass); + } + + document.body.appendChild(this.domNodes.wrapper); + this.domNodes.wrapper.appendChild(this.domNodes.image); + + if (this.options.overlay) { + document.body.appendChild(this.domNodes.overlay); + } + + this.relatedElements = this.getRelated(element.rel); + + if (this.options.showCounter) { + if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.removeChild(this.domNodes.counter); + } else if (this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.appendChild(this.domNodes.counter); + } + } + + this.isAnimating = true; + this.currentImageIndex = this.relatedElements.indexOf(element); + var targetURL = element.getAttribute(this.options.sourceAttr); + this.currentImage = document.createElement('img'); + this.currentImage.style.display = 'none'; + this.currentImage.setAttribute('src', targetURL); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + + if (this.loadedImages.indexOf(targetURL) === -1) { + this.loadedImages.push(targetURL); + } + + this.domNodes.image.innerHTML = ''; + this.domNodes.image.setAttribute('style', ''); + this.domNodes.image.appendChild(this.currentImage); + this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed); + this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton], this.options.fadeSpeed); + this.show(this.domNodes.spinner); + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length; + this.adjustImage(); + + if (this.options.preloading) { + this.preload(); + } + + setTimeout(function () { + element.dispatchEvent(new Event('shown.' + _this8.eventNamespace)); + }, this.options.animationSpeed); + } + }, { + key: "forceFocus", + value: function forceFocus() { + var _this9 = this; + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.addEventListener(document, 'focusin.' + this.eventNamespace, function (event) { + if (document !== event.target && _this9.domNodes.wrapper !== event.target && !_this9.domNodes.wrapper.contains(event.target)) { + _this9.domNodes.wrapper.focus(); + } + }); + } // utility + + }, { + key: "addEventListener", + value: function addEventListener(elements, events, callback, opts) { + elements = this.wrap(elements); + events = this.wrap(events); + + var _iterator = _createForOfIteratorHelper(elements), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var element = _step.value; + + if (!element.namespaces) { + element.namespaces = {}; + } // save the namespaces addEventListener the DOM element itself + + + var _iterator2 = _createForOfIteratorHelper(events), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var event = _step2.value; + var options = opts || false; + element.namespaces[event] = callback; + element.addEventListener(event.split('.')[0], callback, options); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "removeEventListener", + value: function removeEventListener(elements, events) { + elements = this.wrap(elements); + events = this.wrap(events); + + var _iterator3 = _createForOfIteratorHelper(elements), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var element = _step3.value; + + var _iterator4 = _createForOfIteratorHelper(events), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var event = _step4.value; + + if (element.namespaces && element.namespaces[event]) { + element.removeEventListener(event.split('.')[0], element.namespaces[event]); + delete element.namespaces[event]; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + key: "fadeOut", + value: function fadeOut(elements, duration, callback) { + var _this10 = this; + + elements = this.wrap(elements); + + var _iterator5 = _createForOfIteratorHelper(elements), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var element = _step5.value; + element.style.opacity = 1; + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.isFadeIn = false; + + var step = 16.66666 / (duration || this.options.fadeSpeed), + fade = function fade() { + var currentOpacity = parseFloat(elements[0].style.opacity); + + if ((currentOpacity -= step) < 0) { + var _iterator6 = _createForOfIteratorHelper(elements), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var element = _step6.value; + element.style.display = "none"; + element.style.opacity = ''; + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + callback && callback.call(_this10, elements); + } else { + var _iterator7 = _createForOfIteratorHelper(elements), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _element = _step7.value; + _element.style.opacity = currentOpacity; + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + requestAnimationFrame(fade); + } + }; + + fade(); + } + }, { + key: "fadeIn", + value: function fadeIn(elements, duration, callback, display) { + var _this11 = this; + + elements = this.wrap(elements); + + var _iterator8 = _createForOfIteratorHelper(elements), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var element = _step8.value; + element.style.opacity = 0; + element.style.display = display || "block"; + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + this.isFadeIn = true; + + var opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1), + step = 16.66666 * opacityTarget / (duration || this.options.fadeSpeed), + fade = function fade() { + var currentOpacity = parseFloat(elements[0].style.opacity); + + if (!((currentOpacity += step) > opacityTarget)) { + var _iterator9 = _createForOfIteratorHelper(elements), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var element = _step9.value; + element.style.opacity = currentOpacity; + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + if (!_this11.isFadeIn) return; + requestAnimationFrame(fade); + } else { + var _iterator10 = _createForOfIteratorHelper(elements), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var _element2 = _step10.value; + _element2.style.opacity = ''; + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + callback && callback.call(_this11, elements); + } + }; + + fade(); + } + }, { + key: "hide", + value: function hide(elements) { + elements = this.wrap(elements); + + var _iterator11 = _createForOfIteratorHelper(elements), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var element = _step11.value; + element.dataset.initialDisplay = element.style.display; + element.style.display = 'none'; + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + } + }, { + key: "show", + value: function show(elements, display) { + elements = this.wrap(elements); + + var _iterator12 = _createForOfIteratorHelper(elements), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var element = _step12.value; + element.style.display = element.dataset.initialDisplay || display || 'block'; + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + } + }, { + key: "wrap", + value: function wrap(input) { + return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input]; + } + }, { + key: "on", + value: function on(events, callback) { + events = this.wrap(events); + + var _iterator13 = _createForOfIteratorHelper(this.elements), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var element = _step13.value; + + if (!element.fullyNamespacedEvents) { + element.fullyNamespacedEvents = {}; + } + + var _iterator14 = _createForOfIteratorHelper(events), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var event = _step14.value; + element.fullyNamespacedEvents[event] = callback; + element.addEventListener(event, callback); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + return this; + } + }, { + key: "off", + value: function off(events) { + events = this.wrap(events); + + var _iterator15 = _createForOfIteratorHelper(this.elements), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var element = _step15.value; + + var _iterator16 = _createForOfIteratorHelper(events), + _step16; + + try { + for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { + var event = _step16.value; + + if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) { + element.removeEventListener(event, element.fullyNamespacedEvents[event]); + } + } + } catch (err) { + _iterator16.e(err); + } finally { + _iterator16.f(); + } + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + + return this; + } // api + + }, { + key: "open", + value: function open(elem) { + elem = elem || this.elements[0]; + + if (typeof jQuery !== "undefined" && elem instanceof jQuery) { + elem = elem.get(0); + } + + this.initialImageIndex = this.elements.indexOf(elem); + + if (this.initialImageIndex > -1) { + this.openImage(elem); + } + } + }, { + key: "next", + value: function next() { + this.loadImage(1); + } + }, { + key: "prev", + value: function prev() { + this.loadImage(-1); + } //close is exposed anyways.. + + }, { + key: "destroy", + value: function destroy() { + //remove all custom event listeners from elements + this.off(['close.' + this.eventNamespace, 'closed.' + this.eventNamespace, 'nextImageLoaded.' + this.eventNamespace, 'prevImageLoaded.' + this.eventNamespace, 'change.' + this.eventNamespace, 'nextDone.' + this.eventNamespace, 'prevDone.' + this.eventNamespace, 'error.' + this.eventNamespace, 'changed.' + this.eventNamespace, 'next.' + this.eventNamespace, 'prev.' + this.eventNamespace, 'show.' + this.eventNamespace, 'shown.' + this.eventNamespace]); + this.removeEventListener(this.elements, 'click.' + this.eventNamespace); + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace); + this.removeEventListener(document.body, 'keyup.' + this.eventNamespace); + this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace); + this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace); + this.removeEventListener(window, 'resize.' + this.eventNamespace); + this.removeEventListener(window, 'hashchange.' + this.eventNamespace); + this.close(); + + if (this.isOpen) { + document.body.removeChild(this.domNodes.wrapper); + document.body.removeChild(this.domNodes.overlay); + } + + this.elements = null; + } + }, { + key: "refresh", + value: function refresh() { + if (!this.initialSelector) { + throw 'refreshing only works when you initialize using a selector!'; + } + + var options = this.options, + selector = this.initialSelector; + this.destroy(); + this.constructor(selector, options); + return this; + } + }, { + key: "hash", + get: function get() { + return window.location.hash.substring(1); + } + }]); + + return SimpleLightbox; +}(); + +var _default = SimpleLightbox; +exports["default"] = _default; +global.SimpleLightbox = SimpleLightbox; \ No newline at end of file diff --git a/photos/simplelightbox-master/src/jquery-plugin-wrap.js b/photos/simplelightbox-master/src/jquery-plugin-wrap.js new file mode 100644 index 0000000000000000000000000000000000000000..4a0995fe71b7899cfbceffd29cf7d3d43f622ee8 --- /dev/null +++ b/photos/simplelightbox-master/src/jquery-plugin-wrap.js @@ -0,0 +1,8 @@ +require('./simple-lightbox'); + +(function ($, window, document, undefined) { + 'use strict'; + $.fn.simpleLightbox = function (options) { + return this.length ? new SimpleLightbox(this.get(), options) : null; + } +})(jQuery, window, document); diff --git a/photos/simplelightbox-master/src/legacy.js b/photos/simplelightbox-master/src/legacy.js new file mode 100644 index 0000000000000000000000000000000000000000..dd9aea0cfab4263e2cb70715cd2cb14b8dbfbe26 --- /dev/null +++ b/photos/simplelightbox-master/src/legacy.js @@ -0,0 +1,6 @@ +import "core-js/stable"; +import "regenerator-runtime/runtime"; + +(function(self, undefined) {function Call(t,l){var n=arguments.length>2?arguments[2]:[];if(!1===IsCallable(t))throw new TypeError(Object.prototype.toString.call(t)+"is not a function.");return t.apply(l,n)}function CreateMethodProperty(e,r,t){var a={value:t,writable:!0,enumerable:!1,configurable:!0};Object.defineProperty(e,r,a)}function Get(n,t){return n[t]}function IsCallable(n){return"function"==typeof n}function SameValueNonNumber(e,n){return e===n}function ToInteger(n){var i=Number(n);return isNaN(i)?0:1/i===Infinity||1/i==-Infinity||i===Infinity||i===-Infinity?i:(i<0?-1:1)*Math.floor(Math.abs(i))}function ToLength(n){var t=ToInteger(n);return t<=0?0:Math.min(t,Math.pow(2,53)-1)}function ToObject(e){if(null===e||e===undefined)throw TypeError();return Object(e)}function GetV(t,e){return ToObject(t)[e]}function GetMethod(e,n){var r=GetV(e,n);if(null===r||r===undefined)return undefined;if(!1===IsCallable(r))throw new TypeError("Method not callable: "+n);return r}function Type(e){switch(typeof e){case"undefined":return"undefined";case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"symbol":return"symbol";default:return null===e?"null":"Symbol"in self&&(e instanceof self.Symbol||e.constructor===self.Symbol)?"symbol":"object"}}function OrdinaryToPrimitive(r,t){if("string"===t)var e=["toString","valueOf"];else e=["valueOf","toString"];for(var i=0;i<e.length;++i){var n=e[i],a=Get(r,n);if(IsCallable(a)){var o=Call(a,r);if("object"!==Type(o))return o}}throw new TypeError("Cannot convert to primitive.")}function SameValueZero(n,e){return Type(n)===Type(e)&&("number"===Type(n)?!(!isNaN(n)||!isNaN(e))||(1/n===Infinity&&1/e==-Infinity||(1/n==-Infinity&&1/e===Infinity||n===e)):SameValueNonNumber(n,e))}function ToPrimitive(e){var t=arguments.length>1?arguments[1]:undefined;if("object"===Type(e)){if(arguments.length<2)var i="default";else t===String?i="string":t===Number&&(i="number");var r="function"==typeof self.Symbol&&"symbol"==typeof self.Symbol.toPrimitive?GetMethod(e,self.Symbol.toPrimitive):undefined;if(r!==undefined){var n=Call(r,e,[i]);if("object"!==Type(n))return n;throw new TypeError("Cannot convert exotic object to primitive.")}return"default"===i&&(i="number"),OrdinaryToPrimitive(e,i)}return e}function ToString(t){switch(Type(t)){case"symbol":throw new TypeError("Cannot convert a Symbol value to a string");case"object":return ToString(ToPrimitive(t,String));default:return String(t)}}CreateMethodProperty(Array.prototype,"includes",function e(r){"use strict";var t=ToObject(this),o=ToLength(Get(t,"length"));if(0===o)return!1;var n=ToInteger(arguments[1]);if(n>=0)var a=n;else(a=o+n)<0&&(a=0);for(;a<o;){var i=Get(t,ToString(a));if(SameValueZero(r,i))return!0;a+=1}return!1});!function(){function e(e,t){if(!e)throw new Error("Not enough arguments");var n;if("createEvent"in document){n=document.createEvent("Event");var o=!(!t||t.bubbles===undefined)&&t.bubbles,i=!(!t||t.cancelable===undefined)&&t.cancelable;return n.initEvent(e,o,i),n}return n=document.createEventObject(),n.type=e,n.bubbles=!(!t||t.bubbles===undefined)&&t.bubbles,n.cancelable=!(!t||t.cancelable===undefined)&&t.cancelable,n}var t={click:1,dblclick:1,keyup:1,keypress:1,keydown:1,mousedown:1,mouseup:1,mousemove:1,mouseover:1,mouseenter:1,mouseleave:1,mouseout:1,storage:1,storagecommit:1,textinput:1};if("undefined"!=typeof document&&"undefined"!=typeof window){var n=window.Event&&window.Event.prototype||null;e.NONE=0,e.CAPTURING_PHASE=1,e.AT_TARGET=2,e.BUBBLING_PHASE=3,window.Event=Window.prototype.Event=e,n&&Object.defineProperty(window.Event,"prototype",{configurable:!1,enumerable:!1,writable:!0,value:n}),"createEvent"in document||(window.addEventListener=Window.prototype.addEventListener=Document.prototype.addEventListener=Element.prototype.addEventListener=function o(){var e=this,n=arguments[0],o=arguments[1];if(e===window&&n in t)throw new Error("In IE8 the event: "+n+" is not available on the window object. Please see https://github.com/Financial-Times/polyfill-service/issues/317 for more information.");e._events||(e._events={}),e._events[n]||(e._events[n]=function(t){var n,o=e._events[t.type].list,i=o.slice(),r=-1,c=i.length;for(t.preventDefault=function a(){!1!==t.cancelable&&(t.returnValue=!1)},t.stopPropagation=function l(){t.cancelBubble=!0},t.stopImmediatePropagation=function s(){t.cancelBubble=!0,t.cancelImmediate=!0},t.currentTarget=e,t.relatedTarget=t.fromElement||null,t.target=t.target||t.srcElement||e,t.timeStamp=(new Date).getTime(),t.clientX&&(t.pageX=t.clientX+document.documentElement.scrollLeft,t.pageY=t.clientY+document.documentElement.scrollTop);++r<c&&!t.cancelImmediate;)r in i&&(n=i[r],o.includes(n)&&"function"==typeof n&&n.call(e,t))},e._events[n].list=[],e.attachEvent&&e.attachEvent("on"+n,e._events[n])),e._events[n].list.push(o)},window.removeEventListener=Window.prototype.removeEventListener=Document.prototype.removeEventListener=Element.prototype.removeEventListener=function i(){var e,t=this,n=arguments[0],o=arguments[1];t._events&&t._events[n]&&t._events[n].list&&-1!==(e=t._events[n].list.indexOf(o))&&(t._events[n].list.splice(e,1),t._events[n].list.length||(t.detachEvent&&t.detachEvent("on"+n,t._events[n]),delete t._events[n]))},window.dispatchEvent=Window.prototype.dispatchEvent=Document.prototype.dispatchEvent=Element.prototype.dispatchEvent=function r(e){if(!arguments.length)throw new Error("Not enough arguments");if(!e||"string"!=typeof e.type)throw new Error("DOM Events Exception 0");var t=this,n=e.type;try{if(!e.bubbles){e.cancelBubble=!0;var o=function(e){e.cancelBubble=!0,(t||window).detachEvent("on"+n,o)};this.attachEvent("on"+n,o)}this.fireEvent("on"+n,e)}catch(i){e.target=t;do{e.currentTarget=t,"_events"in t&&"function"==typeof t._events[n]&&t._events[n].call(t,e),"function"==typeof t["on"+n]&&t["on"+n].call(t,e),t=9===t.nodeType?t.parentWindow:t.parentNode}while(t&&!e.cancelBubble)}return!0},document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&document.dispatchEvent(new e("DOMContentLoaded",{bubbles:!0}))}))}}();self.CustomEvent=function e(t,n){if(!t)throw Error('TypeError: Failed to construct "CustomEvent": An event name must be provided.');var l;if(n=n||{bubbles:!1,cancelable:!1,detail:null},"createEvent"in document)try{l=document.createEvent("CustomEvent"),l.initCustomEvent(t,n.bubbles,n.cancelable,n.detail)}catch(a){l=document.createEvent("Event"),l.initEvent(t,n.bubbles,n.cancelable),l.detail=n.detail}else l=new Event(t,n),l.detail=n&&n.detail||null;return l},CustomEvent.prototype=Event.prototype;})('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {}); + +require('./simple-lightbox'); \ No newline at end of file diff --git a/photos/simplelightbox-master/src/license-notice.txt b/photos/simplelightbox-master/src/license-notice.txt new file mode 100644 index 0000000000000000000000000000000000000000..0bfdb96626cc6fbb8f3a934f17c365d45dc47c1b --- /dev/null +++ b/photos/simplelightbox-master/src/license-notice.txt @@ -0,0 +1,6 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.7.0 +*/ diff --git a/photos/simplelightbox-master/src/simple-lightbox.js b/photos/simplelightbox-master/src/simple-lightbox.js new file mode 100644 index 0000000000000000000000000000000000000000..6169062278646a7351e295d4d3d61e4e3dfb344a --- /dev/null +++ b/photos/simplelightbox-master/src/simple-lightbox.js @@ -0,0 +1,1371 @@ +class SimpleLightbox { + + defaultOptions = { + sourceAttr: 'href', + overlay: true, + spinner: true, + nav: true, + navText: ['‹', '›'], + captions: true, + captionDelay: 0, + captionSelector: 'img', + captionType: 'attr', + captionsData: 'title', + captionPosition: 'bottom', + captionClass: '', + close: true, + closeText: '×', + swipeClose: true, + showCounter: true, + fileExt: 'png|jpg|jpeg|gif|webp', + animationSlide: true, + animationSpeed: 250, + preloading: true, + enableKeyboard: true, + loop: true, + rel: false, + docClose: true, + swipeTolerance: 50, + className: 'simple-lightbox', + widthRatio: 0.8, + heightRatio: 0.9, + scaleImageToRatio: false, + disableRightClick: false, + disableScroll: true, + alertError: true, + alertErrorMessage: 'Image not found, next image will be loaded', + additionalHtml: false, + history: true, + throttleInterval: 0, + doubleTapZoom: 2, + maxZoom: 10, + htmlClass: 'has-lightbox', + rtl: false, + fixedClass: 'sl-fixed', + fadeSpeed: 300, + uniqueImages: true, + focus: true + }; + + transitionPrefix; + transitionCapable = false; + + isTouchDevice = ('ontouchstart' in window); + + + initialLocationHash; + + pushStateSupport = ('pushState' in history); + + isOpen = false; + isAnimating = false; + isClosing = false; + isFadeIn = false; + urlChangedOnce = false; + hashReseted = false; + historyHasChanges = false; + historyUpdateTimeout = null; + + currentImage; + eventNamespace = 'simplelightbox'; + domNodes = {}; + + loadedImages = []; + initialImageIndex = 0; + currentImageIndex = 0; + + initialSelector = null; + globalScrollbarWidth = 0; + + controlCoordinates = { + swipeDiff: 0, + swipeYDiff: 0, + swipeStart: 0, + swipeEnd: 0, + swipeYStart: 0, + swipeYEnd: 0, + mousedown: false, + imageLeft: 0, + zoomed: false, + containerHeight: 0, + containerWidth: 0, + containerOffsetX: 0, + containerOffsetY: 0, + imgHeight: 0, + imgWidth: 0, + capture: false, + initialOffsetX: 0, + initialOffsetY: 0, + initialPointerOffsetX: 0, + initialPointerOffsetY: 0, + initialPointerOffsetX2: 0, + initialPointerOffsetY2: 0, + initialScale: 1, + initialPinchDistance: 0, + pointerOffsetX: 0, + pointerOffsetY: 0, + pointerOffsetX2: 0, + pointerOffsetY2: 0, + targetOffsetX: 0, + targetOffsetY: 0, + targetScale: 0, + pinchOffsetX: 0, + pinchOffsetY: 0, + limitOffsetX: 0, + limitOffsetY: 0, + scaleDifference: 0, + targetPinchDistance: 0, + touchCount: 0, + doubleTapped: false, + touchmoveCount: 0 + }; + + constructor(elements, options) { + + this.options = Object.assign(this.defaultOptions, options); + + if (typeof elements === 'string') { + this.initialSelector = elements; + this.elements = Array.from(document.querySelectorAll(elements)); + } else { + this.elements = ((typeof elements.length !== 'undefined') && elements.length > 0) ? Array.from(elements) : [elements]; + } + + this.relatedElements = []; + + this.transitionPrefix = this.calculateTransitionPrefix(); + this.transitionCapable = this.transitionPrefix !== false; + this.initialLocationHash = this.hash; + + // this should be handled by attribute selector IMHO! => 'a[rel=bla]'... + if (this.options.rel) { + this.elements = this.getRelated(this.options.rel); + } + + if (this.options.uniqueImages) { + let imgArr = []; + this.elements = Array.from(this.elements).filter( + element => { + let src = element.getAttribute(this.options.sourceAttr); + if(imgArr.indexOf(src) === -1) { + imgArr.push(src); + return true; + } + return false; + } + ); + } + + this.createDomNodes(); + + if (this.options.close) { + this.domNodes.wrapper.appendChild(this.domNodes.closeButton); + } + + if (this.options.nav) { + this.domNodes.wrapper.appendChild(this.domNodes.navigation); + } + + if (this.options.spinner) { + this.domNodes.wrapper.appendChild(this.domNodes.spinner); + } + + this.addEventListener(this.elements, 'click.' + this.eventNamespace, (event) => { + + if (this.isValidLink(event.currentTarget)) { + event.preventDefault(); + if (this.isAnimating) { + return false; + } + + this.initialImageIndex = this.elements.indexOf(event.currentTarget); + this.openImage(event.currentTarget); + } + }); + + // close addEventListener click addEventListener doc + if (this.options.docClose) { + this.addEventListener(this.domNodes.wrapper, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], (event) => { + if (this.isOpen && event.target === event.currentTarget) { + this.close(); + } + }); + } + + // disable rightclick + if (this.options.disableRightClick) { + this.addEventListener(document.body, 'contextmenu.' + this.eventNamespace, (event) => { + if (event.target.classList.contains('sl-overlay')) { + event.preventDefault(); + } + }); + } + + // keyboard-control + if (this.options.enableKeyboard) { + this.addEventListener(document.body, 'keyup.' + this.eventNamespace, this.throttle((event) => { + this.controlCoordinates.swipeDiff = 0; + // keyboard control only if lightbox is open + + if (this.isAnimating && event.key === 'Escape') { + this.currentImage.setAttribute('src', ''); + this.isAnimating = false; + return this.close(); + } + + if (this.isOpen) { + event.preventDefault(); + if (event.key === 'Escape') { + this.close(); + } + if(!this.isAnimating && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) > -1) { + this.loadImage(event.key === 'ArrowRight' ? 1 : -1); + } + } + }, this.options.throttleInterval)); + } + + this.addEvents(); + } + + createDomNodes() { + this.domNodes.overlay = document.createElement('div'); + this.domNodes.overlay.classList.add('sl-overlay'); + this.domNodes.overlay.dataset.opacityTarget = ".7"; + + this.domNodes.closeButton = document.createElement('button'); + this.domNodes.closeButton.classList.add('sl-close'); + this.domNodes.closeButton.innerHTML = this.options.closeText; + + this.domNodes.spinner = document.createElement('div'); + this.domNodes.spinner.classList.add('sl-spinner'); + this.domNodes.spinner.innerHTML = '<div></div>'; + + this.domNodes.navigation = document.createElement('div'); + this.domNodes.navigation.classList.add('sl-navigation'); + this.domNodes.navigation.innerHTML = `<button class="sl-prev">${this.options.navText[0]}</button><button class="sl-next">${this.options.navText[1]}</button>`; + + this.domNodes.counter = document.createElement('div'); + this.domNodes.counter.classList.add('sl-counter'); + this.domNodes.counter.innerHTML = '<span class="sl-current"></span>/<span class="sl-total"></span>'; + + this.domNodes.caption = document.createElement('div'); + this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition); + if (this.options.captionClass) { + this.domNodes.caption.classList.add(this.options.captionClass); + } + + this.domNodes.image = document.createElement('div'); + this.domNodes.image.classList.add('sl-image'); + + this.domNodes.wrapper = document.createElement('div'); + this.domNodes.wrapper.classList.add('sl-wrapper'); + this.domNodes.wrapper.setAttribute('tabindex',-1); + this.domNodes.wrapper.setAttribute('role','dialog'); + this.domNodes.wrapper.setAttribute('aria-hidden',false); + if (this.options.className) { + this.domNodes.wrapper.classList.add(this.options.className); + } + if(this.options.rtl) { + this.domNodes.wrapper.classList.add('sl-dir-rtl'); + } + } + + throttle(func, limit) { + let inThrottle; + return function () { + if (!inThrottle) { + func.apply(this, arguments); + inThrottle = true; + setTimeout(function () { + return inThrottle = false; + }, limit); + } + }; + } + + isValidLink(element) { + return (!this.options.fileExt) || ('pathname' in element && (new RegExp('(' + this.options.fileExt + ')$', 'i')).test(element.pathname)); + } + + calculateTransitionPrefix() { + let s = (document.body || document.documentElement).style; + + return 'transition' in s ? '' : + 'WebkitTransition' in s ? '-webkit-' : + 'MozTransition' in s ? '-moz-' : + 'OTransition' in s ? '-o' : + false; + } + + toggleScrollbar(type) { + let scrollbarWidth = 0; + let fixedElements = [].slice.call(document.querySelectorAll('.'+this.options.fixedClass)) + if (type === 'hide') { + let fullWindowWidth = window.innerWidth; + if (!fullWindowWidth) { + let documentElementRect = document.documentElement.getBoundingClientRect(); + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left); + } + if (document.body.clientWidth < fullWindowWidth) { + let scrollDiv = document.createElement('div'), + paddingRight = parseInt(document.body.style.paddingRight || 0, 10); + + scrollDiv.classList.add('sl-scrollbar-measure'); + + document.body.appendChild(scrollDiv); + scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + + document.body.dataset.originalPaddingRight = paddingRight; + if (scrollbarWidth > 0) { + document.body.classList.add('hidden-scroll'); + document.body.style.paddingRight = (paddingRight + scrollbarWidth) + 'px'; + + fixedElements.forEach(element => { + const actualPadding = element.style.paddingRight + const calculatedPadding = window.getComputedStyle(element)['padding-right'] + element.dataset.originalPaddingRight = actualPadding; + element.style.paddingRight = `${parseFloat(calculatedPadding) + scrollbarWidth}px` + }); + + } + } + } else { + document.body.classList.remove('hidden-scroll'); + document.body.style.paddingRight = document.body.dataset.originalPaddingRight; + + fixedElements.forEach(element => { + const padding = element.dataset.originalPaddingRight; + if (typeof padding !== 'undefined') { + element.style.paddingRight = padding + } + }); + } + return scrollbarWidth; + } + + close() { + if (!this.isOpen || this.isAnimating || this.isClosing) { + return false; + } + + this.isClosing = true; + let element = this.relatedElements[this.currentImageIndex]; + element.dispatchEvent(new Event('close.simplelightbox')); + + if (this.options.history) { + this.historyHasChanges = false; + if(!this.hashReseted) { + this.resetHash(); + } + } + + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + + + this.fadeOut(document.querySelectorAll('.sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, () => { + if (this.options.disableScroll) { + this.toggleScrollbar('show'); + } + + if (this.options.htmlClass && this.options.htmlClass !== '') { + document.querySelector('html').classList.remove(this.options.htmlClass); + } + + document.body.removeChild(this.domNodes.wrapper); + document.body.removeChild(this.domNodes.overlay); + this.domNodes.additionalHtml = null; + + element.dispatchEvent(new Event('closed.simplelightbox')); + + this.isClosing = false; + }); + + this.currentImage = null; + this.isOpen = false; + this.isAnimating = false; + + // reset touchcontrol coordinates + for (let key in this.controlCoordinates) { + this.controlCoordinates[key] = 0; + } + this.controlCoordinates.mousedown = false; + this.controlCoordinates.zoomed = false; + this.controlCoordinates.capture = false; + this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom); + this.controlCoordinates.doubleTapped = false; + } + + get hash() { + return window.location.hash.substring(1); + } + + preload() { + let index = this.currentImageIndex, + length = this.relatedElements.length, + next = (index + 1 < 0) ? length - 1 : (index + 1 >= length - 1) ? 0 : index + 1, + prev = (index - 1 < 0) ? length - 1 : (index - 1 >= length - 1) ? 0 : index - 1, + nextImage = new Image(), + prevImage = new Image(); + + nextImage.addEventListener('load', (event) => { + let src = event.target.getAttribute('src'); + if (this.loadedImages.indexOf(src) === -1) { //is this condition even required... setting multiple times will not change usage... + this.loadedImages.push(src); + } + this.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + this.eventNamespace)); + }); + nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr)); + + prevImage.addEventListener('load', (event) => { + let src = event.target.getAttribute('src'); + if (this.loadedImages.indexOf(src) === -1) { + this.loadedImages.push(src); + } + this.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + this.eventNamespace)); + }); + prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr)); + } + + loadImage(direction) { + let slideDirection = direction; + if(this.options.rtl) { + direction = -direction; + } + + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace)); + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace)); + + let newIndex = this.currentImageIndex + direction; + + if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) { + return false; + } + + this.currentImageIndex = (newIndex < 0) ? this.relatedElements.length - 1 : (newIndex > this.relatedElements.length - 1) ? 0 : newIndex; + + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + + + if (this.options.animationSlide) { + this.slide(this.options.animationSpeed / 1000, (-100 * slideDirection) - this.controlCoordinates.swipeDiff + 'px'); + } + + this.fadeOut(this.domNodes.image, this.options.fadeSpeed, () => { + this.isAnimating = true; + + if(!this.isClosing) { + setTimeout(() => { + + let element = this.relatedElements[this.currentImageIndex]; + this.currentImage.setAttribute('src', element.getAttribute(this.options.sourceAttr)); + + if (this.loadedImages.indexOf(element.getAttribute(this.options.sourceAttr)) === -1) { + this.show(this.domNodes.spinner); + } + + if(this.domNodes.image.contains(this.domNodes.caption)) { + this.domNodes.image.removeChild(this.domNodes.caption); + } + + this.adjustImage(slideDirection); + if (this.options.preloading) this.preload(); + }, 100); + } else { + this.isAnimating = false; + } + }); + } + + adjustImage(direction) { + if (!this.currentImage) { + return false; + } + + let tmpImage = new Image(), + windowWidth = window.innerWidth * this.options.widthRatio, + windowHeight = window.innerHeight * this.options.heightRatio; + + tmpImage.setAttribute('src', this.currentImage.getAttribute('src')); + + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + this.zoomPanElement(0, 0, 1); + + tmpImage.addEventListener('error', (event) => { + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('error.' + this.eventNamespace)); + this.isAnimating = false; + this.isOpen = false; + this.domNodes.spinner.style.display = 'none'; + + let dirIsDefined = direction === 1 || direction === -1; + if (this.initialImageIndex === this.currentImageIndex && dirIsDefined) { + return this.close(); + } + + if (this.options.alertError) { + alert(this.options.alertErrorMessage); + } + + this.loadImage(dirIsDefined ? direction : 1); + }); + + + tmpImage.addEventListener('load', (event) => { + if (typeof direction !== 'undefined') { + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('changed.' + this.eventNamespace)); + this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + this.eventNamespace)); + } + + // history + if (this.options.history) { + this.updateURL(); + } + + if (this.loadedImages.indexOf(this.currentImage.getAttribute('src')) === -1) { + this.loadedImages.push(this.currentImage.getAttribute('src')); + } + + let imageWidth = event.target.width, + imageHeight = event.target.height; + + if (this.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) { + let ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight; + imageWidth /= ratio; + imageHeight /= ratio; + } + + this.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px'; + this.domNodes.image.style.left = (window.innerWidth - imageWidth - this.globalScrollbarWidth) / 2 + 'px'; + this.domNodes.image.style.width = imageWidth + 'px'; + this.domNodes.image.style.height = imageHeight + 'px'; + + this.domNodes.spinner.style.display = 'none'; + if( this.options.focus ) { + this.forceFocus(); + } + this.fadeIn(this.currentImage, this.options.fadeSpeed, () => { + if( this.options.focus ) { + this.domNodes.wrapper.focus(); + } + }); + + this.isOpen = true; + + let captionContainer, + captionText; + + if (typeof this.options.captionSelector === 'string') { + captionContainer = this.options.captionSelector === 'self' ? this.relatedElements[this.currentImageIndex] : this.relatedElements[this.currentImageIndex].querySelector(this.options.captionSelector); + } else if (typeof this.options.captionSelector === 'function') { + captionContainer = this.options.captionSelector(this.relatedElements[this.currentImageIndex]); + } + + if(this.options.captions && captionContainer) { + if (this.options.captionType === 'data') { + captionText = captionContainer.dataset[this.options.captionsData]; + } else if (this.options.captionType === 'text') { + captionText = captionContainer.innerHTML; + } else { + captionText = captionContainer.getAttribute(this.options.captionsData); + } + } + + if (!this.options.loop) { + if (this.currentImageIndex === 0) { + this.hide(this.domNodes.navigation.querySelector('.sl-prev')); + } + if (this.currentImageIndex >= this.relatedElements.length - 1) { + this.hide(this.domNodes.navigation.querySelector('.sl-next')); + } + if (this.currentImageIndex > 0) { + this.show(this.domNodes.navigation.querySelector('.sl-prev')); + } + if (this.currentImageIndex < this.relatedElements.length - 1) { + this.show(this.domNodes.navigation.querySelector('.sl-next')); + } + } + + if (this.relatedElements.length === 1) { + this.hide(this.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } else { + this.show(this.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next')); + } + + if (direction === 1 || direction === -1) { + if (this.options.animationSlide) { + this.slide(0, 100 * direction + 'px'); + setTimeout(() => { + this.slide(this.options.animationSpeed / 1000, 0 + 'px'); + }, 50); + } + this.fadeIn(this.domNodes.image, this.options.fadeSpeed, () => { + this.isAnimating = false; + this.setCaption(captionText, imageWidth); + }); + + } else { + this.isAnimating = false; + this.setCaption(captionText, imageWidth); + } + + if (this.options.additionalHtml && !this.domNodes.additionalHtml) { + this.domNodes.additionalHtml = document.createElement('div'); + this.domNodes.additionalHtml.classList.add('sl-additional-html'); + this.domNodes.additionalHtml.innerHTML = this.options.additionalHtml; + this.domNodes.image.appendChild(this.domNodes.additionalHtml); + } + + }); + } + + zoomPanElement(targetOffsetX, targetOffsetY, targetScale) { + + this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')'; + + }; + + minMax(value, min, max) { + return (value < min) ? min : (value > max) ? max : value; + }; + + setZoomData(initialScale, targetOffsetX, targetOffsetY) { + this.currentImage.dataset.scale = initialScale; + this.currentImage.dataset.translateX = targetOffsetX; + this.currentImage.dataset.translateY = targetOffsetY; + }; + + + hashchangeHandler() { + if (this.isOpen && this.hash === this.initialLocationHash) { + this.hashReseted = true; + this.close(); + } + } + + addEvents() { + + // resize/responsive + this.addEventListener(window, 'resize.' + this.eventNamespace, (event) => { + //this.adjustImage.bind(this) + if (this.isOpen) { + this.adjustImage(); + } + }); + + this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this)); + + if (this.options.history) { + setTimeout(() => { + this.addEventListener(window, 'hashchange.' + this.eventNamespace, (event) => { + if (this.isOpen) { + this.hashchangeHandler(); + } + }); + }, 40); + } + + this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, (event) => { + if (!event.currentTarget.tagName.match(/button/i)) { + return true; + } + + event.preventDefault(); + this.controlCoordinates.swipeDiff = 0; + this.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1); + }); + + this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], (event) => { + if (event.target.tagName === 'A' && event.type === 'touchstart') { + return true; + } + + if (event.type === 'mousedown') { + this.controlCoordinates.initialPointerOffsetX = event.clientX; + this.controlCoordinates.initialPointerOffsetY = event.clientY; + this.controlCoordinates.containerHeight = this.getDimensions(this.domNodes.image).height; + this.controlCoordinates.containerWidth = this.getDimensions(this.domNodes.image).width; + this.controlCoordinates.imgHeight = this.getDimensions(this.currentImage).height; + this.controlCoordinates.imgWidth = this.getDimensions(this.currentImage).width; + this.controlCoordinates.containerOffsetX = this.domNodes.image.offsetLeft; + this.controlCoordinates.containerOffsetY = this.domNodes.image.offsetTop; + + this.controlCoordinates.initialOffsetX = parseFloat(this.currentImage.dataset.translateX); + this.controlCoordinates.initialOffsetY = parseFloat(this.currentImage.dataset.translateY); + this.controlCoordinates.capture = true; + } else { + this.controlCoordinates.touchCount = event.touches.length; + this.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + this.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + this.controlCoordinates.containerHeight = this.getDimensions(this.domNodes.image).height; + this.controlCoordinates.containerWidth = this.getDimensions(this.domNodes.image).width; + this.controlCoordinates.imgHeight = this.getDimensions(this.currentImage).height; + this.controlCoordinates.imgWidth = this.getDimensions(this.currentImage).width; + this.controlCoordinates.containerOffsetX = this.domNodes.image.offsetLeft; + this.controlCoordinates.containerOffsetY = this.domNodes.image.offsetTop; + + if (this.controlCoordinates.touchCount === 1) /* Single touch */ { + if (!this.controlCoordinates.doubleTapped) { + this.controlCoordinates.doubleTapped = true; + setTimeout(() => { + this.controlCoordinates.doubleTapped = false; + }, 300); + } else { + + this.currentImage.classList.add('sl-transition'); + if (!this.controlCoordinates.zoomed) { + this.controlCoordinates.initialScale = this.options.doubleTapZoom; + this.setZoomData(this.controlCoordinates.initialScale,0, 0); + this.zoomPanElement(0 + "px", 0 + "px", this.controlCoordinates.initialScale); + + + if (!this.domNodes.caption.style.opacity && this.domNodes.caption.style.display !== 'none') { + this.fadeOut(this.domNodes.caption, this.options.fadeSpeed); + } + + this.controlCoordinates.zoomed = true; + } else { + this.controlCoordinates.initialScale = 1; + this.setZoomData(this.controlCoordinates.initialScale,0, 0); + this.zoomPanElement(0 + "px", 0 + "px", this.controlCoordinates.initialScale); + this.controlCoordinates.zoomed = false; + } + + setTimeout(() => { + if (this.currentImage) { + this.currentImage.classList.remove('sl-transition'); + } + }, 200); + return false; + } + + this.controlCoordinates.initialOffsetX = parseFloat(this.currentImage.dataset.translateX); + this.controlCoordinates.initialOffsetY = parseFloat(this.currentImage.dataset.translateY); + } + else if (this.controlCoordinates.touchCount === 2) /* Pinch */ { + this.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX; + this.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY; + this.controlCoordinates.initialOffsetX = parseFloat(this.currentImage.dataset.translateX); + this.controlCoordinates.initialOffsetY = parseFloat(this.currentImage.dataset.translateY); + this.controlCoordinates.pinchOffsetX = (this.controlCoordinates.initialPointerOffsetX + this.controlCoordinates.initialPointerOffsetX2) / 2; + this.controlCoordinates.pinchOffsetY = (this.controlCoordinates.initialPointerOffsetY + this.controlCoordinates.initialPointerOffsetY2) / 2; + this.controlCoordinates.initialPinchDistance = Math.sqrt(((this.controlCoordinates.initialPointerOffsetX - this.controlCoordinates.initialPointerOffsetX2) * (this.controlCoordinates.initialPointerOffsetX - this.controlCoordinates.initialPointerOffsetX2)) + ((this.controlCoordinates.initialPointerOffsetY - this.controlCoordinates.initialPointerOffsetY2) * (this.controlCoordinates.initialPointerOffsetY - this.controlCoordinates.initialPointerOffsetY2))); + } + this.controlCoordinates.capture = true; + } + if(this.controlCoordinates.mousedown) return true; + if (this.transitionCapable) { + this.controlCoordinates.imageLeft = parseInt(this.domNodes.image.style.left, 10); + } + this.controlCoordinates.mousedown = true; + this.controlCoordinates.swipeDiff = 0; + this.controlCoordinates.swipeYDiff = 0; + this.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX; + this.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY; + + return false; + }); + + this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], (event) => { + + + if (!this.controlCoordinates.mousedown) { + return true; + } + + event.preventDefault(); + + if (event.type === 'touchmove') { + if (this.controlCoordinates.capture === false) { + return false; + } + + this.controlCoordinates.pointerOffsetX = event.touches[0].clientX; + this.controlCoordinates.pointerOffsetY = event.touches[0].clientY; + this.controlCoordinates.touchCount = event.touches.length; + this.controlCoordinates.touchmoveCount++; + + if (this.controlCoordinates.touchCount > 1) /* Pinch */ { + this.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX; + this.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY; + this.controlCoordinates.targetPinchDistance = Math.sqrt(((this.controlCoordinates.pointerOffsetX - this.controlCoordinates.pointerOffsetX2) * (this.controlCoordinates.pointerOffsetX - this.controlCoordinates.pointerOffsetX2)) + ((this.controlCoordinates.pointerOffsetY - this.controlCoordinates.pointerOffsetY2) * (this.controlCoordinates.pointerOffsetY - this.controlCoordinates.pointerOffsetY2))); + if (this.controlCoordinates.initialPinchDistance === null) { + this.controlCoordinates.initialPinchDistance = this.controlCoordinates.targetPinchDistance; + } + + if (Math.abs(this.controlCoordinates.initialPinchDistance - this.controlCoordinates.targetPinchDistance) >= 1) { + /* Initialize helpers */ + this.controlCoordinates.targetScale = this.minMax(this.controlCoordinates.targetPinchDistance / this.controlCoordinates.initialPinchDistance * this.controlCoordinates.initialScale, 1, this.options.maxZoom); + this.controlCoordinates.limitOffsetX = ((this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) - this.controlCoordinates.containerWidth) / 2; + this.controlCoordinates.limitOffsetY = ((this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) - this.controlCoordinates.containerHeight) / 2; + this.controlCoordinates.scaleDifference = this.controlCoordinates.targetScale - this.controlCoordinates.initialScale; + this.controlCoordinates.targetOffsetX = (this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerWidth ? 0 : this.minMax(this.controlCoordinates.initialOffsetX - ((((((this.controlCoordinates.pinchOffsetX - this.controlCoordinates.containerOffsetX) - (this.controlCoordinates.containerWidth / 2)) - this.controlCoordinates.initialOffsetX) / (this.controlCoordinates.targetScale - this.controlCoordinates.scaleDifference))) * this.controlCoordinates.scaleDifference), this.controlCoordinates.limitOffsetX * (-1), this.controlCoordinates.limitOffsetX); + this.controlCoordinates.targetOffsetY = (this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerHeight ? 0 : this.minMax(this.controlCoordinates.initialOffsetY - ((((((this.controlCoordinates.pinchOffsetY - this.controlCoordinates.containerOffsetY) - (this.controlCoordinates.containerHeight / 2)) - this.controlCoordinates.initialOffsetY) / (this.controlCoordinates.targetScale - this.controlCoordinates.scaleDifference))) * this.controlCoordinates.scaleDifference), this.controlCoordinates.limitOffsetY * (-1), this.controlCoordinates.limitOffsetY); + + this.zoomPanElement(this.controlCoordinates.targetOffsetX + "px", this.controlCoordinates.targetOffsetY + "px", this.controlCoordinates.targetScale); + + if (this.controlCoordinates.targetScale > 1) { + this.controlCoordinates.zoomed = true; + if (!this.domNodes.caption.style.opacity && this.domNodes.caption.style.display !== 'none') { + this.fadeOut(this.domNodes.caption, this.options.fadeSpeed); + } + } + + this.controlCoordinates.initialPinchDistance = this.controlCoordinates.targetPinchDistance; + this.controlCoordinates.initialScale = this.controlCoordinates.targetScale; + this.controlCoordinates.initialOffsetX = this.controlCoordinates.targetOffsetX; + this.controlCoordinates.initialOffsetY = this.controlCoordinates.targetOffsetY; + } + } else { + this.controlCoordinates.targetScale = this.controlCoordinates.initialScale; + this.controlCoordinates.limitOffsetX = ((this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) - this.controlCoordinates.containerWidth) / 2; + this.controlCoordinates.limitOffsetY = ((this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) - this.controlCoordinates.containerHeight) / 2; + this.controlCoordinates.targetOffsetX = (this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerWidth ? 0 : this.minMax(this.controlCoordinates.pointerOffsetX - (this.controlCoordinates.initialPointerOffsetX - this.controlCoordinates.initialOffsetX), this.controlCoordinates.limitOffsetX * (-1), this.controlCoordinates.limitOffsetX); + this.controlCoordinates.targetOffsetY = (this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerHeight ? 0 : this.minMax(this.controlCoordinates.pointerOffsetY - (this.controlCoordinates.initialPointerOffsetY - this.controlCoordinates.initialOffsetY), this.controlCoordinates.limitOffsetY * (-1), this.controlCoordinates.limitOffsetY); + + if (Math.abs(this.controlCoordinates.targetOffsetX) === Math.abs(this.controlCoordinates.limitOffsetX)) { + this.controlCoordinates.initialOffsetX = this.controlCoordinates.targetOffsetX; + this.controlCoordinates.initialPointerOffsetX = this.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(this.controlCoordinates.targetOffsetY) === Math.abs(this.controlCoordinates.limitOffsetY)) { + this.controlCoordinates.initialOffsetY = this.controlCoordinates.targetOffsetY; + this.controlCoordinates.initialPointerOffsetY = this.controlCoordinates.pointerOffsetY; + } + + this.setZoomData(this.controlCoordinates.initialScale, this.controlCoordinates.targetOffsetX, this.controlCoordinates.targetOffsetY); + this.zoomPanElement(this.controlCoordinates.targetOffsetX + "px", this.controlCoordinates.targetOffsetY + "px", this.controlCoordinates.targetScale); + } + } + + /* Mouse Move implementation */ + if (event.type === 'mousemove' && this.controlCoordinates.mousedown) { + if(event.type == 'touchmove') return true; + if(this.controlCoordinates.capture === false) return false; + + this.controlCoordinates.pointerOffsetX = event.clientX; + this.controlCoordinates.pointerOffsetY = event.clientY; + + this.controlCoordinates.targetScale = this.controlCoordinates.initialScale; + this.controlCoordinates.limitOffsetX = ((this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) - this.controlCoordinates.containerWidth) / 2; + this.controlCoordinates.limitOffsetY = ((this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) - this.controlCoordinates.containerHeight) / 2; + this.controlCoordinates.targetOffsetX = (this.controlCoordinates.imgWidth * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerWidth ? 0 : this.minMax(this.controlCoordinates.pointerOffsetX - (this.controlCoordinates.initialPointerOffsetX - this.controlCoordinates.initialOffsetX), this.controlCoordinates.limitOffsetX * (-1), this.controlCoordinates.limitOffsetX); + this.controlCoordinates.targetOffsetY = (this.controlCoordinates.imgHeight * this.controlCoordinates.targetScale) <= this.controlCoordinates.containerHeight ? 0 : this.minMax(this.controlCoordinates.pointerOffsetY - (this.controlCoordinates.initialPointerOffsetY - this.controlCoordinates.initialOffsetY), this.controlCoordinates.limitOffsetY * (-1), this.controlCoordinates.limitOffsetY); + + if (Math.abs(this.controlCoordinates.targetOffsetX) === Math.abs(this.controlCoordinates.limitOffsetX)) { + this.controlCoordinates.initialOffsetX = this.controlCoordinates.targetOffsetX; + this.controlCoordinates.initialPointerOffsetX = this.controlCoordinates.pointerOffsetX; + } + + if (Math.abs(this.controlCoordinates.targetOffsetY) === Math.abs(this.controlCoordinates.limitOffsetY)) { + this.controlCoordinates.initialOffsetY = this.controlCoordinates.targetOffsetY; + this.controlCoordinates.initialPointerOffsetY = this.controlCoordinates.pointerOffsetY; + } + + this.setZoomData(this.controlCoordinates.initialScale, this.controlCoordinates.targetOffsetX, this.controlCoordinates.targetOffsetY); + this.zoomPanElement(this.controlCoordinates.targetOffsetX + "px", this.controlCoordinates.targetOffsetY + "px", this.controlCoordinates.targetScale); + + } + + if (!this.controlCoordinates.zoomed) { + + this.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX; + this.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY; + this.controlCoordinates.swipeDiff = this.controlCoordinates.swipeStart - this.controlCoordinates.swipeEnd; + this.controlCoordinates.swipeYDiff = this.controlCoordinates.swipeYStart - this.controlCoordinates.swipeYEnd; + if (this.options.animationSlide) { + this.slide(0, -this.controlCoordinates.swipeDiff + 'px'); + } + } + + }); + + + this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], (event) => { + + + if (this.isTouchDevice && event.type === 'touchend') { + this.controlCoordinates.touchCount = event.touches.length; + if (this.controlCoordinates.touchCount === 0) /* No touch */ { + /* Set attributes */ + if (this.currentImage) { + this.setZoomData(this.controlCoordinates.initialScale, this.controlCoordinates.targetOffsetX, this.controlCoordinates.targetOffsetY); + } + if (this.controlCoordinates.initialScale === 1) { + this.controlCoordinates.zoomed = false; + if (this.domNodes.caption.style.display === 'none') { + this.fadeIn(this.domNodes.caption, this.options.fadeSpeed); + } + } + this.controlCoordinates.initialPinchDistance = null; + this.controlCoordinates.capture = false; + } else if (this.controlCoordinates.touchCount === 1) /* Single touch */ { + this.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX; + this.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY; + } else if (this.controlCoordinates.touchCount > 1) /* Pinch */ { + this.controlCoordinates.initialPinchDistance = null; + } + } + + + if (this.controlCoordinates.mousedown) { + this.controlCoordinates.mousedown = false; + let possibleDir = true; + if (!this.options.loop) { + if (this.currentImageIndex === 0 && this.controlCoordinates.swipeDiff < 0) { + possibleDir = false; + } + if (this.currentImageIndex >= this.relatedElements.length - 1 && this.controlCoordinates.swipeDiff > 0) { + possibleDir = false; + } + } + if (Math.abs(this.controlCoordinates.swipeDiff) > this.options.swipeTolerance && possibleDir) { + this.loadImage(this.controlCoordinates.swipeDiff > 0 ? 1 : -1); + } + else if (this.options.animationSlide) { + this.slide(this.options.animationSpeed / 1000, 0 + 'px'); + } + + if (this.options.swipeClose && Math.abs(this.controlCoordinates.swipeYDiff) > 50 && Math.abs(this.controlCoordinates.swipeDiff) < this.options.swipeTolerance) { + this.close(); + } + } + }); + + this.addEventListener(this.domNodes.image, ['dblclick'], (event) => { + if(this.isTouchDevice) return; + this.controlCoordinates.initialPointerOffsetX = event.clientX; + this.controlCoordinates.initialPointerOffsetY = event.clientY; + this.controlCoordinates.containerHeight = this.getDimensions(this.domNodes.image).height; + this.controlCoordinates.containerWidth = this.getDimensions(this.domNodes.image).width; + this.controlCoordinates.imgHeight = this.getDimensions(this.currentImage).height; + this.controlCoordinates.imgWidth = this.getDimensions(this.currentImage).width; + this.controlCoordinates.containerOffsetX = this.domNodes.image.offsetLeft; + this.controlCoordinates.containerOffsetY = this.domNodes.image.offsetTop; + + this.currentImage.classList.add('sl-transition'); + + if(!this.controlCoordinates.zoomed) { + this.controlCoordinates.initialScale = this.options.doubleTapZoom; + this.setZoomData(this.controlCoordinates.initialScale, 0, 0); + this.zoomPanElement(0 + "px", 0 + "px", this.controlCoordinates.initialScale); + if (!this.domNodes.caption.style.opacity && this.domNodes.caption.style.display !== 'none') { + this.fadeOut(this.domNodes.caption, this.options.fadeSpeed); + } + this.controlCoordinates.zoomed = true; + } else { + this.controlCoordinates.initialScale = 1; + this.setZoomData(this.controlCoordinates.initialScale, 0, 0); + this.zoomPanElement(0 + "px", 0 + "px", this.controlCoordinates.initialScale); + this.controlCoordinates.zoomed = false; + if (this.domNodes.caption.style.display === 'none') { + this.fadeIn(this.domNodes.caption, this.options.fadeSpeed); + } + } + setTimeout(() => { + if (this.currentImage) { + this.currentImage.classList.remove('sl-transition'); + } + }, 200); + + this.controlCoordinates.capture = true; + return false; + }); + + } + + getDimensions(element) { + let styles = window.getComputedStyle(element), + height = element.offsetHeight, + width = element.offsetWidth, + borderTopWidth = parseFloat(styles.borderTopWidth), + borderBottomWidth = parseFloat(styles.borderBottomWidth), + paddingTop = parseFloat(styles.paddingTop), + paddingBottom = parseFloat(styles.paddingBottom), + borderLeftWidth = parseFloat(styles.borderLeftWidth), + borderRightWidth = parseFloat(styles.borderRightWidth), + paddingLeft = parseFloat(styles.paddingLeft), + paddingRight = parseFloat(styles.paddingRight); + return { + height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom, + width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight + }; + } + + updateHash() { + let newHash = 'pid=' + (this.currentImageIndex + 1), + newURL = window.location.href.split('#')[0] + '#' + newHash; + + this.hashReseted = false; + + if (this.pushStateSupport) { + window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL); + } else { + // what is the browser target of this? + if (this.historyHasChanges) { + window.location.replace(newURL); + } else { + window.location.hash = newHash; + } + } + if(!this.historyHasChanges) { + this.urlChangedOnce = true; + } + + this.historyHasChanges = true; + } + + resetHash() { + this.hashReseted = true; + if(this.urlChangedOnce) { + history.back(); + } else { + if (this.pushStateSupport) { + history.pushState('', document.title, window.location.pathname + window.location.search); + } else { + window.location.hash = ''; + } + } + // + //in case an history operation is still pending + clearTimeout(this.historyUpdateTimeout); + } + + updateURL() { + clearTimeout(this.historyUpdateTimeout); + if (!this.historyHasChanges) { + this.updateHash(); // first time + } else { + this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800); + } + } + + setCaption(captionText, imageWidth) { + if (this.options.captions && captionText && captionText !== '' && typeof captionText !== "undefined") { + this.hide(this.domNodes.caption); + this.domNodes.caption.style.width = imageWidth + 'px'; + this.domNodes.caption.innerHTML = captionText; + + this.domNodes.image.appendChild(this.domNodes.caption); + + setTimeout(() => { + this.fadeIn(this.domNodes.caption, this.options.fadeSpeed); + }, this.options.captionDelay); + } + } + + slide(speed, pos) { + if (!this.transitionCapable) { + return this.domNodes.image.style.left = pos; + } + + this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')'; + this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear'; + } + + getRelated(rel) { + let elems; + if (rel && rel !== false && rel !== 'nofollow') { + elems = Array.from(this.elements).filter(element => element.getAttribute('rel') === rel); + } else { + elems = this.elements; + } + return elems; + } + + openImage(element) { + element.dispatchEvent(new Event('show.' + this.eventNamespace)); + + if (this.options.disableScroll) { + this.globalScrollbarWidth = this.toggleScrollbar('hide'); + } + + if (this.options.htmlClass && this.options.htmlClass !== '') { + document.querySelector('html').classList.add(this.options.htmlClass); + } + + document.body.appendChild(this.domNodes.wrapper); + + this.domNodes.wrapper.appendChild(this.domNodes.image); + if (this.options.overlay) { + document.body.appendChild(this.domNodes.overlay); + } + + this.relatedElements = this.getRelated(element.rel); + + if (this.options.showCounter) { + if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.removeChild(this.domNodes.counter); + } else if(this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) { + this.domNodes.wrapper.appendChild(this.domNodes.counter); + } + } + + this.isAnimating = true; + + this.currentImageIndex = this.relatedElements.indexOf(element); + + let targetURL = element.getAttribute(this.options.sourceAttr); + + this.currentImage = document.createElement('img'); + this.currentImage.style.display = 'none'; + this.currentImage.setAttribute('src', targetURL); + this.currentImage.dataset.scale = 1; + this.currentImage.dataset.translateX = 0; + this.currentImage.dataset.translateY = 0; + + if (this.loadedImages.indexOf(targetURL) === -1) { + this.loadedImages.push(targetURL); + } + + this.domNodes.image.innerHTML = ''; + this.domNodes.image.setAttribute('style', ''); + + this.domNodes.image.appendChild(this.currentImage); + + + this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed); + this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton], this.options.fadeSpeed); + + this.show(this.domNodes.spinner); + this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1; + this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length; + + this.adjustImage(); + if (this.options.preloading) { + this.preload(); + } + + setTimeout(() => { + element.dispatchEvent(new Event('shown.' + this.eventNamespace)); + }, this.options.animationSpeed); + } + + forceFocus() { + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.addEventListener(document, 'focusin.' + this.eventNamespace, event => { + if (document !== event.target && + this.domNodes.wrapper !== event.target && + !this.domNodes.wrapper.contains(event.target)) { + this.domNodes.wrapper.focus(); + } + }); + } + + // utility + + addEventListener(elements, events, callback, opts) { + elements = this.wrap(elements); + events = this.wrap(events); + + + for (let element of elements) { + if (!element.namespaces) { + element.namespaces = {}; + } // save the namespaces addEventListener the DOM element itself + + for (let event of events) { + let options = opts || false; + element.namespaces[event] = callback; + element.addEventListener(event.split('.')[0], callback, options); + + } + } + } + + removeEventListener(elements, events) { + elements = this.wrap(elements); + events = this.wrap(events); + for (let element of elements) { + for (let event of events) { + if(element.namespaces && element.namespaces[event]) { + element.removeEventListener(event.split('.')[0], element.namespaces[event]); + delete element.namespaces[event]; + } + } + } + } + + fadeOut(elements, duration, callback) { + elements = this.wrap(elements); + for (let element of elements) { + element.style.opacity = 1; + } + + this.isFadeIn = false; + + let step = 16.66666 / (duration || this.options.fadeSpeed), + fade = () => { + let currentOpacity = parseFloat(elements[0].style.opacity); + if ((currentOpacity -= step) < 0) { + for (let element of elements) { + element.style.display = "none"; + element.style.opacity = ''; + } + callback && callback.call(this, elements); + } else { + for (let element of elements) { + element.style.opacity = currentOpacity; + } + requestAnimationFrame(fade); + } + }; + + fade(); + } + + fadeIn(elements, duration, callback, display) { + elements = this.wrap(elements); + for (let element of elements) { + element.style.opacity = 0; + element.style.display = display || "block"; + } + + this.isFadeIn = true; + + let opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1), + step = (16.66666 * opacityTarget) / (duration || this.options.fadeSpeed), + fade = () => { + let currentOpacity = parseFloat(elements[0].style.opacity); + if (!((currentOpacity += step) > opacityTarget)) { + for (let element of elements) { + element.style.opacity = currentOpacity; + } + if(!this.isFadeIn) return; + requestAnimationFrame(fade); + } else { + for (let element of elements) { + element.style.opacity = ''; + } + callback && callback.call(this, elements); + } + }; + + fade(); + } + + hide(elements) { + elements = this.wrap(elements); + for (let element of elements) { + element.dataset.initialDisplay = element.style.display; + element.style.display = 'none'; + } + } + + show(elements, display) { + elements = this.wrap(elements); + for (let element of elements) { + element.style.display = element.dataset.initialDisplay || display || 'block'; + } + } + + wrap(input) { + return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input]; + } + + on(events, callback) { + events = this.wrap(events); + for (let element of this.elements) { + if (!element.fullyNamespacedEvents) { + element.fullyNamespacedEvents = {}; + } + for (let event of events) { + element.fullyNamespacedEvents[event] = callback; + element.addEventListener(event, callback); + } + } + return this; + } + + off(events) { + events = this.wrap(events); + for (let element of this.elements) { + for (let event of events) { + if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) { + element.removeEventListener(event, element.fullyNamespacedEvents[event]); + } + } + } + return this; + } + + // api + + open(elem) { + elem = elem || this.elements[0]; + if(typeof jQuery !== "undefined" && elem instanceof jQuery) { + elem = elem.get(0); + } + this.initialImageIndex = this.elements.indexOf(elem); + if(this.initialImageIndex > -1) { + this.openImage(elem); + } + } + + next() { + this.loadImage(1); + } + + prev() { + this.loadImage(-1); + } + + //close is exposed anyways.. + + destroy() { + //remove all custom event listeners from elements + this.off([ + 'close.' + this.eventNamespace, + 'closed.' + this.eventNamespace, + 'nextImageLoaded.' + this.eventNamespace, + 'prevImageLoaded.' + this.eventNamespace, + 'change.' + this.eventNamespace, + 'nextDone.' + this.eventNamespace, + 'prevDone.' + this.eventNamespace, + 'error.' + this.eventNamespace, + 'changed.' + this.eventNamespace, + 'next.' + this.eventNamespace, + 'prev.' + this.eventNamespace, + 'show.' + this.eventNamespace, + 'shown.' + this.eventNamespace + ]); + + this.removeEventListener(this.elements, 'click.' + this.eventNamespace); + this.removeEventListener(document, 'focusin.' + this.eventNamespace); + this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace); + this.removeEventListener(document.body, 'keyup.' + this.eventNamespace); + + this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace); + this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace); + this.removeEventListener(window, 'resize.' + this.eventNamespace); + this.removeEventListener(window, 'hashchange.' + this.eventNamespace); + + this.close(); + if (this.isOpen) { + document.body.removeChild(this.domNodes.wrapper); + document.body.removeChild(this.domNodes.overlay); + } + + this.elements = null; + } + + refresh() { + if (!this.initialSelector) { + throw 'refreshing only works when you initialize using a selector!'; + } + + let options = this.options, + selector = this.initialSelector; + + this.destroy(); + + this.constructor(selector, options); + + return this; + } +} +export default SimpleLightbox; + +global.SimpleLightbox = SimpleLightbox; \ No newline at end of file diff --git a/photos/simplelightbox-master/src/simple-lightbox.scss b/photos/simplelightbox-master/src/simple-lightbox.scss new file mode 100644 index 0000000000000000000000000000000000000000..3fbde6016462166c369f09d0dfe8be3928c53137 --- /dev/null +++ b/photos/simplelightbox-master/src/simple-lightbox.scss @@ -0,0 +1,334 @@ +// You can customize Simplelightbox with the following variables: + +$sl-font-family: Arial, Baskerville, monospace !default; +$sl-overlay-background: #fff !default; +$sl-overlay-opacity: 0.7 !default; +$sl-navigation-color: #000 !default; +$sl-caption-color: #fff !default; +$sl-caption-background: rgba(0, 0, 0, 0.8) !default; + +$sl-counter-fontsize: 1rem !default; +$sl-caption-fontsize: 1rem !default; +$sl-close-fontsize: 3rem !default; + +$sl-breakpoint-medium: 35.5em !default; // 568px, when 1em == 16px +$sl-breakpoint-large: 50em !default; // 800px, when 1em == 16px + +$sl-arrow-fontsize-small: 2rem !default; +$sl-arrow-fontsize-medium: 3rem !default; +$sl-arrow-fontsize-large: 3rem !default; +$sl-img-border-small: 0 none !default; +$sl-img-border-medium: 0 none !default; +$sl-img-border-large: 0 none !default; +$sl-iframe-border-small: 0 none !default; +$sl-iframe-border-medium: 0 none !default; +$sl-iframe-border-large: 0 none !default; + +$add-vendor-prefixes: true !default; + +body.hidden-scroll { + overflow: hidden; +} + +.sl-overlay { + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: $sl-overlay-background; + opacity: $sl-overlay-opacity; + display: none; + z-index: 1035; +} + +.sl-wrapper { + z-index: 1040; + width: 100%; + height: 100%; + left: 0; + top: 0; + position: fixed; + + * { + box-sizing: border-box; + } + button { + border: 0 none; + background: transparent; + font-size: 28px; + padding: 0; + cursor: pointer; + &:hover { + opacity: 0.7; + } + } + + .sl-close { + display: none; + position: fixed; + right: 30px; + top: 30px; + z-index: 10060; + margin-top: -14px; + margin-right: -14px; + height: 44px; + width: 44px; + line-height: 44px; + font-family: $sl-font-family; + color: $sl-navigation-color; + font-size: $sl-close-fontsize; + + &:focus { + //outline: none; + } + } + + .sl-counter { + display: none; + position: fixed; + top: 30px; + left: 30px; + z-index: 1060; + color: $sl-navigation-color; + font-size: $sl-counter-fontsize; + } + + .sl-navigation { + width: 100%; + display: none; + button { + position: fixed; + top: 50%; + margin-top: -22px; + height: 44px; + width: 22px; + line-height: 44px; + text-align: center; + display: block; + z-index: 10060; + font-family: $sl-font-family; + color: $sl-navigation-color; + &.sl-next { + right: 5px; + font-size: $sl-arrow-fontsize-small; + } + + &.sl-prev { + left: 5px; + font-size: $sl-arrow-fontsize-small; + } + + &:focus { + //outline: none; + } + + @media (min-width: $sl-breakpoint-medium) { + width: 44px; + + &.sl-next { + right: 10px; + font-size: $sl-arrow-fontsize-medium; + } + + &.sl-prev { + left: 10px; + font-size: $sl-arrow-fontsize-medium; + } + } + @media (min-width: $sl-breakpoint-large) { + width: 44px; + + &.sl-next { + right: 20px; + font-size: $sl-arrow-fontsize-large; + } + + &.sl-prev { + left: 20px; + font-size: $sl-arrow-fontsize-large; + } + } + } + } + + &.sl-dir-rtl { + .sl-navigation { + direction: ltr; + } + } + + .sl-image { + position: fixed; + @if $add-vendor-prefixes { + -ms-touch-action: none; + } + touch-action: none; + z-index: 10000; + img { + margin: 0; + padding: 0; + display: block; + border: $sl-img-border-small; + width: 100%; + height: auto; + @media (min-width: $sl-breakpoint-medium) { + border: $sl-img-border-medium; + } + @media (min-width: $sl-breakpoint-large) { + border: $sl-img-border-large; + } + + } + iframe { + background: #000; + border: $sl-iframe-border-small; + @media (min-width: $sl-breakpoint-medium) { + border: $sl-iframe-border-medium; + } + @media (min-width: $sl-breakpoint-large) { + border: $sl-iframe-border-large; + } + } + .sl-caption { + display: none; + padding: 10px; + color: $sl-caption-color; + background: $sl-caption-background; + font-size: $sl-caption-fontsize; + position: absolute; + bottom: 0; + left: 0; + right: 0; + + &.pos-top { + bottom: auto; + top: 0; + } + + &.pos-outside { + bottom: auto; + } + } + + .sl-download { + display: none; + position: absolute; + bottom: 5px; + right: 5px; + color: $sl-navigation-color; + z-index: 1060; + } + } +} + +.sl-spinner { + display: none; + border: 5px solid #333; + border-radius: 40px; + height: 40px; + left: 50%; + margin: -20px 0 0 -20px; + opacity: 0; + position: fixed; + top: 50%; + width: 40px; + z-index: 1007; + @if $add-vendor-prefixes { + -webkit-animation: pulsate 1s ease-out infinite; + -moz-animation: pulsate 1s ease-out infinite; + -ms-animation: pulsate 1s ease-out infinite; + -o-animation: pulsate 1s ease-out infinite; + } + animation: pulsate 1s ease-out infinite; +} + +.sl-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +.sl-transition { + @if $add-vendor-prefixes { + transition: -moz-transform ease 200ms; + transition: -ms-transform ease 200ms; + transition: -o-transform ease 200ms; + transition: -webkit-transform ease 200ms; + } + transition: transform ease 200ms; +} + +@-webkit-keyframes pulsate { + 0% { + transform: scale(.1); + opacity: 0.0; + } + 50% { + opacity: 1; + } + 100% { + transform: scale(1.2); + opacity: 0; + } +} + +@keyframes pulsate { + 0% { + transform: scale(.1); + opacity: 0.0; + } + 50% { + opacity: 1; + } + 100% { + transform: scale(1.2); + opacity: 0; + } +} + +@if $add-vendor-prefixes { + @-moz-keyframes pulsate { + 0% { + transform: scale(.1); + opacity: 0.0; + } + 50% { + opacity: 1; + } + 100% { + transform: scale(1.2); + opacity: 0; + } + } + + @-o-keyframes pulsate { + 0% { + transform: scale(.1); + opacity: 0.0; + } + 50% { + opacity: 1; + } + 100% { + transform: scale(1.2); + opacity: 0; + } + } + + @-ms-keyframes pulsate { + 0% { + transform: scale(.1); + opacity: 0.0; + } + 50% { + opacity: 1; + } + 100% { + transform: scale(1.2); + opacity: 0; + } + } +} diff --git a/photos/style.css b/photos/style.css new file mode 100644 index 0000000000000000000000000000000000000000..48603ab1891b14092f76d07dc85252043269e03d --- /dev/null +++ b/photos/style.css @@ -0,0 +1,32 @@ +.container{ + margin: 0 auto; +} + + +.container .gallery a img { + float: left; + width: 20%; + height: auto; + border: 2px solid #fff; + -webkit-transition: -webkit-transform .15s ease; + -moz-transition: -moz-transform .15s ease; + -o-transition: -o-transform .15s ease; + -ms-transition: -ms-transform .15s ease; + transition: transform .15s ease; + position: relative; +} + +.container .gallery a:hover img { + -webkit-transform: scale(1.05); + -moz-transform: scale(1.05); + -o-transform: scale(1.05); + -ms-transform: scale(1.05); + transform: scale(1.05); + z-index: 5; +} + +.clear { + clear: both; + float: none; + width: 100%; +} \ No newline at end of file