Visual Portfolio, Photo Gallery & Post Grid - Version 2.6.2

Version Description

Download this release

Release Info

Developer nko
Plugin Icon 128x128 Visual Portfolio, Photo Gallery & Post Grid
Version 2.6.2
Comparing to
See all releases

Code changes from version 2.6.1 to 2.6.2

Files changed (45) hide show
  1. assets/admin/css/style-rtl.min.css +1 -1
  2. assets/admin/css/style.min.css +1 -1
  3. assets/admin/js/elementor.js +1 -1
  4. assets/admin/js/elementor.min.js +1 -8
  5. assets/admin/js/mce-dropdown.js +1 -1
  6. assets/admin/js/script.js +8 -1
  7. assets/admin/js/script.min.js +1 -6
  8. assets/admin/js/vc-frontend.js +1 -1
  9. assets/js/layout-grid.js +95 -76
  10. assets/js/layout-grid.min.js +1 -1
  11. assets/js/main.min.js +1 -1
  12. assets/js/plugin-isotope.js +2 -2
  13. assets/js/plugin-isotope.min.js +1 -1
  14. assets/js/preview.js +1 -1
  15. assets/vendor/fancybox/{jquery.fancybox.min.css → dist/jquery.fancybox.min.css} +0 -0
  16. assets/vendor/fancybox/{jquery.fancybox.min.js → dist/jquery.fancybox.min.js} +0 -0
  17. assets/vendor/flickr-justified-gallery/{fjGallery.css → dist/fjGallery.css} +0 -0
  18. assets/vendor/flickr-justified-gallery/{fjGallery.min.js → dist/fjGallery.min.js} +0 -0
  19. assets/vendor/flickr-justified-gallery/{fjGallery.min.js.map → dist/fjGallery.min.js.map} +0 -0
  20. assets/vendor/flickr-justified-gallery/fjGallery.js +0 -1450
  21. assets/vendor/ie11-custom-properties/{ie11-custom-properties.js → ie11CustomProperties.js} +12 -26
  22. assets/vendor/iframe-resizer/iframeResizer.map +0 -1
  23. assets/vendor/iframe-resizer/{iframeResizer.contentWindow.map → js/iframeResizer.contentWindow.map} +1 -1
  24. assets/vendor/iframe-resizer/{iframeResizer.contentWindow.min.js → js/iframeResizer.contentWindow.min.js} +1 -1
  25. assets/vendor/iframe-resizer/js/iframeResizer.map +1 -0
  26. assets/vendor/iframe-resizer/{iframeResizer.min.js → js/iframeResizer.min.js} +1 -1
  27. assets/vendor/{isotope → isotope-layout/dist}/isotope.pkgd.min.js +0 -0
  28. assets/vendor/isotope/isotope.pkgd.js +0 -3563
  29. assets/vendor/lazysizes/lazysizes.min.js +3 -2
  30. assets/vendor/object-fit-images/{ofi.min.js → dist/ofi.min.js} +0 -0
  31. assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.css +0 -0
  32. assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.png +0 -0
  33. assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.svg +0 -0
  34. assets/vendor/photoswipe/{default-skin → dist/default-skin}/preloader.gif +0 -0
  35. assets/vendor/photoswipe/{photoswipe-ui-default.min.js → dist/photoswipe-ui-default.min.js} +0 -0
  36. assets/vendor/photoswipe/{photoswipe.css → dist/photoswipe.css} +0 -0
  37. assets/vendor/photoswipe/{photoswipe.min.js → dist/photoswipe.min.js} +0 -0
  38. assets/vendor/readme.md +1 -0
  39. assets/vendor/simplebar/{simplebar.min.css → dist/simplebar.min.css} +0 -0
  40. assets/vendor/simplebar/dist/simplebar.min.js +10 -0
  41. assets/vendor/simplebar/simplebar.min.js +0 -10
  42. assets/vendor/swiper/css/swiper.min.css +0 -13
  43. assets/vendor/swiper/js/swiper.min.js +0 -14
  44. assets/vendor/swiper/js/swiper.min.js.map +0 -1
  45. assets/vendor/swiper/swiper-bundle.js +8005 -0
assets/admin/css/style-rtl.min.css CHANGED
@@ -2,4 +2,4 @@
2
  * Name : Visual Portfolio
3
  * Version : @@plugin_version
4
  * Author : nK https://nkdev.info
5
- */#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-vc.png");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:left;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;left:0;bottom:0;right:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-left:-15px;margin-right:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:15px;padding-right:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;right:0;width:100%;height:100%;z-index:2}.vpf-meta-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-meta-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;right:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:right;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:left}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-left:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;right:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none;opacity:.5}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-right:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
2
  * Name : Visual Portfolio
3
  * Version : @@plugin_version
4
  * Author : nK https://nkdev.info
5
+ */#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-vc.png");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:left;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;left:0;bottom:0;right:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-left:-15px;margin-right:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:15px;padding-right:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;right:0;width:100%;height:100%;z-index:2}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vpf-post-image-focal-point-panel ~ .editor-post-featured-image .editor-post-featured-image__preview{display:none}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;right:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:right;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:left}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-left:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;right:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none;opacity:.5}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-right:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
assets/admin/css/style.min.css CHANGED
@@ -2,4 +2,4 @@
2
  * Name : Visual Portfolio
3
  * Version : @@plugin_version
4
  * Author : nK https://nkdev.info
5
- */#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-vc.png");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:right;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:-15px;margin-left:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:15px;padding-left:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.vpf-meta-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-meta-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:left;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:right}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-right:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;left:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none;opacity:.5}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-left:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
2
  * Name : Visual Portfolio
3
  * Version : @@plugin_version
4
  * Author : nK https://nkdev.info
5
+ */#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-vc.png");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:right;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:-15px;margin-left:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:15px;padding-left:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vpf-post-image-focal-point-panel ~ .editor-post-featured-image .editor-post-featured-image__preview{display:none}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:left;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:right}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-right:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;left:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none;opacity:.5}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-left:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
assets/admin/js/elementor.js CHANGED
@@ -2,7 +2,7 @@
2
  * Additional js for Elementor
3
  *
4
  * Name : Visual Portfolio
5
- * Version : 2.6.1
6
  * Author : nK https://nkdev.info
7
  */
8
  import { throttle } from 'throttle-debounce';
2
  * Additional js for Elementor
3
  *
4
  * Name : Visual Portfolio
5
+ * Version : 2.6.2
6
  * Author : nK https://nkdev.info
7
  */
8
  import { throttle } from 'throttle-debounce';
assets/admin/js/elementor.min.js CHANGED
@@ -1,8 +1 @@
1
- !function(e){var n={};function r(t){if(n[t])return n[t].exports;var i=n[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)r.d(t,i,function(n){return e[n]}.bind(null,i));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=253)}({253:function(e,n,r){e.exports=r(254)},254:function(e,n,r){"use strict";r.r(n);var t=r(3),i=window,o=i.elementorFrontend,u=i.VPAdminElementorVariables,a=window.jQuery,f=a(window);
2
- /*!
3
- * Additional js for Elementor
4
- *
5
- * Name : Visual Portfolio
6
- * Version : @@plugin_version
7
- * Author : nK https://nkdev.info
8
- */a(window).on("elementor/frontend/init",(function(e){if(u){var n=e.target;f.on("resize",Object(t.b)(300,r)),o.hooks.addAction("frontend/element_ready/visual-portfolio.default",(function(e){var n=a(e).find(".visual-portfolio-elementor-preview"),t=n.find("iframe"),i=n.attr("data-id"),o="".concat(u.preview_url+(u.preview_url.split("?")[1]?"&":"?"),"vp_preview_frame=true&vp_preview_type=elementor&vp_preview_frame_id=").concat(i);t.attr("src",o),a.fn.iFrameResize&&t.iFrameResize({onInit:function(){r()}})}))}function r(){var e=n.jQuery(n.document).width();n.jQuery.find(".visual-portfolio-elementor-preview iframe").forEach((function(n){var r=a(n),t=r.parent().width();r.css({width:e}),n.iFrameResizer&&(n.iFrameResizer.sendMessage({name:"resize",width:t}),n.iFrameResizer.resize())}))}}))},3:function(e,n,r){"use strict";function t(e,n,r,t){var i,o=!1,u=0;function a(){i&&clearTimeout(i)}function f(){for(var f=arguments.length,c=new Array(f),d=0;d<f;d++)c[d]=arguments[d];var l=this,s=Date.now()-u;function p(){u=Date.now(),r.apply(l,c)}function v(){i=void 0}o||(t&&!i&&p(),a(),void 0===t&&s>e?p():!0!==n&&(i=setTimeout(t?v:p,void 0===t?e-s:e)))}return"boolean"!=typeof n&&(t=r,r=n,n=void 0),f.cancel=function(){a(),o=!0},f}function i(e,n,r){return void 0===r?t(e,n,!1):t(e,r,!1!==n)}r.d(n,"a",(function(){return i})),r.d(n,"b",(function(){return t}))}});
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=253)}({253:function(e,t,n){e.exports=n(254)},254:function(e,t,n){"use strict";n.r(t);var r=n(3),o=window,i=o.elementorFrontend,u=o.VPAdminElementorVariables,f=window.jQuery,a=f(window);f(window).on("elementor/frontend/init",(function(e){if(u){var t=e.target;a.on("resize",Object(r.throttle)(300,n)),i.hooks.addAction("frontend/element_ready/visual-portfolio.default",(function(e){var t=f(e).find(".visual-portfolio-elementor-preview"),r=t.find("iframe"),o=t.attr("data-id"),i="".concat(u.preview_url+(u.preview_url.split("?")[1]?"&":"?"),"vp_preview_frame=true&vp_preview_type=elementor&vp_preview_frame_id=").concat(o);r.attr("src",i),f.fn.iFrameResize&&r.iFrameResize({onInit:function(){n()}})}))}function n(){var e=t.jQuery(t.document).width();t.jQuery.find(".visual-portfolio-elementor-preview iframe").forEach((function(t){var n=f(t),r=n.parent().width();n.css({width:e}),t.iFrameResizer&&(t.iFrameResizer.sendMessage({name:"resize",width:r}),t.iFrameResizer.resize())}))}}))},3:function(e,t,n){var r,o,i,u;function f(e){return(f="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)}u=function(e){"use strict";function t(e,t,n,r){var o,i=!1,u=0;function f(){o&&clearTimeout(o)}function a(){for(var a=arguments.length,c=new Array(a),l=0;l<a;l++)c[l]=arguments[l];var d=this,p=Date.now()-u;function s(){u=Date.now(),n.apply(d,c)}function v(){o=void 0}i||(r&&!o&&s(),f(),void 0===r&&p>e?s():!0!==t&&(o=setTimeout(r?v:s,void 0===r?e-p:e)))}return"boolean"!=typeof t&&(r=n,n=t,t=void 0),a.cancel=function(){f(),i=!0},a}e.debounce=function(e,n,r){return void 0===r?t(e,n,!1):t(e,r,!1!==n)},e.throttle=t,Object.defineProperty(e,"__esModule",{value:!0})},"object"===f(t)&&void 0!==e?u(t):(o=[t],void 0===(i="function"==typeof(r=u)?r.apply(t,o):r)||(e.exports=i))}});
 
 
 
 
 
 
 
assets/admin/js/mce-dropdown.js CHANGED
@@ -1,6 +1,6 @@
1
  /*!
2
  * Name : Visual Portfolio
3
- * Version : 2.6.1
4
  * Author : nK https://nkdev.info
5
  */
6
  const {
1
  /*!
2
  * Name : Visual Portfolio
3
+ * Version : 2.6.2
4
  * Author : nK https://nkdev.info
5
  */
6
  const {
assets/admin/js/script.js CHANGED
@@ -1,6 +1,6 @@
1
  /*!
2
  * Name : Visual Portfolio
3
- * Version : 2.6.1
4
  * Author : nK https://nkdev.info
5
  */
6
  import { debounce } from 'throttle-debounce';
@@ -20,6 +20,13 @@ $body.on( 'focus', '[name="vp_list_shortcode"], [name="vp_filter_shortcode"], [n
20
  $body.on( 'click', '.vp-onclick-selection', function() {
21
  window.getSelection().selectAllChildren( this );
22
  } );
 
 
 
 
 
 
 
23
 
24
  // Post format metabox show/hide
25
  const $videoMetabox = $( '#vp_format_video' );
1
  /*!
2
  * Name : Visual Portfolio
3
+ * Version : 2.6.2
4
  * Author : nK https://nkdev.info
5
  */
6
  import { debounce } from 'throttle-debounce';
20
  $body.on( 'click', '.vp-onclick-selection', function() {
21
  window.getSelection().selectAllChildren( this );
22
  } );
23
+ // fix the problem with Gutenberg shortcode transform (allowed only plain text pasted).
24
+ $body.on( 'copy cut', '.vp-onclick-selection', ( e ) => {
25
+ const copyText = window.getSelection().toString().replace( /[\n\r]+/g, '' );
26
+
27
+ e.originalEvent.clipboardData.setData( 'text/plain', copyText );
28
+ e.originalEvent.preventDefault();
29
+ } );
30
 
31
  // Post format metabox show/hide
32
  const $videoMetabox = $( '#vp_format_video' );
assets/admin/js/script.min.js CHANGED
@@ -1,6 +1 @@
1
- !function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=259)}({259:function(e,n,t){e.exports=t(260)},260:function(e,n,t){"use strict";t.r(n);var o=t(3),r=window,i=r.jQuery,u=r.ajaxurl,c=r.VPAdminVariables,a=i("body");
2
- /*!
3
- * Name : Visual Portfolio
4
- * Version : @@plugin_version
5
- * Author : nK https://nkdev.info
6
- */a.on("focus",'[name="vp_list_shortcode"], [name="vp_filter_shortcode"], [name="vp_sort_shortcode"]',(function(){this.select()})),a.on("click",".vp-onclick-selection",(function(){window.getSelection().selectAllChildren(this)}));var l=i("#vp_format_video"),f=i("#post-format-video"),d=null;function p(e){null!==d&&d===e||(d=e,l[e?"show":"hide"]())}l.length&&f.length&&(p(f.is(":checked")),a.on("change","[name=post_format]",(function(){p(f.is(":checked"))})));var s=null,v=function(e){s=i.ajax({url:u,method:"POST",dataType:"json",data:{action:"vp_find_oembed",q:e.val(),nonce:c.nonce},complete:function(n){var t=n.responseJSON;t&&void 0!==t.html&&e.next(".vp-oembed-preview").html(t.html)}})};v=Object(o.a)(300,v),a.on("change input",'.vp-input[name="_vp_format_video_url"]',(function(){null!==s&&s.abort();var e=i(this);e.next(".vp-oembed-preview").html(""),v(e)}))},3:function(e,n,t){"use strict";function o(e,n,t,o){var r,i=!1,u=0;function c(){r&&clearTimeout(r)}function a(){for(var a=arguments.length,l=new Array(a),f=0;f<a;f++)l[f]=arguments[f];var d=this,p=Date.now()-u;function s(){u=Date.now(),t.apply(d,l)}function v(){r=void 0}i||(o&&!r&&s(),c(),void 0===o&&p>e?s():!0!==n&&(r=setTimeout(o?v:s,void 0===o?e-p:e)))}return"boolean"!=typeof n&&(o=t,t=n,n=void 0),a.cancel=function(){c(),i=!0},a}function r(e,n,t){return void 0===t?o(e,n,!1):o(e,t,!1!==n)}t.d(n,"a",(function(){return r})),t.d(n,"b",(function(){return o}))}});
1
+ !function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=259)}({259:function(e,t,n){e.exports=n(260)},260:function(e,t,n){"use strict";n.r(t);var o=n(3),r=window,i=r.jQuery,c=r.ajaxurl,u=r.VPAdminVariables,l=i("body");l.on("focus",'[name="vp_list_shortcode"], [name="vp_filter_shortcode"], [name="vp_sort_shortcode"]',(function(){this.select()})),l.on("click",".vp-onclick-selection",(function(){window.getSelection().selectAllChildren(this)})),l.on("copy cut",".vp-onclick-selection",(function(e){var t=window.getSelection().toString().replace(/[\n\r]+/g,"");e.originalEvent.clipboardData.setData("text/plain",t),e.originalEvent.preventDefault()}));var a=i("#vp_format_video"),f=i("#post-format-video"),p=null;function d(e){null!==p&&p===e||(p=e,a[e?"show":"hide"]())}a.length&&f.length&&(d(f.is(":checked")),l.on("change","[name=post_format]",(function(){d(f.is(":checked"))})));var v=null,s=function(e){v=i.ajax({url:c,method:"POST",dataType:"json",data:{action:"vp_find_oembed",q:e.val(),nonce:u.nonce},complete:function(t){var n=t.responseJSON;n&&void 0!==n.html&&e.next(".vp-oembed-preview").html(n.html)}})};s=Object(o.debounce)(300,s),l.on("change input",'.vp-input[name="_vp_format_video_url"]',(function(){null!==v&&v.abort();var e=i(this);e.next(".vp-oembed-preview").html(""),s(e)}))},3:function(e,t,n){var o,r,i,c;function u(e){return(u="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)}c=function(e){"use strict";function t(e,t,n,o){var r,i=!1,c=0;function u(){r&&clearTimeout(r)}function l(){for(var l=arguments.length,a=new Array(l),f=0;f<l;f++)a[f]=arguments[f];var p=this,d=Date.now()-c;function v(){c=Date.now(),n.apply(p,a)}function s(){r=void 0}i||(o&&!r&&v(),u(),void 0===o&&d>e?v():!0!==t&&(r=setTimeout(o?s:v,void 0===o?e-d:e)))}return"boolean"!=typeof t&&(o=n,n=t,t=void 0),l.cancel=function(){u(),i=!0},l}e.debounce=function(e,n,o){return void 0===o?t(e,n,!1):t(e,o,!1!==n)},e.throttle=t,Object.defineProperty(e,"__esModule",{value:!0})},"object"===u(t)&&void 0!==e?c(t):(r=[t],void 0===(i="function"==typeof(o=c)?o.apply(t,r):o)||(e.exports=i))}});
 
 
 
 
 
assets/admin/js/vc-frontend.js CHANGED
@@ -2,7 +2,7 @@
2
  * Additional js for frontend VC
3
  *
4
  * Name : Visual Portfolio
5
- * Version : 2.6.1
6
  * Author : nK https://nkdev.info
7
  */
8
  const {
2
  * Additional js for frontend VC
3
  *
4
  * Name : Visual Portfolio
5
+ * Version : 2.6.2
6
  * Author : nK https://nkdev.info
7
  */
8
  const {
assets/js/layout-grid.js CHANGED
@@ -9,107 +9,113 @@ const {
9
 
10
  /* eslint-disable no-underscore-dangle */
11
 
12
- // fix grid items position for Grid layout and FireFox.
13
- // https://wordpress.org/support/topic/gallery-difference-between-firefox-and-all-other-browsers/
 
 
 
14
  if ( 'undefined' !== typeof window.Isotope && 'undefined' !== typeof window.Isotope.LayoutMode ) {
15
- const GridMode = window.Isotope.LayoutMode.modes.fitRows;
 
16
 
17
- if ( GridMode ) {
18
- GridMode.prototype._resetLayout = function() {
19
- this.x = 0;
20
- this.y = 0;
21
- this.maxY = 0;
22
- this.horizontalColIndex = 0;
23
 
24
- this._getMeasurement( 'columnWidth', 'outerWidth' );
25
- this._getMeasurement( 'gutter', 'outerWidth' );
26
- this.measureColumns();
27
- };
28
 
29
- GridMode.prototype.measureColumns = function() {
30
- // set items, used if measuring first item
31
- this.items = this.isotope.filteredItems;
 
32
 
33
- this.getContainerWidth();
 
 
 
 
34
 
35
- // if columnWidth is 0, default to outerWidth of first item
36
- if ( ! this.columnWidth ) {
37
- const firstItem = this.items[ 0 ];
38
- const firstItemElem = firstItem && firstItem.element;
39
 
40
- // columnWidth fall back to item of first element
41
- this.columnWidth = ( firstItemElem && window.getSize( firstItemElem ).outerWidth )
42
- // if first elem has no width, default to size of container
43
- || this.containerWidth;
44
- }
45
 
46
- this.columnWidth += this.gutter;
 
47
 
48
- // calculate columns
49
- const containerWidth = this.containerWidth + this.gutter;
50
- let cols = containerWidth / this.columnWidth;
51
 
52
- // fix rounding errors, typically with gutters
53
- const excess = this.columnWidth - ( containerWidth % this.columnWidth );
 
54
 
55
- // if overshoot is less than a pixel, round up, otherwise floor it
56
- const mathMethod = excess && 1 > excess ? 'round' : 'floor';
 
 
57
 
58
- cols = Math[ mathMethod ]( cols );
59
- this.cols = Math.max( cols, 1 );
60
- };
 
 
61
 
62
- GridMode.prototype.getContainerWidth = function() {
63
- // container is parent if fit width
64
- const isFitWidth = this._getOption ? this._getOption( 'fitWidth' ) : false;
65
- const container = isFitWidth ? this.element.parentNode : this.element;
 
66
 
67
- // check that this.size and size are there
68
- // IE8 triggers resize on body size change, so they might not be
69
- const size = window.getSize( container );
70
- this.containerWidth = size && size.innerWidth;
71
- };
72
 
73
- GridMode.prototype._getItemLayoutPosition = function( item ) {
74
- item.getSize();
75
 
76
- // how many columns does this brick span
77
- const remainder = item.size.outerWidth % this.columnWidth;
78
- const mathMethod = remainder && 1 > remainder ? 'round' : 'ceil';
79
 
80
- // round if off by 1 pixel, otherwise use ceil
81
- let colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
82
- colSpan = Math.min( colSpan, this.cols );
83
 
84
- let col = this.horizontalColIndex % this.cols;
85
- const isOver = 1 < colSpan && col + colSpan > this.cols;
86
 
87
- // shift to next row if item can't fit on current row
88
- col = isOver ? 0 : col;
89
 
90
- // don't let zero-size items take up space
91
- const hasSize = item.size.outerWidth && item.size.outerHeight;
92
- this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
93
 
94
- const itemWidth = item.size.outerWidth + this.gutter;
95
 
96
- // if this element cannot fit in the current row
97
- if ( 0 !== this.x && 1 === this.horizontalColIndex ) {
98
- this.x = 0;
99
- this.y = this.maxY;
100
- }
101
 
102
- const position = {
103
- x: this.x,
104
- y: this.y,
105
- };
106
 
107
- this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
108
- this.x += itemWidth;
109
 
110
- return position;
111
- };
112
- }
 
 
 
113
  }
114
 
115
  /**
@@ -188,3 +194,16 @@ $( document ).on( 'initLayout.vpf', ( event, self ) => {
188
  count -= 1;
189
  }
190
  } );
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
  /* eslint-disable no-underscore-dangle */
11
 
12
+ //
13
+ // Our custom Grid layout for Isotope.
14
+ //
15
+ // * fixes grid items position in FireFox - https://wordpress.org/support/topic/gallery-difference-between-firefox-and-all-other-browsers/
16
+ //
17
  if ( 'undefined' !== typeof window.Isotope && 'undefined' !== typeof window.Isotope.LayoutMode ) {
18
+ const VPRows = window.Isotope.LayoutMode.create( 'vpRows' );
19
+ const proto = VPRows.prototype;
20
 
21
+ proto.measureColumns = function() {
22
+ // set items, used if measuring first item
23
+ this.items = this.isotope.filteredItems;
 
 
 
24
 
25
+ this.getContainerWidth();
 
 
 
26
 
27
+ // if columnWidth is 0, default to outerWidth of first item
28
+ if ( ! this.columnWidth ) {
29
+ const firstItem = this.items[ 0 ];
30
+ const firstItemElem = firstItem && firstItem.element;
31
 
32
+ // columnWidth fall back to item of first element
33
+ this.columnWidth = ( firstItemElem && window.getSize( firstItemElem ).outerWidth )
34
+ // if first elem has no width, default to size of container
35
+ || this.containerWidth;
36
+ }
37
 
38
+ this.columnWidth += this.gutter;
 
 
 
39
 
40
+ // calculate columns
41
+ const containerWidth = this.containerWidth + this.gutter;
42
+ let cols = containerWidth / this.columnWidth;
 
 
43
 
44
+ // fix rounding errors, typically with gutters
45
+ const excess = this.columnWidth - ( containerWidth % this.columnWidth );
46
 
47
+ // if overshoot is less than a pixel, round up, otherwise floor it
48
+ const mathMethod = excess && 1 > excess ? 'round' : 'floor';
 
49
 
50
+ cols = Math[ mathMethod ]( cols );
51
+ this.cols = Math.max( cols, 1 );
52
+ };
53
 
54
+ proto.getContainerWidth = function() {
55
+ // container is parent if fit width
56
+ const isFitWidth = this._getOption ? this._getOption( 'fitWidth' ) : false;
57
+ const container = isFitWidth ? this.element.parentNode : this.element;
58
 
59
+ // check that this.size and size are there
60
+ // IE8 triggers resize on body size change, so they might not be
61
+ const size = window.getSize( container );
62
+ this.containerWidth = size && size.innerWidth;
63
+ };
64
 
65
+ proto._resetLayout = function() {
66
+ this.x = 0;
67
+ this.y = 0;
68
+ this.maxY = 0;
69
+ this.horizontalColIndex = 0;
70
 
71
+ this._getMeasurement( 'columnWidth', 'outerWidth' );
72
+ this._getMeasurement( 'gutter', 'outerWidth' );
73
+ this.measureColumns();
74
+ };
 
75
 
76
+ proto._getItemLayoutPosition = function( item ) {
77
+ item.getSize();
78
 
79
+ // how many columns does this brick span
80
+ const remainder = item.size.outerWidth % this.columnWidth;
81
+ const mathMethod = remainder && 1 > remainder ? 'round' : 'ceil';
82
 
83
+ // round if off by 1 pixel, otherwise use ceil
84
+ let colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
85
+ colSpan = Math.min( colSpan, this.cols );
86
 
87
+ let col = this.horizontalColIndex % this.cols;
88
+ const isOver = 1 < colSpan && col + colSpan > this.cols;
89
 
90
+ // shift to next row if item can't fit on current row
91
+ col = isOver ? 0 : col;
92
 
93
+ // don't let zero-size items take up space
94
+ const hasSize = item.size.outerWidth && item.size.outerHeight;
95
+ this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
96
 
97
+ const itemWidth = item.size.outerWidth + this.gutter;
98
 
99
+ // if this element cannot fit in the current row
100
+ if ( 0 !== this.x && 1 === this.horizontalColIndex ) {
101
+ this.x = 0;
102
+ this.y = this.maxY;
103
+ }
104
 
105
+ const position = {
106
+ x: this.x,
107
+ y: this.y,
108
+ };
109
 
110
+ this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
111
+ this.x += itemWidth;
112
 
113
+ return position;
114
+ };
115
+
116
+ proto._getContainerSize = function() {
117
+ return { height: this.maxY };
118
+ };
119
  }
120
 
121
  /**
194
  count -= 1;
195
  }
196
  } );
197
+
198
+ // Change Isotope Layout Mode.
199
+ $( document ).on( 'beforeInitIsotope.vpf', ( event, self, initOptions ) => {
200
+ if ( 'vpf' !== event.namespace ) {
201
+ return;
202
+ }
203
+
204
+ if ( 'grid' !== self.options.layout ) {
205
+ return;
206
+ }
207
+
208
+ initOptions.layoutMode = 'vpRows';
209
+ } );
assets/js/layout-grid.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){var i={};function o(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=t,o.c=i,o.d=function(t,i,e){o.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:e})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,i){if(1&i&&(t=o(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(o.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)o.d(e,n,function(i){return t[i]}.bind(null,n));return e},o.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(i,"a",i),i},o.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},o.p="",o(o.s=222)}({222:function(t,i,o){t.exports=o(223)},223:function(t,i){var o=window.jQuery,e=window.VPData.screenSizes;if(void 0!==window.Isotope&&void 0!==window.Isotope.LayoutMode){var n=window.Isotope.LayoutMode.modes.fitRows;n&&(n.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this.horizontalColIndex=0,this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns()},n.prototype.measureColumns=function(){if(this.items=this.isotope.filteredItems,this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&window.getSize(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter;var o=this.containerWidth+this.gutter,e=o/this.columnWidth,n=this.columnWidth-o%this.columnWidth;e=Math[n&&1>n?"round":"floor"](e),this.cols=Math.max(e,1)},n.prototype.getContainerWidth=function(){var t=!!this._getOption&&this._getOption("fitWidth")?this.element.parentNode:this.element,i=window.getSize(t);this.containerWidth=i&&i.innerWidth},n.prototype._getItemLayoutPosition=function(t){t.getSize();var i=t.size.outerWidth%this.columnWidth,o=Math[i&&1>i?"round":"ceil"](t.size.outerWidth/this.columnWidth);o=Math.min(o,this.cols);var e=this.horizontalColIndex%this.cols;e=1<o&&e+o>this.cols?0:e;var n=t.size.outerWidth&&t.size.outerHeight;this.horizontalColIndex=n?e+o:this.horizontalColIndex;var r=t.size.outerWidth+this.gutter;0!==this.x&&1===this.horizontalColIndex&&(this.x=0,this.y=this.maxY);var s={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=r,s})}o(document).on("initOptions.vpf",(function(t,i){"vpf"===t.namespace&&(i.defaults.gridColumns=3,i.options.gridColumns||(i.options.gridColumns=i.defaults.gridColumns),i.options.gridImagesAspectRatio||(i.options.gridImagesAspectRatio=i.defaults.gridImagesAspectRatio))})),o(document).on("initLayout.vpf",(function(t,i){if("vpf"===t.namespace&&"grid"===i.options.layout){var o=function(t){var i="",o="";if(t&&/:/g.test(t)){var e=t.split(":");i=e[0],o=e[1]}return[i,o]}(i.options.gridImagesAspectRatio);o&&o[0]&&o[1]&&i.addStyle(".vp-portfolio__item-wrap .vp-portfolio__item-img-wrap::before",{"padding-top":"".concat(o[1]/o[0]*100,"%")}),i.addStyle(".vp-portfolio__item-wrap",{width:"".concat(100/i.options.gridColumns,"%")});for(var n=i.options.gridColumns-1,r=Math.min(e.length-1,n);0<=r;r-=1)0<n&&void 0!==e[r]&&i.addStyle(".vp-portfolio__item-wrap",{width:"".concat(100/n,"%")},"screen and (max-width: ".concat(e[r],"px)")),n-=1}}))}});
1
+ !function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=222)}({222:function(t,i,e){t.exports=e(223)},223:function(t,i){var e=window.jQuery,o=window.VPData.screenSizes;if(void 0!==window.Isotope&&void 0!==window.Isotope.LayoutMode){var n=window.Isotope.LayoutMode.create("vpRows").prototype;n.measureColumns=function(){if(this.items=this.isotope.filteredItems,this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&window.getSize(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter;var e=this.containerWidth+this.gutter,o=e/this.columnWidth,n=this.columnWidth-e%this.columnWidth;o=Math[n&&1>n?"round":"floor"](o),this.cols=Math.max(o,1)},n.getContainerWidth=function(){var t=!!this._getOption&&this._getOption("fitWidth")?this.element.parentNode:this.element,i=window.getSize(t);this.containerWidth=i&&i.innerWidth},n._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this.horizontalColIndex=0,this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns()},n._getItemLayoutPosition=function(t){t.getSize();var i=t.size.outerWidth%this.columnWidth,e=Math[i&&1>i?"round":"ceil"](t.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);var o=this.horizontalColIndex%this.cols;o=1<e&&o+e>this.cols?0:o;var n=t.size.outerWidth&&t.size.outerHeight;this.horizontalColIndex=n?o+e:this.horizontalColIndex;var r=t.size.outerWidth+this.gutter;0!==this.x&&1===this.horizontalColIndex&&(this.x=0,this.y=this.maxY);var s={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=r,s},n._getContainerSize=function(){return{height:this.maxY}}}e(document).on("initOptions.vpf",(function(t,i){"vpf"===t.namespace&&(i.defaults.gridColumns=3,i.options.gridColumns||(i.options.gridColumns=i.defaults.gridColumns),i.options.gridImagesAspectRatio||(i.options.gridImagesAspectRatio=i.defaults.gridImagesAspectRatio))})),e(document).on("initLayout.vpf",(function(t,i){if("vpf"===t.namespace&&"grid"===i.options.layout){var e=function(t){var i="",e="";if(t&&/:/g.test(t)){var o=t.split(":");i=o[0],e=o[1]}return[i,e]}(i.options.gridImagesAspectRatio);e&&e[0]&&e[1]&&i.addStyle(".vp-portfolio__item-wrap .vp-portfolio__item-img-wrap::before",{"padding-top":"".concat(e[1]/e[0]*100,"%")}),i.addStyle(".vp-portfolio__item-wrap",{width:"".concat(100/i.options.gridColumns,"%")});for(var n=i.options.gridColumns-1,r=Math.min(o.length-1,n);0<=r;r-=1)0<n&&void 0!==o[r]&&i.addStyle(".vp-portfolio__item-wrap",{width:"".concat(100/n,"%")},"screen and (max-width: ".concat(o[r],"px)")),n-=1}})),e(document).on("beforeInitIsotope.vpf",(function(t,i,e){"vpf"===t.namespace&&"grid"===i.options.layout&&(e.layoutMode="vpRows")}))}});
assets/js/main.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=234)}({14:function(t,i){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(t){"object"===("undefined"==typeof window?"undefined":e(window))&&(o=window)}t.exports=o},216:function(t,i,e){var o=e(236),n=o.requestAnimationFrame||o.webkitRequestAnimationFrame||o.mozRequestAnimationFrame||function(t){var i=+new Date,e=Math.max(0,16-(i-s)),o=setTimeout(t,e);return s=i,o},s=+new Date;var a=o.cancelAnimationFrame||o.webkitCancelAnimationFrame||o.mozCancelAnimationFrame||clearTimeout;Function.prototype.bind&&(n=n.bind(o),a=a.bind(o)),(t.exports=n).cancel=a},234:function(t,i,e){t.exports=e(235)},235:function(t,i,e){"use strict";e.r(i);var o=e(3),n=e(216),s=e.n(n);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,i){for(var e=0;e<i.length;e++){var o=i[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var l=window,c=l.jQuery,f=l.VPData,p=l.objectFitImages,d=f.__,v=c(window);function u(){if("function"==typeof window.Event)window.dispatchEvent(new window.Event("resize"));else{var t=window.document.createEvent("UIEvents");t.initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(t)}}void 0!==p&&(p(".vp-portfolio img:not(.visual-portfolio-lazyload)"),c(document).on("lazybeforeunveil",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&i.one("load",(function(){p(i[0])}))})));var m={},h=!1,y=!1;function g(){if(clearTimeout(y),h){var t=c(".vp-portfolio__ready");if(t.length){var i=!1;t.each((function(){var t=this.vpf;if(t){var e=m[t.uid]||"none";m[t.uid]=null===this.offsetParent?"hidden":"visible","hidden"===e&&"visible"===m[t.uid]&&(i=!0)}})),i&&u()}else h=!1;y=setTimeout(g,500)}}c(document).on("inited.vpf",(function(t){"vpf"===t.namespace&&(h=!0,g())}));var _=function(){function t(i,e){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t);this.$item=i;for(var o=i[0].className.split(/\s+/),n=0;n<o.length;n+=1)o[n]&&/^vp-uid-/.test(o[n])&&(this.uid=o[n].replace(/^vp-uid-/,"")),o[n]&&/^vp-id-/.test(o[n])&&(this.id=o[n].replace(/^vp-id-/,""));this.uid?(this.href=window.location.href,this.$items_wrap=i.find(".vp-portfolio__items"),this.$slider_thumbnails_wrap=i.find(".vp-portfolio__thumbnails"),this.$pagination=i.find(".vp-portfolio__pagination-wrap"),this.$filter=i.find(".vp-portfolio__filter-wrap"),this.$sort=i.find(".vp-portfolio__sort-wrap"),this.id&&(this.$filter=this.$filter.add(".vp-single-filter.vp-id-".concat(this.id," .vp-portfolio__filter-wrap"))),this.id&&(this.$sort=this.$sort.add(".vp-single-sort.vp-id-".concat(this.id," .vp-portfolio__sort-wrap"))),this.userOptions=e,this.firstRun=!0,this.init()):console.error(d.couldnt_retrieve_vp)}var i,e,o;return i=t,(e=[{key:"emitEvent",value:function(t,i){i=i?[this].concat(i):[this],this.$item.trigger("".concat(t,".vpf"),i),this.$item.trigger("".concat(t,".vpf-uid-").concat(this.uid),i)}},{key:"init",value:function(){this.firstRun||this.destroy(),this.destroyed=!1,this.removeNoscriptTags(this.$items_wrap),this.initOptions(),this.initEvents(),this.prepareLazyLoad(),this.initLayout(),this.initCustomColors(),this.emitEvent("init"),this.$item.addClass("vp-portfolio__ready"),this.id&&(c(".vp-single-filter.vp-id-".concat(this.id)).addClass("vp-single-filter__ready"),c(".vp-single-sort.vp-id-".concat(this.id)).addClass("vp-single-sort__ready")),this.resized(),this.imagesLoaded(),this.emitEvent("inited"),this.firstRun=!1}},{key:"isPreview",value:function(){return!!this.$item.closest("#vp_preview").length}},{key:"resized",value:function(){u(),this.emitEvent("resized")}},{key:"imagesLoaded",value:function(){var t=this;this.$items_wrap.imagesLoaded&&this.$items_wrap.imagesLoaded((function(){t.emitEvent("imagesLoaded")}))}},{key:"destroy",value:function(){this.$item.removeClass("vp-portfolio__ready"),this.id&&(c(".vp-single-filter.vp-id-".concat(this.id)).removeClass("vp-single-filter__ready"),c(".vp-single-sort.vp-id-".concat(this.id)).removeClass("vp-single-sort__ready")),this.destroyEvents(),this.removeStyle(),this.renderStyle(),this.emitEvent("destroy"),this.destroyed=!0}},{key:"addStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]&&(this.stylesList[o]={}),void 0===this.stylesList[o][e]&&(this.stylesList[o][e]={}),void 0===this.stylesList[o][e][t]&&(this.stylesList[o][e][t]={}),this.stylesList[o][e][t]=c.extend(this.stylesList[o][e][t],i),this.emitEvent("addStyle",[t,i,e,this.stylesList])}},{key:"removeStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]||t||(this.stylesList[o]={}),void 0!==this.stylesList[o]&&void 0!==this.stylesList[o][e]&&void 0!==this.stylesList[o][e][t]&&t&&delete this.stylesList[o][e][t],this.emitEvent("removeStyle",[t,i,this.stylesList])}},{key:"renderStyle",value:function(){var t=this,i=t.uid,e="";t.stylesList||(t.stylesList={}),void 0!==t.stylesList[i]&&Object.keys(t.stylesList[i]).forEach((function(o){o&&(e+="@media ".concat(o," {")),Object.keys(t.stylesList[i][o]).forEach((function(n){e+=".vp-uid-".concat(i," ").concat(n," {"),Object.keys(t.stylesList[i][o][n]).forEach((function(s){e+="".concat(s,":").concat(t.stylesList[i][o][n][s],";")})),e+="}"})),o&&(e+="}")}));var o=c("#vp-style-".concat(i));o.length||(o=c("<style>").attr("id","vp-style-".concat(i)).appendTo("head")),o.html(e),t.emitEvent("renderStyle",[e,t.stylesList,o])}},{key:"firstToLowerCase",value:function(t){return t.substr(0,1).toLowerCase()+t.substr(1)}},{key:"initOptions",value:function(t){var i=this;i.defaults={layout:"tile",itemsGap:0,pagination:"load-more"},t&&(i.userOptions=t);var e=i.$item[0].dataset,o={};Object.keys(e).forEach((function(t){t&&"vp"===t.substring(0,2)&&(o[i.firstToLowerCase(t.substring(2))]=e[t])})),i.options=c.extend({},i.defaults,o,i.userOptions),i.emitEvent("initOptions")}},{key:"initEvents",value:function(){var t,i=this,e=".vpf-uid-".concat(i.uid);function o(){var t=i.$item[0].getBoundingClientRect(),e=t.left,o=window.innerWidth-t.right,n=parseFloat(i.$item.css("margin-left")||0),s=parseFloat(i.$item.css("margin-right")||0);i.$item.css({"margin-left":n-e,"margin-right":s-o})}function n(){var e=i.$item[0].getBoundingClientRect();0<e.bottom&&e.bottom-250<=window.innerHeight&&i.loadNewItems(i.options.nextPageUrl,!1,(function(){clearTimeout(t),t=setTimeout((function(){n()}),300)}))}i.$item.hasClass("vp-portfolio__stretch")&&!i.isPreview()&&(v.on("load".concat(e," resize").concat(e," orientationchange").concat(e),(function(){o()})),o()),i.$item.on("focus".concat(e),".vp-portfolio__item a",(function(){c(this).closest(".vp-portfolio__item").addClass("vp-portfolio__item-focus")})),i.$item.on("blur".concat(e),".vp-portfolio__item a",(function(){c(this).closest(".vp-portfolio__item").removeClass("vp-portfolio__item-focus")})),i.$filter.on("click".concat(e),".vp-filter .vp-filter__item a",(function(t){t.preventDefault();var e=c(this);i.loading||e.closest(".vp-filter__item").addClass("vp-filter__item-active").siblings().removeClass("vp-filter__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$sort.on("click".concat(e),".vp-sort .vp-sort__item a",(function(t){t.preventDefault();var e=c(this);i.loading||e.closest(".vp-sort__item").addClass("vp-sort__item-active").siblings().removeClass("vp-sort__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$filter.add(i.$sort).on("change".concat(e),".vp-filter select, .vp-sort select",(function(){var t=c(this),e=t.val(),o=t.find('[value="'.concat(e,'"]'));o.length&&i.loadNewItems(o.attr("data-vp-url"),!0)})),i.$item.on("click".concat(e),".vp-pagination .vp-pagination__item a",(function(t){t.preventDefault();var e=c(this),o=e.closest(".vp-pagination");if((!o.hasClass("vp-pagination__no-more")||"paged"===i.options.pagination)&&(i.loadNewItems(e.attr("href"),"paged"===i.options.pagination),"paged"===i.options.pagination&&o.hasClass("vp-pagination__scroll-top"))){var n=c("#wpadminbar"),s=window.pageYOffset||document.documentElement.scrollTop,a=i.$item.offset().top;o.attr("data-vp-pagination-scroll-top")&&(a-=parseInt(o.attr("data-vp-pagination-scroll-top"),10)||0),n.length&&"fixed"===n.css("position")&&(a-=n.outerHeight()),s>(a=Math.max(0,a))&&window.scrollTo({top:a,behavior:"smooth"})}})),i.$item.on("click".concat(e),".vp-portfolio__items .vp-portfolio__item-meta-category a",(function(t){t.preventDefault(),t.stopPropagation(),i.loadNewItems(c(this).attr("href"),!0)})),"infinite"===i.options.pagination&&(v.on("load".concat(e," scroll").concat(e," resize").concat(e," orientationchange").concat(e),(function(){clearTimeout(t),t=setTimeout((function(){n()}),60)})),n()),i.$item.on("transitionend".concat(e),".vp-portfolio__items",(function(t){t.currentTarget===t.target&&i.resized()})),i.emitEvent("initEvents")}},{key:"destroyEvents",value:function(){var t=".vpf-uid-".concat(this.uid);this.$item.off(t),this.$filter.off(t),this.$sort.off(t),v.off(t),this.emitEvent("destroyEvents")}},{key:"prepareLazyLoad",value:function(){var t=window.lazySizes&&window.lazySizes.cfg?window.lazySizes.cfg:window.lazySizesConfig;if(t){var i={"data-vpf-src":t.srcAttr,"data-vpf-sizes":t.sizesAttr,"data-vpf-srcset":t.srcsetAttr};this.$items_wrap.add(this.$slider_thumbnails_wrap).find(".visual-portfolio-lazyload:not(.".concat(t.lazyClass,")")).each((function(){var e=c(this);Object.keys(i).forEach((function(t){i[t]&&t!==i[t]&&e.attr(t)&&(e.attr(i[t],e.attr(t)),e.removeAttr(t))})),e.addClass(t.lazyClass)}))}}},{key:"removeNoscriptTags",value:function(t){t.find("noscript").remove()}},{key:"initLayout",value:function(){this.emitEvent("initLayout"),this.renderStyle()}},{key:"initCustomColors",value:function(){var t=this;t.$item.find("[data-vp-bg-color]").each((function(){var i=c(this).attr("data-vp-bg-color");t.addStyle('[data-vp-bg-color="'.concat(i,'"]'),{"background-color":"".concat(i," !important")})})),t.$item.find("[data-vp-text-color]").each((function(){var i=c(this).attr("data-vp-text-color");t.addStyle('[data-vp-text-color="'.concat(i,'"]'),{color:"".concat(i," !important")})})),t.renderStyle(),t.emitEvent("initCustomColors")}},{key:"addItems",value:function(t,i,e){this.removeNoscriptTags(t),this.emitEvent("addItems",[t,i,e])}},{key:"removeItems",value:function(t){this.emitEvent("removeItems",[t])}},{key:"loadNewItems",value:function(t,i,e){var o=this;if(!o.loading&&t&&o.href!==t){var n={method:"POST",url:t,complete:function(n){var s=n.responseText;o.href=t,o.replaceItems(s,i,e)}};o.loading=!0,o.$item.addClass("vp-portfolio__loading"),o.emitEvent("startLoadingNewItems",[t,n]),c.ajax(n)}}},{key:"replaceItems",value:function(t,i,e){if(t){t=t.replace("<body",'<body><div id="vp-infinite-load-body"').replace("</body>","</div></body>");var o=c(t).filter("#vp-infinite-load-body"),n=o.find(".vp-portfolio.vp-uid-".concat(this.uid));if(n.length){var s=n.find(".vp-portfolio__items").html();n.hasClass("vp-portfolio-not-found")?(this.$item.find(".vp-portfolio__items-wrap").before(n.find(".vp-notice").clone()),this.$item.addClass("vp-portfolio-not-found")):(this.$item.find(".vp-notice").remove(),this.$item.removeClass("vp-portfolio-not-found")),this.$filter.length&&this.$filter.each((function(){var t=c(this),i="";i=t.parent().hasClass("vp-single-filter")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-filter__ready",""),'"] .vp-portfolio__filter-wrap')).html():n.find(".vp-portfolio__filter-wrap").html(),t.html(i)})),this.$sort.length&&this.$sort.each((function(){var t=c(this),i="";i=t.parent().hasClass("vp-single-sort")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-sort__ready",""),'"] .vp-portfolio__sort-wrap')).html():n.find(".vp-portfolio__sort-wrap").html(),t.html(i)})),this.$pagination.length&&this.$pagination.html(n.find(".vp-portfolio__pagination-wrap").html()),this.addItems(c(s),i,n),this.emitEvent("loadedNewItems",[n,i,t]),e&&e()}var a=n.attr("data-vp-next-page-url");this.options.nextPageUrl=a,this.$item.attr("data-vp-next-page-url",a),this.$item.removeClass("vp-portfolio__loading"),this.loading=!1,this.emitEvent("endLoadingNewItems"),this.prepareLazyLoad(),this.imagesLoaded(),this.initCustomColors()}}}])&&r(i.prototype,e),o&&r(i,o),t}();c(document).on("lazybeforeunveil",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&(i.closest(".vp-portfolio__item-img").addClass("vp-portfolio__item-img-lazyloading"),i.closest(".vp-portfolio__thumbnail-img").addClass("vp-portfolio__thumbnail-img-lazyloading"))})),c(document).on("lazyloaded",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&(i.closest(".vp-portfolio__item-img-lazyloading").removeClass("vp-portfolio__item-img-lazyloading"),i.closest(".vp-portfolio__thumbnail-img-lazyloading").removeClass("vp-portfolio__thumbnail-img-lazyloading"))})),c(".elementor").length&&c(document).on("init.vpf addItems.vpf",(function(t,i){"vpf"===t.namespace&&i.$item.find(".vp-portfolio__item a").each((function(){/\.(png|jpe?g|gif|svg)(\?.*)?$/i.test(this.href)&&c(this).attr("data-elementor-open-lightbox","no")}))})),c(document).trigger("extendClass.vpf",[_]);var w=function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),o=1;o<i;o++)e[o-1]=arguments[o];var n;return this.each((function(){if(void 0===n)if("object"===a(t)||void 0===t)this.vpf||(this.vpf=new _(c(this),t));else if(this.vpf){var i;n=(i=this.vpf)[t].apply(i,e)}})),void 0!==n?n:this};w.constructor=_;var b=c.fn.vpf;c.fn.vpf=w,c.fn.vpf.noConflict=function(){return c.fn.vpf=b,this},c(".vp-portfolio").vpf(),c((function(){c(".vp-portfolio").vpf()}));var $=Object(o.b)(200,(function(){s()((function(){c(".vp-portfolio:not(.vp-portfolio__ready)").vpf()}))}));window.MutationObserver?new window.MutationObserver($).observe(document.documentElement,{childList:!0,subtree:!0}):c(document).on("DOMContentLoaded DOMNodeInserted load",(function(){$()}))},236:function(t,i,e){(function(i){var e;e="undefined"!=typeof window?window:void 0!==i?i:"undefined"!=typeof self?self:{},t.exports=e}).call(this,e(14))},3:function(t,i,e){"use strict";function o(t,i,e,o){var n,s=!1,a=0;function r(){n&&clearTimeout(n)}function l(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];var p=this,d=Date.now()-a;function v(){a=Date.now(),e.apply(p,c)}function u(){n=void 0}s||(o&&!n&&v(),r(),void 0===o&&d>t?v():!0!==i&&(n=setTimeout(o?u:v,void 0===o?t-d:t)))}return"boolean"!=typeof i&&(o=e,e=i,i=void 0),l.cancel=function(){r(),s=!0},l}function n(t,i,e){return void 0===e?o(t,i,!1):o(t,e,!1!==i)}e.d(i,"a",(function(){return n})),e.d(i,"b",(function(){return o}))}});
1
+ !function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=234)}({14:function(t,i){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(t){"object"===("undefined"==typeof window?"undefined":e(window))&&(o=window)}t.exports=o},216:function(t,i,e){var o=e(236),n=o.requestAnimationFrame||o.webkitRequestAnimationFrame||o.mozRequestAnimationFrame||function(t){var i=+new Date,e=Math.max(0,16-(i-s)),o=setTimeout(t,e);return s=i,o},s=+new Date;var a=o.cancelAnimationFrame||o.webkitCancelAnimationFrame||o.mozCancelAnimationFrame||clearTimeout;Function.prototype.bind&&(n=n.bind(o),a=a.bind(o)),(t.exports=n).cancel=a},234:function(t,i,e){t.exports=e(235)},235:function(t,i,e){"use strict";e.r(i);var o=e(3),n=e(216),s=e.n(n);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,i){for(var e=0;e<i.length;e++){var o=i[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var l=window,c=l.jQuery,f=l.VPData,p=l.objectFitImages,d=f.__,v=c(window);function u(){if("function"==typeof window.Event)window.dispatchEvent(new window.Event("resize"));else{var t=window.document.createEvent("UIEvents");t.initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(t)}}void 0!==p&&(p(".vp-portfolio img:not(.visual-portfolio-lazyload)"),c(document).on("lazybeforeunveil",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&i.one("load",(function(){p(i[0])}))})));var m={},h=!1,y=!1;function g(){if(clearTimeout(y),h){var t=c(".vp-portfolio__ready");if(t.length){var i=!1;t.each((function(){var t=this.vpf;if(t){var e=m[t.uid]||"none";m[t.uid]=null===this.offsetParent?"hidden":"visible","hidden"===e&&"visible"===m[t.uid]&&(i=!0)}})),i&&u()}else h=!1;y=setTimeout(g,500)}}c(document).on("inited.vpf",(function(t){"vpf"===t.namespace&&(h=!0,g())}));var _=function(){function t(i,e){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t);this.$item=i;for(var o=i[0].className.split(/\s+/),n=0;n<o.length;n+=1)o[n]&&/^vp-uid-/.test(o[n])&&(this.uid=o[n].replace(/^vp-uid-/,"")),o[n]&&/^vp-id-/.test(o[n])&&(this.id=o[n].replace(/^vp-id-/,""));this.uid?(this.href=window.location.href,this.$items_wrap=i.find(".vp-portfolio__items"),this.$slider_thumbnails_wrap=i.find(".vp-portfolio__thumbnails"),this.$pagination=i.find(".vp-portfolio__pagination-wrap"),this.$filter=i.find(".vp-portfolio__filter-wrap"),this.$sort=i.find(".vp-portfolio__sort-wrap"),this.id&&(this.$filter=this.$filter.add(".vp-single-filter.vp-id-".concat(this.id," .vp-portfolio__filter-wrap"))),this.id&&(this.$sort=this.$sort.add(".vp-single-sort.vp-id-".concat(this.id," .vp-portfolio__sort-wrap"))),this.userOptions=e,this.firstRun=!0,this.init()):console.error(d.couldnt_retrieve_vp)}var i,e,o;return i=t,(e=[{key:"emitEvent",value:function(t,i){i=i?[this].concat(i):[this],this.$item.trigger("".concat(t,".vpf"),i),this.$item.trigger("".concat(t,".vpf-uid-").concat(this.uid),i)}},{key:"init",value:function(){this.firstRun||this.destroy(),this.destroyed=!1,this.removeNoscriptTags(this.$items_wrap),this.initOptions(),this.initEvents(),this.prepareLazyLoad(),this.initLayout(),this.initCustomColors(),this.emitEvent("init"),this.$item.addClass("vp-portfolio__ready"),this.id&&(c(".vp-single-filter.vp-id-".concat(this.id)).addClass("vp-single-filter__ready"),c(".vp-single-sort.vp-id-".concat(this.id)).addClass("vp-single-sort__ready")),this.resized(),this.imagesLoaded(),this.emitEvent("inited"),this.firstRun=!1}},{key:"isPreview",value:function(){return!!this.$item.closest("#vp_preview").length}},{key:"resized",value:function(){u(),this.emitEvent("resized")}},{key:"imagesLoaded",value:function(){var t=this;this.$items_wrap.imagesLoaded&&this.$items_wrap.imagesLoaded((function(){t.emitEvent("imagesLoaded")}))}},{key:"destroy",value:function(){this.$item.removeClass("vp-portfolio__ready"),this.id&&(c(".vp-single-filter.vp-id-".concat(this.id)).removeClass("vp-single-filter__ready"),c(".vp-single-sort.vp-id-".concat(this.id)).removeClass("vp-single-sort__ready")),this.destroyEvents(),this.removeStyle(),this.renderStyle(),this.emitEvent("destroy"),this.destroyed=!0}},{key:"addStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]&&(this.stylesList[o]={}),void 0===this.stylesList[o][e]&&(this.stylesList[o][e]={}),void 0===this.stylesList[o][e][t]&&(this.stylesList[o][e][t]={}),this.stylesList[o][e][t]=c.extend(this.stylesList[o][e][t],i),this.emitEvent("addStyle",[t,i,e,this.stylesList])}},{key:"removeStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]||t||(this.stylesList[o]={}),void 0!==this.stylesList[o]&&void 0!==this.stylesList[o][e]&&void 0!==this.stylesList[o][e][t]&&t&&delete this.stylesList[o][e][t],this.emitEvent("removeStyle",[t,i,this.stylesList])}},{key:"renderStyle",value:function(){var t=this,i=t.uid,e="";t.stylesList||(t.stylesList={}),void 0!==t.stylesList[i]&&Object.keys(t.stylesList[i]).forEach((function(o){o&&(e+="@media ".concat(o," {")),Object.keys(t.stylesList[i][o]).forEach((function(n){e+=".vp-uid-".concat(i," ").concat(n," {"),Object.keys(t.stylesList[i][o][n]).forEach((function(s){e+="".concat(s,":").concat(t.stylesList[i][o][n][s],";")})),e+="}"})),o&&(e+="}")}));var o=c("#vp-style-".concat(i));o.length||(o=c("<style>").attr("id","vp-style-".concat(i)).appendTo("head")),o.html(e),t.emitEvent("renderStyle",[e,t.stylesList,o])}},{key:"firstToLowerCase",value:function(t){return t.substr(0,1).toLowerCase()+t.substr(1)}},{key:"initOptions",value:function(t){var i=this;i.defaults={layout:"tile",itemsGap:0,pagination:"load-more"},t&&(i.userOptions=t);var e=i.$item[0].dataset,o={};Object.keys(e).forEach((function(t){t&&"vp"===t.substring(0,2)&&(o[i.firstToLowerCase(t.substring(2))]=e[t])})),i.options=c.extend({},i.defaults,o,i.userOptions),i.emitEvent("initOptions")}},{key:"initEvents",value:function(){var t,i=this,e=".vpf-uid-".concat(i.uid);function o(){var t=i.$item[0].getBoundingClientRect(),e=t.left,o=window.innerWidth-t.right,n=parseFloat(i.$item.css("margin-left")||0),s=parseFloat(i.$item.css("margin-right")||0);i.$item.css({"margin-left":n-e,"margin-right":s-o})}function n(){var e=i.$item[0].getBoundingClientRect();0<e.bottom&&e.bottom-250<=window.innerHeight&&i.loadNewItems(i.options.nextPageUrl,!1,(function(){clearTimeout(t),t=setTimeout((function(){n()}),300)}))}i.$item.hasClass("vp-portfolio__stretch")&&!i.isPreview()&&(v.on("load".concat(e," resize").concat(e," orientationchange").concat(e),(function(){o()})),o()),i.$item.on("focus".concat(e),".vp-portfolio__item a",(function(){c(this).closest(".vp-portfolio__item").addClass("vp-portfolio__item-focus")})),i.$item.on("blur".concat(e),".vp-portfolio__item a",(function(){c(this).closest(".vp-portfolio__item").removeClass("vp-portfolio__item-focus")})),i.$filter.on("click".concat(e),".vp-filter .vp-filter__item a",(function(t){t.preventDefault();var e=c(this);i.loading||e.closest(".vp-filter__item").addClass("vp-filter__item-active").siblings().removeClass("vp-filter__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$sort.on("click".concat(e),".vp-sort .vp-sort__item a",(function(t){t.preventDefault();var e=c(this);i.loading||e.closest(".vp-sort__item").addClass("vp-sort__item-active").siblings().removeClass("vp-sort__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$filter.add(i.$sort).on("change".concat(e),".vp-filter select, .vp-sort select",(function(){var t=c(this),e=t.val(),o=t.find('[value="'.concat(e,'"]'));o.length&&i.loadNewItems(o.attr("data-vp-url"),!0)})),i.$item.on("click".concat(e),".vp-pagination .vp-pagination__item a",(function(t){t.preventDefault();var e=c(this),o=e.closest(".vp-pagination");if((!o.hasClass("vp-pagination__no-more")||"paged"===i.options.pagination)&&(i.loadNewItems(e.attr("href"),"paged"===i.options.pagination),"paged"===i.options.pagination&&o.hasClass("vp-pagination__scroll-top"))){var n=c("#wpadminbar"),s=window.pageYOffset||document.documentElement.scrollTop,a=i.$item.offset().top;o.attr("data-vp-pagination-scroll-top")&&(a-=parseInt(o.attr("data-vp-pagination-scroll-top"),10)||0),n.length&&"fixed"===n.css("position")&&(a-=n.outerHeight()),s>(a=Math.max(0,a))&&window.scrollTo({top:a,behavior:"smooth"})}})),i.$item.on("click".concat(e),".vp-portfolio__items .vp-portfolio__item-meta-category a",(function(t){t.preventDefault(),t.stopPropagation(),i.loadNewItems(c(this).attr("href"),!0)})),"infinite"===i.options.pagination&&(v.on("load".concat(e," scroll").concat(e," resize").concat(e," orientationchange").concat(e),(function(){clearTimeout(t),t=setTimeout((function(){n()}),60)})),n()),i.$item.on("transitionend".concat(e),".vp-portfolio__items",(function(t){t.currentTarget===t.target&&i.resized()})),i.emitEvent("initEvents")}},{key:"destroyEvents",value:function(){var t=".vpf-uid-".concat(this.uid);this.$item.off(t),this.$filter.off(t),this.$sort.off(t),v.off(t),this.emitEvent("destroyEvents")}},{key:"prepareLazyLoad",value:function(){var t=window.lazySizes&&window.lazySizes.cfg?window.lazySizes.cfg:window.lazySizesConfig;if(t){var i={"data-vpf-src":t.srcAttr,"data-vpf-sizes":t.sizesAttr,"data-vpf-srcset":t.srcsetAttr};this.$items_wrap.add(this.$slider_thumbnails_wrap).find(".visual-portfolio-lazyload:not(.".concat(t.lazyClass,")")).each((function(){var e=c(this);Object.keys(i).forEach((function(t){i[t]&&t!==i[t]&&e.attr(t)&&(e.attr(i[t],e.attr(t)),e.removeAttr(t))})),e.addClass(t.lazyClass)}))}}},{key:"removeNoscriptTags",value:function(t){t.find("noscript").remove()}},{key:"initLayout",value:function(){this.emitEvent("initLayout"),this.renderStyle()}},{key:"initCustomColors",value:function(){var t=this;t.$item.find("[data-vp-bg-color]").each((function(){var i=c(this).attr("data-vp-bg-color");t.addStyle('[data-vp-bg-color="'.concat(i,'"]'),{"background-color":"".concat(i," !important")})})),t.$item.find("[data-vp-text-color]").each((function(){var i=c(this).attr("data-vp-text-color");t.addStyle('[data-vp-text-color="'.concat(i,'"]'),{color:"".concat(i," !important")})})),t.renderStyle(),t.emitEvent("initCustomColors")}},{key:"addItems",value:function(t,i,e){this.removeNoscriptTags(t),this.emitEvent("addItems",[t,i,e])}},{key:"removeItems",value:function(t){this.emitEvent("removeItems",[t])}},{key:"loadNewItems",value:function(t,i,e){var o=this;if(!o.loading&&t&&o.href!==t){var n={method:"POST",url:t,complete:function(n){var s=n.responseText;o.href=t,o.replaceItems(s,i,e)}};o.loading=!0,o.$item.addClass("vp-portfolio__loading"),o.emitEvent("startLoadingNewItems",[t,n]),c.ajax(n)}}},{key:"replaceItems",value:function(t,i,e){if(t){t=t.replace("<body",'<body><div id="vp-infinite-load-body"').replace("</body>","</div></body>");var o=c(t).filter("#vp-infinite-load-body"),n=o.find(".vp-portfolio.vp-uid-".concat(this.uid));if(n.length){var s=n.find(".vp-portfolio__items").html();n.hasClass("vp-portfolio-not-found")?(this.$item.find(".vp-portfolio__items-wrap").before(n.find(".vp-notice").clone()),this.$item.addClass("vp-portfolio-not-found")):(this.$item.find(".vp-notice").remove(),this.$item.removeClass("vp-portfolio-not-found")),this.$filter.length&&this.$filter.each((function(){var t=c(this),i="";i=t.parent().hasClass("vp-single-filter")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-filter__ready",""),'"] .vp-portfolio__filter-wrap')).html():n.find(".vp-portfolio__filter-wrap").html(),t.html(i)})),this.$sort.length&&this.$sort.each((function(){var t=c(this),i="";i=t.parent().hasClass("vp-single-sort")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-sort__ready",""),'"] .vp-portfolio__sort-wrap')).html():n.find(".vp-portfolio__sort-wrap").html(),t.html(i)})),this.$pagination.length&&this.$pagination.html(n.find(".vp-portfolio__pagination-wrap").html()),this.addItems(c(s),i,n),this.emitEvent("loadedNewItems",[n,i,t]),e&&e()}var a=n.attr("data-vp-next-page-url");this.options.nextPageUrl=a,this.$item.attr("data-vp-next-page-url",a),this.$item.removeClass("vp-portfolio__loading"),this.loading=!1,this.emitEvent("endLoadingNewItems"),this.prepareLazyLoad(),this.imagesLoaded(),this.initCustomColors()}}}])&&r(i.prototype,e),o&&r(i,o),t}();c(document).on("lazybeforeunveil",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&(i.closest(".vp-portfolio__item-img").addClass("vp-portfolio__item-img-lazyloading"),i.closest(".vp-portfolio__thumbnail-img").addClass("vp-portfolio__thumbnail-img-lazyloading"))})),c(document).on("lazyloaded",(function(t){var i=c(t.target);i.hasClass("visual-portfolio-lazyload")&&(i.closest(".vp-portfolio__item-img-lazyloading").removeClass("vp-portfolio__item-img-lazyloading"),i.closest(".vp-portfolio__thumbnail-img-lazyloading").removeClass("vp-portfolio__thumbnail-img-lazyloading"))})),c(".elementor").length&&c(document).on("init.vpf addItems.vpf",(function(t,i){"vpf"===t.namespace&&i.$item.find(".vp-portfolio__item a").each((function(){/\.(png|jpe?g|gif|svg)(\?.*)?$/i.test(this.href)&&c(this).attr("data-elementor-open-lightbox","no")}))})),c(document).trigger("extendClass.vpf",[_]);var w=function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),o=1;o<i;o++)e[o-1]=arguments[o];var n;return this.each((function(){if(void 0===n)if("object"===a(t)||void 0===t)this.vpf||(this.vpf=new _(c(this),t));else if(this.vpf){var i;n=(i=this.vpf)[t].apply(i,e)}})),void 0!==n?n:this};w.constructor=_;var b=c.fn.vpf;c.fn.vpf=w,c.fn.vpf.noConflict=function(){return c.fn.vpf=b,this},c(".vp-portfolio").vpf(),c((function(){c(".vp-portfolio").vpf()}));var $=Object(o.throttle)(200,(function(){s()((function(){c(".vp-portfolio:not(.vp-portfolio__ready)").vpf()}))}));window.MutationObserver?new window.MutationObserver($).observe(document.documentElement,{childList:!0,subtree:!0}):c(document).on("DOMContentLoaded DOMNodeInserted load",(function(){$()}))},236:function(t,i,e){(function(i){var e;e="undefined"!=typeof window?window:void 0!==i?i:"undefined"!=typeof self?self:{},t.exports=e}).call(this,e(14))},3:function(t,i,e){var o,n,s,a;function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}a=function(t){"use strict";function i(t,i,e,o){var n,s=!1,a=0;function r(){n&&clearTimeout(n)}function l(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];var p=this,d=Date.now()-a;function v(){a=Date.now(),e.apply(p,c)}function u(){n=void 0}s||(o&&!n&&v(),r(),void 0===o&&d>t?v():!0!==i&&(n=setTimeout(o?u:v,void 0===o?t-d:t)))}return"boolean"!=typeof i&&(o=e,e=i,i=void 0),l.cancel=function(){r(),s=!0},l}t.debounce=function(t,e,o){return void 0===o?i(t,e,!1):i(t,o,!1!==e)},t.throttle=i,Object.defineProperty(t,"__esModule",{value:!0})},"object"===r(i)&&void 0!==t?a(i):(n=[i],void 0===(s="function"==typeof(o=a)?o.apply(i,n):o)||(t.exports=s))}});
assets/js/plugin-isotope.js CHANGED
@@ -21,12 +21,12 @@ $doc.on( 'extendClass.vpf', ( event, VP ) => {
21
  VP.prototype.initIsotope = function( options ) {
22
  const self = this;
23
 
24
- if ( self.$items_wrap.isotope && ( 'tiles' === self.options.layout || 'masonry' === self.options.layout || 'grid' === self.options.layout ) ) {
25
  const isRtl = 'rtl' === getComputedStyle( self.$items_wrap[ 0 ] ).direction;
26
 
27
  const initOptions = options || {
28
  itemSelector: '.vp-portfolio__item-wrap',
29
- layoutMode: 'grid' === self.options.layout ? 'fitRows' : 'masonry',
30
  // masonry: {
31
  // horizontalOrder: true
32
  // },
21
  VP.prototype.initIsotope = function( options ) {
22
  const self = this;
23
 
24
+ if ( self.$items_wrap.isotope && ( [ 'tiles', 'masonry', 'grid' ].includes( self.options.layout ) ) ) {
25
  const isRtl = 'rtl' === getComputedStyle( self.$items_wrap[ 0 ] ).direction;
26
 
27
  const initOptions = options || {
28
  itemSelector: '.vp-portfolio__item-wrap',
29
+ layoutMode: 'masonry',
30
  // masonry: {
31
  // horizontalOrder: true
32
  // },
assets/js/plugin-isotope.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){var e={};function o(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=t,o.c=e,o.d=function(t,e,i){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(o.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)o.d(i,n,function(e){return t[e]}.bind(null,n));return i},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=243)}({243:function(t,e,o){t.exports=o(244)},244:function(t,e,o){"use strict";o.r(e);var i=o(3),n=window.jQuery,r=n(document);r.on("extendClass.vpf",(function(t,e){"vpf"===t.namespace&&(e.prototype.initIsotope=function(t){if(this.$items_wrap.isotope&&("tiles"===this.options.layout||"masonry"===this.options.layout||"grid"===this.options.layout)){var e="rtl"===getComputedStyle(this.$items_wrap[0]).direction,o=t||{itemSelector:".vp-portfolio__item-wrap",layoutMode:"grid"===this.options.layout?"fitRows":"masonry",transitionDuration:"0.3s",percentPosition:!0,originLeft:!e};this.emitEvent("beforeInitIsotope",[o]),this.$items_wrap.isotope(o),this.emitEvent("initIsotope",[o])}},e.prototype.destroyIsotope=function(){this.$items_wrap.data("isotope")&&(this.$items_wrap.isotope("destroy"),this.emitEvent("destroyIsotope"))})})),r.on("addItems.vpf",(function(t,e,o,i){if("vpf"===t.namespace&&e.$items_wrap.data("isotope")){if(i){var n=e.$items_wrap.find(".vp-portfolio__item-wrap");e.$items_wrap.isotope("remove",n),e.$items_wrap.prepend(o).isotope("prepended",o)}else e.$items_wrap.append(o).isotope("appended",o);setTimeout((function(){e.initIsotope("layout")}),0)}})),r.on("removeItems.vpf",(function(t,e,o){"vpf"===t.namespace&&(e.$items_wrap.data("isotope")&&e.$items_wrap.isotope("remove",o))})),r.on("init.vpf",(function(t,e){"vpf"===t.namespace&&e.initIsotope()})),r.on("imagesLoaded.vpf",(function(t,e){"vpf"===t.namespace&&e.initIsotope("layout")})),r.on("destroy.vpf",(function(t,e){"vpf"===t.namespace&&e.destroyIsotope()})),r.on("vc-full-width-row",Object(i.a)(150,(function(t,e){n(e).find(".vp-portfolio").each((function(){this.vpf&&this.vpf.initIsotope&&(this.vpf.$items_wrap.data("isotope")&&this.vpf.initIsotope("layout"))}))})))},3:function(t,e,o){"use strict";function i(t,e,o,i){var n,r=!1,p=0;function s(){n&&clearTimeout(n)}function a(){for(var a=arguments.length,u=new Array(a),f=0;f<a;f++)u[f]=arguments[f];var c=this,d=Date.now()-p;function l(){p=Date.now(),o.apply(c,u)}function v(){n=void 0}r||(i&&!n&&l(),s(),void 0===i&&d>t?l():!0!==e&&(n=setTimeout(i?v:l,void 0===i?t-d:t)))}return"boolean"!=typeof e&&(i=o,o=e,e=void 0),a.cancel=function(){s(),r=!0},a}function n(t,e,o){return void 0===o?i(t,e,!1):i(t,o,!1!==e)}o.d(e,"a",(function(){return n})),o.d(e,"b",(function(){return i}))}});
1
+ !function(t){var e={};function o(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(n,i,function(e){return t[e]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=243)}({243:function(t,e,o){t.exports=o(244)},244:function(t,e,o){"use strict";o.r(e);var n=o(3),i=window.jQuery,r=i(document);r.on("extendClass.vpf",(function(t,e){"vpf"===t.namespace&&(e.prototype.initIsotope=function(t){if(this.$items_wrap.isotope&&["tiles","masonry","grid"].includes(this.options.layout)){var e="rtl"===getComputedStyle(this.$items_wrap[0]).direction,o=t||{itemSelector:".vp-portfolio__item-wrap",layoutMode:"masonry",transitionDuration:"0.3s",percentPosition:!0,originLeft:!e};this.emitEvent("beforeInitIsotope",[o]),this.$items_wrap.isotope(o),this.emitEvent("initIsotope",[o])}},e.prototype.destroyIsotope=function(){this.$items_wrap.data("isotope")&&(this.$items_wrap.isotope("destroy"),this.emitEvent("destroyIsotope"))})})),r.on("addItems.vpf",(function(t,e,o,n){if("vpf"===t.namespace&&e.$items_wrap.data("isotope")){if(n){var i=e.$items_wrap.find(".vp-portfolio__item-wrap");e.$items_wrap.isotope("remove",i),e.$items_wrap.prepend(o).isotope("prepended",o)}else e.$items_wrap.append(o).isotope("appended",o);setTimeout((function(){e.initIsotope("layout")}),0)}})),r.on("removeItems.vpf",(function(t,e,o){"vpf"===t.namespace&&(e.$items_wrap.data("isotope")&&e.$items_wrap.isotope("remove",o))})),r.on("init.vpf",(function(t,e){"vpf"===t.namespace&&e.initIsotope()})),r.on("imagesLoaded.vpf",(function(t,e){"vpf"===t.namespace&&e.initIsotope("layout")})),r.on("destroy.vpf",(function(t,e){"vpf"===t.namespace&&e.destroyIsotope()})),r.on("vc-full-width-row",Object(n.debounce)(150,(function(t,e){i(e).find(".vp-portfolio").each((function(){this.vpf&&this.vpf.initIsotope&&(this.vpf.$items_wrap.data("isotope")&&this.vpf.initIsotope("layout"))}))})))},3:function(t,e,o){var n,i,r,p;function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}p=function(t){"use strict";function e(t,e,o,n){var i,r=!1,p=0;function s(){i&&clearTimeout(i)}function f(){for(var f=arguments.length,u=new Array(f),a=0;a<f;a++)u[a]=arguments[a];var c=this,d=Date.now()-p;function l(){p=Date.now(),o.apply(c,u)}function m(){i=void 0}r||(n&&!i&&l(),s(),void 0===n&&d>t?l():!0!==e&&(i=setTimeout(n?m:l,void 0===n?t-d:t)))}return"boolean"!=typeof e&&(n=o,o=e,e=void 0),f.cancel=function(){s(),r=!0},f}t.debounce=function(t,o,n){return void 0===n?e(t,o,!1):e(t,n,!1!==o)},t.throttle=e,Object.defineProperty(t,"__esModule",{value:!0})},"object"===s(e)&&void 0!==t?p(e):(i=[e],void 0===(r="function"==typeof(n=p)?n.apply(e,i):n)||(t.exports=r))}});
assets/js/preview.js CHANGED
@@ -1,6 +1,6 @@
1
  /*!
2
  * Name : Visual Portfolio
3
- * Version : 2.6.1
4
  * Author : nK https://nkdev.info
5
  */
6
  const $ = window.jQuery;
1
  /*!
2
  * Name : Visual Portfolio
3
+ * Version : 2.6.2
4
  * Author : nK https://nkdev.info
5
  */
6
  const $ = window.jQuery;
assets/vendor/fancybox/{jquery.fancybox.min.css → dist/jquery.fancybox.min.css} RENAMED
File without changes
assets/vendor/fancybox/{jquery.fancybox.min.js → dist/jquery.fancybox.min.js} RENAMED
File without changes
assets/vendor/flickr-justified-gallery/{fjGallery.css → dist/fjGallery.css} RENAMED
File without changes
assets/vendor/flickr-justified-gallery/{fjGallery.min.js → dist/fjGallery.min.js} RENAMED
File without changes
assets/vendor/flickr-justified-gallery/{fjGallery.min.js.map → dist/fjGallery.min.js.map} RENAMED
File without changes
assets/vendor/flickr-justified-gallery/fjGallery.js DELETED
@@ -1,1450 +0,0 @@
1
- /*!
2
- * Name : Flickr's Justified Gallery [fjGallery]
3
- * Version : 1.0.3
4
- * Author : nK <https://nkdev.info>
5
- * GitHub : https://github.com/nk-o/flickr-justified-gallery
6
- */
7
- /******/ (function(modules) { // webpackBootstrap
8
- /******/ // The module cache
9
- /******/ var installedModules = {};
10
- /******/
11
- /******/ // The require function
12
- /******/ function __webpack_require__(moduleId) {
13
- /******/
14
- /******/ // Check if module is in cache
15
- /******/ if(installedModules[moduleId]) {
16
- /******/ return installedModules[moduleId].exports;
17
- /******/ }
18
- /******/ // Create a new module (and put it into the cache)
19
- /******/ var module = installedModules[moduleId] = {
20
- /******/ i: moduleId,
21
- /******/ l: false,
22
- /******/ exports: {}
23
- /******/ };
24
- /******/
25
- /******/ // Execute the module function
26
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
27
- /******/
28
- /******/ // Flag the module as loaded
29
- /******/ module.l = true;
30
- /******/
31
- /******/ // Return the exports of the module
32
- /******/ return module.exports;
33
- /******/ }
34
- /******/
35
- /******/
36
- /******/ // expose the modules object (__webpack_modules__)
37
- /******/ __webpack_require__.m = modules;
38
- /******/
39
- /******/ // expose the module cache
40
- /******/ __webpack_require__.c = installedModules;
41
- /******/
42
- /******/ // define getter function for harmony exports
43
- /******/ __webpack_require__.d = function(exports, name, getter) {
44
- /******/ if(!__webpack_require__.o(exports, name)) {
45
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
46
- /******/ }
47
- /******/ };
48
- /******/
49
- /******/ // define __esModule on exports
50
- /******/ __webpack_require__.r = function(exports) {
51
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
52
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
53
- /******/ }
54
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
55
- /******/ };
56
- /******/
57
- /******/ // create a fake namespace object
58
- /******/ // mode & 1: value is a module id, require it
59
- /******/ // mode & 2: merge all properties of value into the ns
60
- /******/ // mode & 4: return value when already ns object
61
- /******/ // mode & 8|1: behave like require
62
- /******/ __webpack_require__.t = function(value, mode) {
63
- /******/ if(mode & 1) value = __webpack_require__(value);
64
- /******/ if(mode & 8) return value;
65
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
66
- /******/ var ns = Object.create(null);
67
- /******/ __webpack_require__.r(ns);
68
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
69
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
70
- /******/ return ns;
71
- /******/ };
72
- /******/
73
- /******/ // getDefaultExport function for compatibility with non-harmony modules
74
- /******/ __webpack_require__.n = function(module) {
75
- /******/ var getter = module && module.__esModule ?
76
- /******/ function getDefault() { return module['default']; } :
77
- /******/ function getModuleExports() { return module; };
78
- /******/ __webpack_require__.d(getter, 'a', getter);
79
- /******/ return getter;
80
- /******/ };
81
- /******/
82
- /******/ // Object.prototype.hasOwnProperty.call
83
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
84
- /******/
85
- /******/ // __webpack_public_path__
86
- /******/ __webpack_require__.p = "";
87
- /******/
88
- /******/
89
- /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 0);
91
- /******/ })
92
- /************************************************************************/
93
- /******/ ([
94
- /* 0 */
95
- /***/ (function(module, exports, __webpack_require__) {
96
-
97
- module.exports = __webpack_require__(1);
98
-
99
-
100
- /***/ }),
101
- /* 1 */
102
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
103
-
104
- "use strict";
105
- __webpack_require__.r(__webpack_exports__);
106
- /* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
107
- /* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_0__);
108
- /* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
109
- /* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__);
110
- /* harmony import */ var _fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
111
- 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); }
112
-
113
-
114
-
115
- // no conflict
116
-
117
- var oldPlugin = global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery;
118
- global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery = _fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__["default"];
119
-
120
- global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.noConflict = function () {
121
- global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery = oldPlugin;
122
- return this;
123
- }; // jQuery support
124
-
125
-
126
- if (typeof global__WEBPACK_IMPORTED_MODULE_1__["jQuery"] !== 'undefined') {
127
- // add data to jQuery .data('fjGallery')
128
- var oldInit = global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.constructor.prototype.init;
129
-
130
- global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.constructor.prototype.init = function () {
131
- this.jQcontainer = Object(global__WEBPACK_IMPORTED_MODULE_1__["jQuery"])(this.$container);
132
- this.jQcontainer.data('fjGallery', this);
133
-
134
- if (oldInit) {
135
- oldInit.call(this);
136
- }
137
- }; // remove data from jQuery .data('fjGallery')
138
-
139
-
140
- var oldDestroy = global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.constructor.prototype.destroy;
141
-
142
- global__WEBPACK_IMPORTED_MODULE_1__["window"].fjGallery.constructor.prototype.destroy = function () {
143
- if (this.jQcontainer) {
144
- this.jQcontainer.removeData('fjGallery');
145
- }
146
-
147
- if (oldDestroy) {
148
- oldDestroy.call(this);
149
- }
150
- };
151
-
152
- var jQueryPlugin = function jQueryPlugin() {
153
- var args = arguments || [];
154
- Array.prototype.unshift.call(args, this);
155
- var res = _fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__["default"].apply(global__WEBPACK_IMPORTED_MODULE_1__["window"], args);
156
- return _typeof(res) !== 'object' ? res : this;
157
- };
158
-
159
- jQueryPlugin.constructor = _fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__["default"].constructor; // no conflict
160
-
161
- var oldJqPlugin = global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.fjGallery;
162
- global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.fjGallery = jQueryPlugin;
163
-
164
- global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.fjGallery.noConflict = function () {
165
- global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.fjGallery = oldJqPlugin;
166
- return this;
167
- };
168
- } // .fj-gallery initialization
169
-
170
-
171
- lite_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () {
172
- Object(_fjGallery_esm__WEBPACK_IMPORTED_MODULE_2__["default"])(document.querySelectorAll('.fj-gallery'));
173
- });
174
-
175
- /***/ }),
176
- /* 2 */
177
- /***/ (function(module, exports) {
178
-
179
- module.exports = function (callback) {
180
- if (document.readyState === 'complete' || document.readyState === 'interactive') {
181
- // Already ready or interactive, execute callback
182
- callback.call();
183
- } else if (document.attachEvent) {
184
- // Old browsers
185
- document.attachEvent('onreadystatechange', function () {
186
- if (document.readyState === 'interactive') callback.call();
187
- });
188
- } else if (document.addEventListener) {
189
- // Modern browsers
190
- document.addEventListener('DOMContentLoaded', callback);
191
- }
192
- };
193
-
194
- /***/ }),
195
- /* 3 */
196
- /***/ (function(module, exports, __webpack_require__) {
197
-
198
- /* WEBPACK VAR INJECTION */(function(global) {var win;
199
-
200
- if (typeof window !== "undefined") {
201
- win = window;
202
- } else if (typeof global !== "undefined") {
203
- win = global;
204
- } else if (typeof self !== "undefined") {
205
- win = self;
206
- } else {
207
- win = {};
208
- }
209
-
210
- module.exports = win;
211
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4)))
212
-
213
- /***/ }),
214
- /* 4 */
215
- /***/ (function(module, exports) {
216
-
217
- 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); }
218
-
219
- var g; // This works in non-strict mode
220
-
221
- g = function () {
222
- return this;
223
- }();
224
-
225
- try {
226
- // This works if eval is allowed (see CSP)
227
- g = g || new Function("return this")();
228
- } catch (e) {
229
- // This works if the window reference is available
230
- if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window;
231
- } // g can still be undefined, but nothing to do about it...
232
- // We return undefined, instead of nothing here, so it's
233
- // easier to handle this case. if(!global) { ...}
234
-
235
-
236
- module.exports = g;
237
-
238
- /***/ }),
239
- /* 5 */
240
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
241
-
242
- "use strict";
243
- __webpack_require__.r(__webpack_exports__);
244
- /* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
245
- /* harmony import */ var merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
246
- /* harmony import */ var merge__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(merge__WEBPACK_IMPORTED_MODULE_1__);
247
- /* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
248
- /* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_2__);
249
- /* harmony import */ var justified_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9);
250
- /* harmony import */ var justified_layout__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(justified_layout__WEBPACK_IMPORTED_MODULE_3__);
251
- /* harmony import */ var global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3);
252
- /* harmony import */ var global__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_4__);
253
- 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); }
254
-
255
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
256
-
257
- 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); } }
258
-
259
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
260
-
261
-
262
-
263
-
264
-
265
- // list with all fjGallery instances
266
- // need to render all in one scroll/resize event
267
-
268
- var fjGalleryList = [];
269
-
270
- function updateFjGallery() {
271
- global__WEBPACK_IMPORTED_MODULE_4__["window"].requestAnimationFrame(function () {
272
- fjGalleryList.forEach(function (item) {
273
- item.resize();
274
- });
275
- });
276
- }
277
-
278
- global__WEBPACK_IMPORTED_MODULE_4__["window"].addEventListener('resize', updateFjGallery);
279
- global__WEBPACK_IMPORTED_MODULE_4__["window"].addEventListener('orientationchange', updateFjGallery);
280
- global__WEBPACK_IMPORTED_MODULE_4__["window"].addEventListener('load', updateFjGallery);
281
- lite_ready__WEBPACK_IMPORTED_MODULE_2___default()(function () {
282
- updateFjGallery();
283
- }); // get image dimensions
284
- // thanks https://gist.github.com/dimsemenov/5382856
285
-
286
- function getImgDimensions(img, cb) {
287
- var interval;
288
- var hasSize = false;
289
- var addedListeners = false;
290
-
291
- var onHasSize = function onHasSize() {
292
- if (hasSize) {
293
- cb(hasSize);
294
- return;
295
- }
296
-
297
- hasSize = {
298
- width: img.naturalWidth,
299
- height: img.naturalHeight
300
- };
301
- cb(hasSize);
302
- clearInterval(interval);
303
-
304
- if (addedListeners) {
305
- // eslint-disable-next-line no-use-before-define
306
- removeListeners();
307
- }
308
- };
309
-
310
- var onLoaded = function onLoaded() {
311
- onHasSize();
312
- };
313
-
314
- var onError = function onError() {
315
- onHasSize();
316
- };
317
-
318
- var checkSize = function checkSize() {
319
- if (img.naturalWidth > 0) {
320
- onHasSize();
321
- }
322
- };
323
-
324
- var addListeners = function addListeners() {
325
- addedListeners = true;
326
- img.addEventListener('load', onLoaded);
327
- img.addEventListener('error', onError);
328
- };
329
-
330
- var removeListeners = function removeListeners() {
331
- addedListeners = false;
332
- img.removeEventListener('load', onLoaded);
333
- img.removeEventListener('error', onError);
334
- };
335
-
336
- checkSize();
337
-
338
- if (!hasSize) {
339
- addListeners();
340
- interval = setInterval(checkSize, 100);
341
- }
342
- }
343
-
344
- var instanceID = 0; // fjGallery class
345
-
346
- var fjGallery = /*#__PURE__*/function () {
347
- function fjGallery(container, userOptions) {
348
- _classCallCheck(this, fjGallery);
349
-
350
- var self = this;
351
- self.instanceID = instanceID++;
352
- self.$container = container;
353
- self.images = [];
354
- self.defaults = {
355
- itemSelector: '.fj-gallery-item',
356
- imageSelector: 'img',
357
- gutter: 10,
358
- // supports object like `{ horizontal: 10, vertical: 10 }`.
359
- rowHeight: 320,
360
- rowHeightTolerance: 0.25,
361
- // [0, 1]
362
- resizeThrottle: 200,
363
- isRtl: self.css(self.$container, 'direction') === 'rtl',
364
- // events
365
- onInit: null,
366
- // function() {}
367
- onDestroy: null,
368
- // function() {}
369
- onAppendImages: null,
370
- // function() {}
371
- onBeforeJustify: null,
372
- // function() {}
373
- onJustify: null // function() {}
374
-
375
- }; // prepare data-options
376
-
377
- var dataOptions = self.$container.dataset || {};
378
- var pureDataOptions = {};
379
- Object.keys(dataOptions).forEach(function (key) {
380
- var loweCaseOption = key.substr(0, 1).toLowerCase() + key.substr(1);
381
-
382
- if (loweCaseOption && typeof self.defaults[loweCaseOption] !== 'undefined') {
383
- pureDataOptions[loweCaseOption] = dataOptions[key];
384
- }
385
- });
386
- self.options = merge__WEBPACK_IMPORTED_MODULE_1___default()({}, self.defaults, pureDataOptions, userOptions);
387
- self.pureOptions = merge__WEBPACK_IMPORTED_MODULE_1___default()({}, self.options); // throttle for resize
388
-
389
- self.resize = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_0__["throttle"])(self.options.resizeThrottle, self.resize);
390
- self.init();
391
- } // add styles to element
392
-
393
-
394
- _createClass(fjGallery, [{
395
- key: "css",
396
- value: function css(el, styles) {
397
- if (typeof styles === 'string') {
398
- return global__WEBPACK_IMPORTED_MODULE_4__["window"].getComputedStyle(el).getPropertyValue(styles);
399
- } // add transform property with vendor prefix
400
-
401
-
402
- if (styles.transform) {
403
- styles['-webkit-transform'] = styles.transform;
404
- }
405
-
406
- Object.keys(styles).forEach(function (key) {
407
- el.style[key] = styles[key];
408
- });
409
- return el;
410
- } // add to fjGallery instances list
411
-
412
- }, {
413
- key: "addToFjGalleryList",
414
- value: function addToFjGalleryList() {
415
- fjGalleryList.push(this);
416
- updateFjGallery();
417
- } // remove from fjGallery instances list
418
-
419
- }, {
420
- key: "removeFromFjGalleryList",
421
- value: function removeFromFjGalleryList() {
422
- var self = this;
423
- fjGalleryList.forEach(function (item, key) {
424
- if (item.instanceID === self.instanceID) {
425
- fjGalleryList.splice(key, 1);
426
- }
427
- });
428
- }
429
- }, {
430
- key: "init",
431
- value: function init() {
432
- var self = this;
433
- self.appendImages(self.$container.querySelectorAll(self.options.itemSelector));
434
- self.addToFjGalleryList(); // call onInit event
435
-
436
- if (self.options.onInit) {
437
- self.options.onInit.call(self);
438
- }
439
- } // append images
440
-
441
- }, {
442
- key: "appendImages",
443
- value: function appendImages($images) {
444
- var self = this; // check if jQuery
445
-
446
- if (global__WEBPACK_IMPORTED_MODULE_4__["window"].jQuery && $images instanceof global__WEBPACK_IMPORTED_MODULE_4__["window"].jQuery) {
447
- $images = $images.get();
448
- }
449
-
450
- if (!$images || !$images.length) {
451
- return;
452
- }
453
-
454
- $images.forEach(function ($item) {
455
- // if $images is jQuery, for some reason in this array there is undefined item, that not a DOM,
456
- // so we need to check for $item.querySelector.
457
- if ($item && !$item.fjGalleryImage && $item.querySelector) {
458
- var $image = $item.querySelector(self.options.imageSelector);
459
-
460
- if ($image) {
461
- $item.fjGalleryImage = self;
462
- var data = {
463
- $item: $item,
464
- $image: $image,
465
- width: parseFloat($image.getAttribute('width')) || false,
466
- height: parseFloat($image.getAttribute('height')) || false,
467
- loadSizes: function loadSizes() {
468
- var itemData = this;
469
- getImgDimensions($image, function (dimensions) {
470
- if (itemData.width !== dimensions.width || itemData.height !== dimensions.height) {
471
- itemData.width = dimensions.width;
472
- itemData.height = dimensions.height;
473
- self.resize();
474
- }
475
- });
476
- }
477
- };
478
- data.loadSizes();
479
- self.images.push(data);
480
- }
481
- }
482
- }); // call onAppendImages event
483
-
484
- if (self.options.onAppendImages) {
485
- self.options.onAppendImages.call(self, [$images]);
486
- }
487
-
488
- self.justify();
489
- } // justify images
490
-
491
- }, {
492
- key: "justify",
493
- value: function justify() {
494
- var self = this;
495
- var justifyArray = []; // call onBeforeJustify event
496
-
497
- if (self.options.onBeforeJustify) {
498
- self.options.onBeforeJustify.call(self);
499
- }
500
-
501
- self.images.forEach(function (data) {
502
- if (data.width && data.height) {
503
- justifyArray.push(data.width / data.height);
504
- }
505
- });
506
- var justifiedData = justified_layout__WEBPACK_IMPORTED_MODULE_3___default()(justifyArray, {
507
- containerWidth: self.$container.getBoundingClientRect().width,
508
- containerPadding: {
509
- top: parseFloat(self.css(self.$container, 'padding-top')) || 0,
510
- right: parseFloat(self.css(self.$container, 'padding-right')) || 0,
511
- bottom: parseFloat(self.css(self.$container, 'padding-bottom')) || 0,
512
- left: parseFloat(self.css(self.$container, 'padding-left')) || 0
513
- },
514
- boxSpacing: self.options.gutter,
515
- targetRowHeight: self.options.rowHeight,
516
- targetRowHeightTolerance: self.options.rowHeightTolerance
517
- });
518
- self.css(self.$container, {
519
- height: "".concat(justifiedData.containerHeight, "px")
520
- });
521
- var i = 0;
522
- self.images.forEach(function (data) {
523
- if (data.width && data.height) {
524
- self.css(data.$item, {
525
- position: 'absolute',
526
- transform: "translateX(".concat((self.options.isRtl ? -1 : 1) * justifiedData.boxes[i].left, "px) translateY(").concat(justifiedData.boxes[i].top, "px) translateZ(0)"),
527
- width: "".concat(justifiedData.boxes[i].width, "px"),
528
- height: "".concat(justifiedData.boxes[i].height, "px")
529
- });
530
- i++;
531
- }
532
- }); // call onJustify event
533
-
534
- if (self.options.onJustify) {
535
- self.options.onJustify.call(self);
536
- }
537
- } // update options and resize gallery items
538
-
539
- }, {
540
- key: "updateOptions",
541
- value: function updateOptions(options) {
542
- var self = this;
543
- self.options = merge__WEBPACK_IMPORTED_MODULE_1___default()({}, self.options, options);
544
- self.justify();
545
- }
546
- }, {
547
- key: "destroy",
548
- value: function destroy() {
549
- var self = this;
550
- self.removeFromFjGalleryList(); // call onDestroy event
551
-
552
- if (self.options.onDestroy) {
553
- self.options.onDestroy.call(self);
554
- } // remove styles.
555
-
556
-
557
- self.css(self.$container, {
558
- height: ''
559
- });
560
- self.images.forEach(function (data) {
561
- self.css(data.$item, {
562
- position: '',
563
- transform: '',
564
- width: '',
565
- height: ''
566
- });
567
- }); // delete fjGalleryImage instance from images
568
-
569
- self.images.forEach(function (val) {
570
- delete val.$item.fjGalleryImage;
571
- }); // delete fjGallery instance from container
572
-
573
- delete self.$container.fjGallery;
574
- }
575
- }, {
576
- key: "resize",
577
- value: function resize() {
578
- var self = this;
579
- self.justify();
580
- }
581
- }]);
582
-
583
- return fjGallery;
584
- }(); // global definition
585
-
586
-
587
- var plugin = function plugin(items) {
588
- // check for dom element
589
- // thanks: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object
590
- if ((typeof HTMLElement === "undefined" ? "undefined" : _typeof(HTMLElement)) === 'object' ? items instanceof HTMLElement : items && _typeof(items) === 'object' && items !== null && items.nodeType === 1 && typeof items.nodeName === 'string') {
591
- items = [items];
592
- }
593
-
594
- var options = arguments[1];
595
- var args = Array.prototype.slice.call(arguments, 2);
596
- var len = items.length;
597
- var k = 0;
598
- var ret;
599
-
600
- for (k; k < len; k++) {
601
- if (_typeof(options) === 'object' || typeof options === 'undefined') {
602
- if (!items[k].fjGallery) {
603
- // eslint-disable-next-line new-cap
604
- items[k].fjGallery = new fjGallery(items[k], options);
605
- }
606
- } else if (items[k].fjGallery) {
607
- // eslint-disable-next-line prefer-spread
608
- ret = items[k].fjGallery[options].apply(items[k].fjGallery, args);
609
- }
610
-
611
- if (typeof ret !== 'undefined') {
612
- return ret;
613
- }
614
- }
615
-
616
- return items;
617
- };
618
-
619
- plugin.constructor = fjGallery;
620
- /* harmony default export */ __webpack_exports__["default"] = (plugin);
621
-
622
- /***/ }),
623
- /* 6 */
624
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
625
-
626
- "use strict";
627
- __webpack_require__.r(__webpack_exports__);
628
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return debounce; });
629
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return throttle; });
630
- /* eslint-disable no-undefined,no-param-reassign,no-shadow */
631
-
632
- /**
633
- * Throttle execution of a function. Especially useful for rate limiting
634
- * execution of handlers on events like resize and scroll.
635
- *
636
- * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
637
- * @param {boolean} [noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the
638
- * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time
639
- * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,
640
- * the internal counter is reset).
641
- * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
642
- * to `callback` when the throttled-function is executed.
643
- * @param {boolean} [debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),
644
- * schedule `callback` to execute after `delay` ms.
645
- *
646
- * @returns {Function} A new, throttled, function.
647
- */
648
- function throttle(delay, noTrailing, callback, debounceMode) {
649
- /*
650
- * After wrapper has stopped being called, this timeout ensures that
651
- * `callback` is executed at the proper times in `throttle` and `end`
652
- * debounce modes.
653
- */
654
- var timeoutID;
655
- var cancelled = false; // Keep track of the last time `callback` was executed.
656
-
657
- var lastExec = 0; // Function to clear existing timeout
658
-
659
- function clearExistingTimeout() {
660
- if (timeoutID) {
661
- clearTimeout(timeoutID);
662
- }
663
- } // Function to cancel next exec
664
-
665
-
666
- function cancel() {
667
- clearExistingTimeout();
668
- cancelled = true;
669
- } // `noTrailing` defaults to falsy.
670
-
671
-
672
- if (typeof noTrailing !== 'boolean') {
673
- debounceMode = callback;
674
- callback = noTrailing;
675
- noTrailing = undefined;
676
- }
677
- /*
678
- * The `wrapper` function encapsulates all of the throttling / debouncing
679
- * functionality and when executed will limit the rate at which `callback`
680
- * is executed.
681
- */
682
-
683
-
684
- function wrapper() {
685
- for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
686
- arguments_[_key] = arguments[_key];
687
- }
688
-
689
- var self = this;
690
- var elapsed = Date.now() - lastExec;
691
-
692
- if (cancelled) {
693
- return;
694
- } // Execute `callback` and update the `lastExec` timestamp.
695
-
696
-
697
- function exec() {
698
- lastExec = Date.now();
699
- callback.apply(self, arguments_);
700
- }
701
- /*
702
- * If `debounceMode` is true (at begin) this is used to clear the flag
703
- * to allow future `callback` executions.
704
- */
705
-
706
-
707
- function clear() {
708
- timeoutID = undefined;
709
- }
710
-
711
- if (debounceMode && !timeoutID) {
712
- /*
713
- * Since `wrapper` is being called for the first time and
714
- * `debounceMode` is true (at begin), execute `callback`.
715
- */
716
- exec();
717
- }
718
-
719
- clearExistingTimeout();
720
-
721
- if (debounceMode === undefined && elapsed > delay) {
722
- /*
723
- * In throttle mode, if `delay` time has been exceeded, execute
724
- * `callback`.
725
- */
726
- exec();
727
- } else if (noTrailing !== true) {
728
- /*
729
- * In trailing throttle mode, since `delay` time has not been
730
- * exceeded, schedule `callback` to execute `delay` ms after most
731
- * recent execution.
732
- *
733
- * If `debounceMode` is true (at begin), schedule `clear` to execute
734
- * after `delay` ms.
735
- *
736
- * If `debounceMode` is false (at end), schedule `callback` to
737
- * execute after `delay` ms.
738
- */
739
- timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
740
- }
741
- }
742
-
743
- wrapper.cancel = cancel; // Return the wrapper function.
744
-
745
- return wrapper;
746
- }
747
- /* eslint-disable no-undefined */
748
-
749
- /**
750
- * Debounce execution of a function. Debouncing, unlike throttling,
751
- * guarantees that a function is only executed a single time, either at the
752
- * very beginning of a series of calls, or at the very end.
753
- *
754
- * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
755
- * @param {boolean} [atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds
756
- * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.
757
- * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).
758
- * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
759
- * to `callback` when the debounced-function is executed.
760
- *
761
- * @returns {Function} A new, debounced function.
762
- */
763
-
764
-
765
- function debounce(delay, atBegin, callback) {
766
- return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);
767
- }
768
-
769
-
770
-
771
- /***/ }),
772
- /* 7 */
773
- /***/ (function(module, exports, __webpack_require__) {
774
-
775
- /* WEBPACK VAR INJECTION */(function(module) {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); }
776
-
777
- /*!
778
- * @name JavaScript/NodeJS Merge v1.2.1
779
- * @author yeikos
780
- * @repository https://github.com/yeikos/js.merge
781
-
782
- * Copyright 2014 yeikos - MIT license
783
- * https://raw.github.com/yeikos/js.merge/master/LICENSE
784
- */
785
- ;
786
-
787
- (function (isNode) {
788
- /**
789
- * Merge one or more objects
790
- * @param bool? clone
791
- * @param mixed,... arguments
792
- * @return object
793
- */
794
- var Public = function Public(clone) {
795
- return merge(clone === true, false, arguments);
796
- },
797
- publicName = 'merge';
798
- /**
799
- * Merge two or more objects recursively
800
- * @param bool? clone
801
- * @param mixed,... arguments
802
- * @return object
803
- */
804
-
805
-
806
- Public.recursive = function (clone) {
807
- return merge(clone === true, true, arguments);
808
- };
809
- /**
810
- * Clone the input removing any reference
811
- * @param mixed input
812
- * @return mixed
813
- */
814
-
815
-
816
- Public.clone = function (input) {
817
- var output = input,
818
- type = typeOf(input),
819
- index,
820
- size;
821
-
822
- if (type === 'array') {
823
- output = [];
824
- size = input.length;
825
-
826
- for (index = 0; index < size; ++index) {
827
- output[index] = Public.clone(input[index]);
828
- }
829
- } else if (type === 'object') {
830
- output = {};
831
-
832
- for (index in input) {
833
- output[index] = Public.clone(input[index]);
834
- }
835
- }
836
-
837
- return output;
838
- };
839
- /**
840
- * Merge two objects recursively
841
- * @param mixed input
842
- * @param mixed extend
843
- * @return mixed
844
- */
845
-
846
-
847
- function merge_recursive(base, extend) {
848
- if (typeOf(base) !== 'object') return extend;
849
-
850
- for (var key in extend) {
851
- if (typeOf(base[key]) === 'object' && typeOf(extend[key]) === 'object') {
852
- base[key] = merge_recursive(base[key], extend[key]);
853
- } else {
854
- base[key] = extend[key];
855
- }
856
- }
857
-
858
- return base;
859
- }
860
- /**
861
- * Merge two or more objects
862
- * @param bool clone
863
- * @param bool recursive
864
- * @param array argv
865
- * @return object
866
- */
867
-
868
-
869
- function merge(clone, recursive, argv) {
870
- var result = argv[0],
871
- size = argv.length;
872
- if (clone || typeOf(result) !== 'object') result = {};
873
-
874
- for (var index = 0; index < size; ++index) {
875
- var item = argv[index],
876
- type = typeOf(item);
877
- if (type !== 'object') continue;
878
-
879
- for (var key in item) {
880
- if (key === '__proto__') continue;
881
- var sitem = clone ? Public.clone(item[key]) : item[key];
882
-
883
- if (recursive) {
884
- result[key] = merge_recursive(result[key], sitem);
885
- } else {
886
- result[key] = sitem;
887
- }
888
- }
889
- }
890
-
891
- return result;
892
- }
893
- /**
894
- * Get type of variable
895
- * @param mixed input
896
- * @return string
897
- *
898
- * @see http://jsperf.com/typeofvar
899
- */
900
-
901
-
902
- function typeOf(input) {
903
- return {}.toString.call(input).slice(8, -1).toLowerCase();
904
- }
905
-
906
- if (isNode) {
907
- module.exports = Public;
908
- } else {
909
- window[publicName] = Public;
910
- }
911
- })(( false ? undefined : _typeof(module)) === 'object' && module && _typeof(module.exports) === 'object' && module.exports);
912
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(8)(module)))
913
-
914
- /***/ }),
915
- /* 8 */
916
- /***/ (function(module, exports) {
917
-
918
- module.exports = function (module) {
919
- if (!module.webpackPolyfill) {
920
- module.deprecate = function () {};
921
-
922
- module.paths = []; // module.parent = undefined by default
923
-
924
- if (!module.children) module.children = [];
925
- Object.defineProperty(module, "loaded", {
926
- enumerable: true,
927
- get: function get() {
928
- return module.l;
929
- }
930
- });
931
- Object.defineProperty(module, "id", {
932
- enumerable: true,
933
- get: function get() {
934
- return module.i;
935
- }
936
- });
937
- module.webpackPolyfill = 1;
938
- }
939
-
940
- return module;
941
- };
942
-
943
- /***/ }),
944
- /* 9 */
945
- /***/ (function(module, exports, __webpack_require__) {
946
-
947
- "use strict";
948
- /*!
949
- * Copyright 2019 SmugMug, Inc.
950
- * Licensed under the terms of the MIT license. Please see LICENSE file in the project root for terms.
951
- * @license
952
- */
953
-
954
-
955
- var merge = __webpack_require__(7),
956
- Row = __webpack_require__(10);
957
- /**
958
- * Create a new, empty row.
959
- *
960
- * @method createNewRow
961
- * @param layoutConfig {Object} The layout configuration
962
- * @param layoutData {Object} The current state of the layout
963
- * @return A new, empty row of the type specified by this layout.
964
- */
965
-
966
-
967
- function createNewRow(layoutConfig, layoutData) {
968
- var isBreakoutRow; // Work out if this is a full width breakout row
969
-
970
- if (layoutConfig.fullWidthBreakoutRowCadence !== false) {
971
- if ((layoutData._rows.length + 1) % layoutConfig.fullWidthBreakoutRowCadence === 0) {
972
- isBreakoutRow = true;
973
- }
974
- }
975
-
976
- return new Row({
977
- top: layoutData._containerHeight,
978
- left: layoutConfig.containerPadding.left,
979
- width: layoutConfig.containerWidth - layoutConfig.containerPadding.left - layoutConfig.containerPadding.right,
980
- spacing: layoutConfig.boxSpacing.horizontal,
981
- targetRowHeight: layoutConfig.targetRowHeight,
982
- targetRowHeightTolerance: layoutConfig.targetRowHeightTolerance,
983
- edgeCaseMinRowHeight: 0.5 * layoutConfig.targetRowHeight,
984
- edgeCaseMaxRowHeight: 2 * layoutConfig.targetRowHeight,
985
- rightToLeft: false,
986
- isBreakoutRow: isBreakoutRow,
987
- widowLayoutStyle: layoutConfig.widowLayoutStyle
988
- });
989
- }
990
- /**
991
- * Add a completed row to the layout.
992
- * Note: the row must have already been completed.
993
- *
994
- * @method addRow
995
- * @param layoutConfig {Object} The layout configuration
996
- * @param layoutData {Object} The current state of the layout
997
- * @param row {Row} The row to add.
998
- * @return {Array} Each item added to the row.
999
- */
1000
-
1001
-
1002
- function addRow(layoutConfig, layoutData, row) {
1003
- layoutData._rows.push(row);
1004
-
1005
- layoutData._layoutItems = layoutData._layoutItems.concat(row.getItems()); // Increment the container height
1006
-
1007
- layoutData._containerHeight += row.height + layoutConfig.boxSpacing.vertical;
1008
- return row.items;
1009
- }
1010
- /**
1011
- * Calculate the current layout for all items in the list that require layout.
1012
- * "Layout" means geometry: position within container and size
1013
- *
1014
- * @method computeLayout
1015
- * @param layoutConfig {Object} The layout configuration
1016
- * @param layoutData {Object} The current state of the layout
1017
- * @param itemLayoutData {Array} Array of items to lay out, with data required to lay out each item
1018
- * @return {Object} The newly-calculated layout, containing the new container height, and lists of layout items
1019
- */
1020
-
1021
-
1022
- function computeLayout(layoutConfig, layoutData, itemLayoutData) {
1023
- var laidOutItems = [],
1024
- itemAdded,
1025
- currentRow,
1026
- nextToLastRowHeight; // Apply forced aspect ratio if specified, and set a flag.
1027
-
1028
- if (layoutConfig.forceAspectRatio) {
1029
- itemLayoutData.forEach(function (itemData) {
1030
- itemData.forcedAspectRatio = true;
1031
- itemData.aspectRatio = layoutConfig.forceAspectRatio;
1032
- });
1033
- } // Loop through the items
1034
-
1035
-
1036
- itemLayoutData.some(function (itemData, i) {
1037
- if (isNaN(itemData.aspectRatio)) {
1038
- throw new Error("Item " + i + " has an invalid aspect ratio");
1039
- } // If not currently building up a row, make a new one.
1040
-
1041
-
1042
- if (!currentRow) {
1043
- currentRow = createNewRow(layoutConfig, layoutData);
1044
- } // Attempt to add item to the current row.
1045
-
1046
-
1047
- itemAdded = currentRow.addItem(itemData);
1048
-
1049
- if (currentRow.isLayoutComplete()) {
1050
- // Row is filled; add it and start a new one
1051
- laidOutItems = laidOutItems.concat(addRow(layoutConfig, layoutData, currentRow));
1052
-
1053
- if (layoutData._rows.length >= layoutConfig.maxNumRows) {
1054
- currentRow = null;
1055
- return true;
1056
- }
1057
-
1058
- currentRow = createNewRow(layoutConfig, layoutData); // Item was rejected; add it to its own row
1059
-
1060
- if (!itemAdded) {
1061
- itemAdded = currentRow.addItem(itemData);
1062
-
1063
- if (currentRow.isLayoutComplete()) {
1064
- // If the rejected item fills a row on its own, add the row and start another new one
1065
- laidOutItems = laidOutItems.concat(addRow(layoutConfig, layoutData, currentRow));
1066
-
1067
- if (layoutData._rows.length >= layoutConfig.maxNumRows) {
1068
- currentRow = null;
1069
- return true;
1070
- }
1071
-
1072
- currentRow = createNewRow(layoutConfig, layoutData);
1073
- }
1074
- }
1075
- }
1076
- }); // Handle any leftover content (orphans) depending on where they lie
1077
- // in this layout update, and in the total content set.
1078
-
1079
- if (currentRow && currentRow.getItems().length && layoutConfig.showWidows) {
1080
- // Last page of all content or orphan suppression is suppressed; lay out orphans.
1081
- if (layoutData._rows.length) {
1082
- // Only Match previous row's height if it exists and it isn't a breakout row
1083
- if (layoutData._rows[layoutData._rows.length - 1].isBreakoutRow) {
1084
- nextToLastRowHeight = layoutData._rows[layoutData._rows.length - 1].targetRowHeight;
1085
- } else {
1086
- nextToLastRowHeight = layoutData._rows[layoutData._rows.length - 1].height;
1087
- }
1088
-
1089
- currentRow.forceComplete(false, nextToLastRowHeight);
1090
- } else {
1091
- // ...else use target height if there is no other row height to reference.
1092
- currentRow.forceComplete(false);
1093
- }
1094
-
1095
- laidOutItems = laidOutItems.concat(addRow(layoutConfig, layoutData, currentRow));
1096
- layoutConfig._widowCount = currentRow.getItems().length;
1097
- } // We need to clean up the bottom container padding
1098
- // First remove the height added for box spacing
1099
-
1100
-
1101
- layoutData._containerHeight = layoutData._containerHeight - layoutConfig.boxSpacing.vertical; // Then add our bottom container padding
1102
-
1103
- layoutData._containerHeight = layoutData._containerHeight + layoutConfig.containerPadding.bottom;
1104
- return {
1105
- containerHeight: layoutData._containerHeight,
1106
- widowCount: layoutConfig._widowCount,
1107
- boxes: layoutData._layoutItems
1108
- };
1109
- }
1110
- /**
1111
- * Takes in a bunch of box data and config. Returns
1112
- * geometry to lay them out in a justified view.
1113
- *
1114
- * @method covertSizesToAspectRatios
1115
- * @param sizes {Array} Array of objects with widths and heights
1116
- * @return {Array} A list of aspect ratios
1117
- */
1118
-
1119
-
1120
- module.exports = function (input, config) {
1121
- var layoutConfig = {};
1122
- var layoutData = {}; // Defaults
1123
-
1124
- var defaults = {
1125
- containerWidth: 1060,
1126
- containerPadding: 10,
1127
- boxSpacing: 10,
1128
- targetRowHeight: 320,
1129
- targetRowHeightTolerance: 0.25,
1130
- maxNumRows: Number.POSITIVE_INFINITY,
1131
- forceAspectRatio: false,
1132
- showWidows: true,
1133
- fullWidthBreakoutRowCadence: false,
1134
- widowLayoutStyle: 'left'
1135
- };
1136
- var containerPadding = {};
1137
- var boxSpacing = {};
1138
- config = config || {}; // Merge defaults and config passed in
1139
-
1140
- layoutConfig = merge(defaults, config); // Sort out padding and spacing values
1141
-
1142
- containerPadding.top = !isNaN(parseFloat(layoutConfig.containerPadding.top)) ? layoutConfig.containerPadding.top : layoutConfig.containerPadding;
1143
- containerPadding.right = !isNaN(parseFloat(layoutConfig.containerPadding.right)) ? layoutConfig.containerPadding.right : layoutConfig.containerPadding;
1144
- containerPadding.bottom = !isNaN(parseFloat(layoutConfig.containerPadding.bottom)) ? layoutConfig.containerPadding.bottom : layoutConfig.containerPadding;
1145
- containerPadding.left = !isNaN(parseFloat(layoutConfig.containerPadding.left)) ? layoutConfig.containerPadding.left : layoutConfig.containerPadding;
1146
- boxSpacing.horizontal = !isNaN(parseFloat(layoutConfig.boxSpacing.horizontal)) ? layoutConfig.boxSpacing.horizontal : layoutConfig.boxSpacing;
1147
- boxSpacing.vertical = !isNaN(parseFloat(layoutConfig.boxSpacing.vertical)) ? layoutConfig.boxSpacing.vertical : layoutConfig.boxSpacing;
1148
- layoutConfig.containerPadding = containerPadding;
1149
- layoutConfig.boxSpacing = boxSpacing; // Local
1150
-
1151
- layoutData._layoutItems = [];
1152
- layoutData._awakeItems = [];
1153
- layoutData._inViewportItems = [];
1154
- layoutData._leadingOrphans = [];
1155
- layoutData._trailingOrphans = [];
1156
- layoutData._containerHeight = layoutConfig.containerPadding.top;
1157
- layoutData._rows = [];
1158
- layoutData._orphans = [];
1159
- layoutConfig._widowCount = 0; // Convert widths and heights to aspect ratios if we need to
1160
-
1161
- return computeLayout(layoutConfig, layoutData, input.map(function (item) {
1162
- if (item.width && item.height) {
1163
- return {
1164
- aspectRatio: item.width / item.height
1165
- };
1166
- } else {
1167
- return {
1168
- aspectRatio: item
1169
- };
1170
- }
1171
- }));
1172
- };
1173
-
1174
- /***/ }),
1175
- /* 10 */
1176
- /***/ (function(module, exports, __webpack_require__) {
1177
-
1178
- /*!
1179
- * Copyright 2019 SmugMug, Inc.
1180
- * Licensed under the terms of the MIT license. Please see LICENSE file in the project root for terms.
1181
- * @license
1182
- */
1183
- var merge = __webpack_require__(7);
1184
- /**
1185
- * Row
1186
- * Wrapper for each row in a justified layout.
1187
- * Stores relevant values and provides methods for calculating layout of individual rows.
1188
- *
1189
- * @param {Object} layoutConfig - The same as that passed
1190
- * @param {Object} Initialization parameters. The following are all required:
1191
- * @param params.top {Number} Top of row, relative to container
1192
- * @param params.left {Number} Left side of row relative to container (equal to container left padding)
1193
- * @param params.width {Number} Width of row, not including container padding
1194
- * @param params.spacing {Number} Horizontal spacing between items
1195
- * @param params.targetRowHeight {Number} Layout algorithm will aim for this row height
1196
- * @param params.targetRowHeightTolerance {Number} Row heights may vary +/- (`targetRowHeight` x `targetRowHeightTolerance`)
1197
- * @param params.edgeCaseMinRowHeight {Number} Absolute minimum row height for edge cases that cannot be resolved within tolerance.
1198
- * @param params.edgeCaseMaxRowHeight {Number} Absolute maximum row height for edge cases that cannot be resolved within tolerance.
1199
- * @param params.isBreakoutRow {Boolean} Is this row in particular one of those breakout rows? Always false if it's not that kind of photo list
1200
- * @param params.widowLayoutStyle {String} If widows are visible, how should they be laid out?
1201
- * @constructor
1202
- */
1203
-
1204
-
1205
- var Row = module.exports = function (params) {
1206
- // Top of row, relative to container
1207
- this.top = params.top; // Left side of row relative to container (equal to container left padding)
1208
-
1209
- this.left = params.left; // Width of row, not including container padding
1210
-
1211
- this.width = params.width; // Horizontal spacing between items
1212
-
1213
- this.spacing = params.spacing; // Row height calculation values
1214
-
1215
- this.targetRowHeight = params.targetRowHeight;
1216
- this.targetRowHeightTolerance = params.targetRowHeightTolerance;
1217
- this.minAspectRatio = this.width / params.targetRowHeight * (1 - params.targetRowHeightTolerance);
1218
- this.maxAspectRatio = this.width / params.targetRowHeight * (1 + params.targetRowHeightTolerance); // Edge case row height minimum/maximum
1219
-
1220
- this.edgeCaseMinRowHeight = params.edgeCaseMinRowHeight;
1221
- this.edgeCaseMaxRowHeight = params.edgeCaseMaxRowHeight; // Widow layout direction
1222
-
1223
- this.widowLayoutStyle = params.widowLayoutStyle; // Full width breakout rows
1224
-
1225
- this.isBreakoutRow = params.isBreakoutRow; // Store layout data for each item in row
1226
-
1227
- this.items = []; // Height remains at 0 until it's been calculated
1228
-
1229
- this.height = 0;
1230
- };
1231
-
1232
- Row.prototype = {
1233
- /**
1234
- * Attempt to add a single item to the row.
1235
- * This is the heart of the justified algorithm.
1236
- * This method is direction-agnostic; it deals only with sizes, not positions.
1237
- *
1238
- * If the item fits in the row, without pushing row height beyond min/max tolerance,
1239
- * the item is added and the method returns true.
1240
- *
1241
- * If the item leaves row height too high, there may be room to scale it down and add another item.
1242
- * In this case, the item is added and the method returns true, but the row is incomplete.
1243
- *
1244
- * If the item leaves row height too short, there are too many items to fit within tolerance.
1245
- * The method will either accept or reject the new item, favoring the resulting row height closest to within tolerance.
1246
- * If the item is rejected, left/right padding will be required to fit the row height within tolerance;
1247
- * if the item is accepted, top/bottom cropping will be required to fit the row height within tolerance.
1248
- *
1249
- * @method addItem
1250
- * @param itemData {Object} Item layout data, containing item aspect ratio.
1251
- * @return {Boolean} True if successfully added; false if rejected.
1252
- */
1253
- addItem: function addItem(itemData) {
1254
- var newItems = this.items.concat(itemData),
1255
- // Calculate aspect ratios for items only; exclude spacing
1256
- rowWidthWithoutSpacing = this.width - (newItems.length - 1) * this.spacing,
1257
- newAspectRatio = newItems.reduce(function (sum, item) {
1258
- return sum + item.aspectRatio;
1259
- }, 0),
1260
- targetAspectRatio = rowWidthWithoutSpacing / this.targetRowHeight,
1261
- previousRowWidthWithoutSpacing,
1262
- previousAspectRatio,
1263
- previousTargetAspectRatio; // Handle big full-width breakout photos if we're doing them
1264
-
1265
- if (this.isBreakoutRow) {
1266
- // Only do it if there's no other items in this row
1267
- if (this.items.length === 0) {
1268
- // Only go full width if this photo is a square or landscape
1269
- if (itemData.aspectRatio >= 1) {
1270
- // Close out the row with a full width photo
1271
- this.items.push(itemData);
1272
- this.completeLayout(rowWidthWithoutSpacing / itemData.aspectRatio, 'justify');
1273
- return true;
1274
- }
1275
- }
1276
- }
1277
-
1278
- if (newAspectRatio < this.minAspectRatio) {
1279
- // New aspect ratio is too narrow / scaled row height is too tall.
1280
- // Accept this item and leave row open for more items.
1281
- this.items.push(merge(itemData));
1282
- return true;
1283
- } else if (newAspectRatio > this.maxAspectRatio) {
1284
- // New aspect ratio is too wide / scaled row height will be too short.
1285
- // Accept item if the resulting aspect ratio is closer to target than it would be without the item.
1286
- // NOTE: Any row that falls into this block will require cropping/padding on individual items.
1287
- if (this.items.length === 0) {
1288
- // When there are no existing items, force acceptance of the new item and complete the layout.
1289
- // This is the pano special case.
1290
- this.items.push(merge(itemData));
1291
- this.completeLayout(rowWidthWithoutSpacing / newAspectRatio, 'justify');
1292
- return true;
1293
- } // Calculate width/aspect ratio for row before adding new item
1294
-
1295
-
1296
- previousRowWidthWithoutSpacing = this.width - (this.items.length - 1) * this.spacing;
1297
- previousAspectRatio = this.items.reduce(function (sum, item) {
1298
- return sum + item.aspectRatio;
1299
- }, 0);
1300
- previousTargetAspectRatio = previousRowWidthWithoutSpacing / this.targetRowHeight;
1301
-
1302
- if (Math.abs(newAspectRatio - targetAspectRatio) > Math.abs(previousAspectRatio - previousTargetAspectRatio)) {
1303
- // Row with new item is us farther away from target than row without; complete layout and reject item.
1304
- this.completeLayout(previousRowWidthWithoutSpacing / previousAspectRatio, 'justify');
1305
- return false;
1306
- } else {
1307
- // Row with new item is us closer to target than row without;
1308
- // accept the new item and complete the row layout.
1309
- this.items.push(merge(itemData));
1310
- this.completeLayout(rowWidthWithoutSpacing / newAspectRatio, 'justify');
1311
- return true;
1312
- }
1313
- } else {
1314
- // New aspect ratio / scaled row height is within tolerance;
1315
- // accept the new item and complete the row layout.
1316
- this.items.push(merge(itemData));
1317
- this.completeLayout(rowWidthWithoutSpacing / newAspectRatio, 'justify');
1318
- return true;
1319
- }
1320
- },
1321
-
1322
- /**
1323
- * Check if a row has completed its layout.
1324
- *
1325
- * @method isLayoutComplete
1326
- * @return {Boolean} True if complete; false if not.
1327
- */
1328
- isLayoutComplete: function isLayoutComplete() {
1329
- return this.height > 0;
1330
- },
1331
-
1332
- /**
1333
- * Set row height and compute item geometry from that height.
1334
- * Will justify items within the row unless instructed not to.
1335
- *
1336
- * @method completeLayout
1337
- * @param newHeight {Number} Set row height to this value.
1338
- * @param widowLayoutStyle {String} How should widows display? Supported: left | justify | center
1339
- */
1340
- completeLayout: function completeLayout(newHeight, widowLayoutStyle) {
1341
- var itemWidthSum = this.left,
1342
- rowWidthWithoutSpacing = this.width - (this.items.length - 1) * this.spacing,
1343
- clampedToNativeRatio,
1344
- clampedHeight,
1345
- errorWidthPerItem,
1346
- roundedCumulativeErrors,
1347
- singleItemGeometry,
1348
- centerOffset; // Justify unless explicitly specified otherwise.
1349
-
1350
- if (typeof widowLayoutStyle === 'undefined' || ['justify', 'center', 'left'].indexOf(widowLayoutStyle) < 0) {
1351
- widowLayoutStyle = 'left';
1352
- } // Clamp row height to edge case minimum/maximum.
1353
-
1354
-
1355
- clampedHeight = Math.max(this.edgeCaseMinRowHeight, Math.min(newHeight, this.edgeCaseMaxRowHeight));
1356
-
1357
- if (newHeight !== clampedHeight) {
1358
- // If row height was clamped, the resulting row/item aspect ratio will be off,
1359
- // so force it to fit the width (recalculate aspectRatio to match clamped height).
1360
- // NOTE: this will result in cropping/padding commensurate to the amount of clamping.
1361
- this.height = clampedHeight;
1362
- clampedToNativeRatio = rowWidthWithoutSpacing / clampedHeight / (rowWidthWithoutSpacing / newHeight);
1363
- } else {
1364
- // If not clamped, leave ratio at 1.0.
1365
- this.height = newHeight;
1366
- clampedToNativeRatio = 1.0;
1367
- } // Compute item geometry based on newHeight.
1368
-
1369
-
1370
- this.items.forEach(function (item) {
1371
- item.top = this.top;
1372
- item.width = item.aspectRatio * this.height * clampedToNativeRatio;
1373
- item.height = this.height; // Left-to-right.
1374
- // TODO right to left
1375
- // item.left = this.width - itemWidthSum - item.width;
1376
-
1377
- item.left = itemWidthSum; // Increment width.
1378
-
1379
- itemWidthSum += item.width + this.spacing;
1380
- }, this); // If specified, ensure items fill row and distribute error
1381
- // caused by rounding width and height across all items.
1382
-
1383
- if (widowLayoutStyle === 'justify') {
1384
- itemWidthSum -= this.spacing + this.left;
1385
- errorWidthPerItem = (itemWidthSum - this.width) / this.items.length;
1386
- roundedCumulativeErrors = this.items.map(function (item, i) {
1387
- return Math.round((i + 1) * errorWidthPerItem);
1388
- });
1389
-
1390
- if (this.items.length === 1) {
1391
- // For rows with only one item, adjust item width to fill row.
1392
- singleItemGeometry = this.items[0];
1393
- singleItemGeometry.width -= Math.round(errorWidthPerItem);
1394
- } else {
1395
- // For rows with multiple items, adjust item width and shift items to fill the row,
1396
- // while maintaining equal spacing between items in the row.
1397
- this.items.forEach(function (item, i) {
1398
- if (i > 0) {
1399
- item.left -= roundedCumulativeErrors[i - 1];
1400
- item.width -= roundedCumulativeErrors[i] - roundedCumulativeErrors[i - 1];
1401
- } else {
1402
- item.width -= roundedCumulativeErrors[i];
1403
- }
1404
- });
1405
- }
1406
- } else if (widowLayoutStyle === 'center') {
1407
- // Center widows
1408
- centerOffset = (this.width - itemWidthSum) / 2;
1409
- this.items.forEach(function (item) {
1410
- item.left += centerOffset + this.spacing;
1411
- }, this);
1412
- }
1413
- },
1414
-
1415
- /**
1416
- * Force completion of row layout with current items.
1417
- *
1418
- * @method forceComplete
1419
- * @param fitToWidth {Boolean} Stretch current items to fill the row width.
1420
- * This will likely result in padding.
1421
- * @param fitToWidth {Number}
1422
- */
1423
- forceComplete: function forceComplete(fitToWidth, rowHeight) {
1424
- // TODO Handle fitting to width
1425
- // var rowWidthWithoutSpacing = this.width - (this.items.length - 1) * this.spacing,
1426
- // currentAspectRatio = this.items.reduce(function (sum, item) {
1427
- // return sum + item.aspectRatio;
1428
- // }, 0);
1429
- if (typeof rowHeight === 'number') {
1430
- this.completeLayout(rowHeight, this.widowLayoutStyle);
1431
- } else {
1432
- // Complete using target row height.
1433
- this.completeLayout(this.targetRowHeight, this.widowLayoutStyle);
1434
- }
1435
- },
1436
-
1437
- /**
1438
- * Return layout data for items within row.
1439
- * Note: returns actual list, not a copy.
1440
- *
1441
- * @method getItems
1442
- * @return Layout data for items within row.
1443
- */
1444
- getItems: function getItems() {
1445
- return this.items;
1446
- }
1447
- };
1448
-
1449
- /***/ })
1450
- /******/ ]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/vendor/ie11-custom-properties/{ie11-custom-properties.js → ie11CustomProperties.js} RENAMED
@@ -1,4 +1,4 @@
1
- /*! ie11CustomProperties.js v4.0.1 | MIT License | https://git.io/fjXMN */
2
  !function () {
3
  'use strict';
4
 
@@ -113,28 +113,25 @@
113
  //const regHasVar = /var\(/;
114
  var regPseudos = /:(hover|active|focus|target|visited|link|:before|:after|:first-letter|:first-line)/;
115
 
116
- onElement('link[rel="stylesheet"]', function (el) {
117
- fetchCss(el.href, function (css) {
118
- var newCss = rewriteCss(css);
119
- if (css === newCss) return;
120
- newCss = relToAbs(el.href, newCss);
121
- el.disabled = true;
122
- var style = document.createElement('style');
123
- if (el.media) style.setAttribute('media', el.media);
124
- el.parentNode.insertBefore(style, el);
125
- activateStyleElement(style, newCss);
126
- });
127
- });
128
-
129
  function foundStyle(el){
130
  if (el.ieCP_polyfilled) return;
131
  if (el.ieCP_elementSheet) return;
 
 
 
 
 
 
 
 
 
132
  var css = el.innerHTML;
133
  var newCss = rewriteCss(css);
134
  if (css === newCss) return;
135
  activateStyleElement(el, newCss);
136
  }
137
  onElement('style', foundStyle);
 
138
  // immediate, to pass w3c-tests, bud its a bad idea
139
  // addEventListener('DOMNodeInserted',function(e){ e.target.tagName === 'STYLE' && foundStyle(e.target); });
140
 
@@ -148,15 +145,6 @@
148
  if (found.setters) addSetterElement(el, found.setters);
149
  });
150
 
151
- function relToAbs(base, css) {
152
- return css.replace(/url\(([^)]+)\)/g, function($0, $1){
153
- $1 = $1.trim().replace(/(^['"]|['"]$)/g,'');
154
- if ($1.match(/^([a-z]+:|\/)/)) return $0;
155
- base = base.replace(/\?.*/,'');
156
- return 'url('+ base + './../' + $1 +')';
157
- });
158
- }
159
-
160
  // ie has a bug, where unknown properties at pseudo-selectors are computed at the element
161
  // #el::after { -content:'x'; } => getComputedStyle(el)['-content'] == 'x'
162
  // should we add something like -ieVar-pseudo_after-content:'x'?
@@ -210,7 +198,6 @@
210
  if (propName[0] === '❗') propName = propName.substr(1);
211
  getters.push(propName);
212
 
213
- // beta
214
  if (!styles_of_getter_properties[propName]) styles_of_getter_properties[propName] = [];
215
  styles_of_getter_properties[propName].push(style);
216
  }
@@ -229,7 +216,7 @@
229
  return {getters:getters, setters:setters};
230
  }
231
  function activateStyleElement(style, css) {
232
- style.innerHTML = css;
233
  style.ieCP_polyfilled = true;
234
  var rules = style.sheet.rules, i=0, rule; // cssRules = CSSRuleList, rules = MSCSSRuleList
235
  while (rule = rules[i++]) {
@@ -286,7 +273,6 @@
286
  drawTree(el);
287
  }
288
 
289
- //beta
290
  function redrawStyleSheets() {
291
  for (var prop in styles_of_getter_properties) {
292
  let styles = styles_of_getter_properties[prop];
1
+ /*! ie11CustomProperties.js v4.1.0 | MIT License | https://git.io/fjXMN */
2
  !function () {
3
  'use strict';
4
 
113
  //const regHasVar = /var\(/;
114
  var regPseudos = /:(hover|active|focus|target|visited|link|:before|:after|:first-letter|:first-line)/;
115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  function foundStyle(el){
117
  if (el.ieCP_polyfilled) return;
118
  if (el.ieCP_elementSheet) return;
119
+ if (!el.sheet) return;
120
+ if (el.href) {
121
+ return fetchCss(el.href, function (css) {
122
+ var newCss = rewriteCss(css);
123
+ if (css === newCss) return;
124
+ activateStyleElement(el, newCss);
125
+ });
126
+ }
127
+
128
  var css = el.innerHTML;
129
  var newCss = rewriteCss(css);
130
  if (css === newCss) return;
131
  activateStyleElement(el, newCss);
132
  }
133
  onElement('style', foundStyle);
134
+ onElement('link[rel="stylesheet"]', foundStyle);
135
  // immediate, to pass w3c-tests, bud its a bad idea
136
  // addEventListener('DOMNodeInserted',function(e){ e.target.tagName === 'STYLE' && foundStyle(e.target); });
137
 
145
  if (found.setters) addSetterElement(el, found.setters);
146
  });
147
 
 
 
 
 
 
 
 
 
 
148
  // ie has a bug, where unknown properties at pseudo-selectors are computed at the element
149
  // #el::after { -content:'x'; } => getComputedStyle(el)['-content'] == 'x'
150
  // should we add something like -ieVar-pseudo_after-content:'x'?
198
  if (propName[0] === '❗') propName = propName.substr(1);
199
  getters.push(propName);
200
 
 
201
  if (!styles_of_getter_properties[propName]) styles_of_getter_properties[propName] = [];
202
  styles_of_getter_properties[propName].push(style);
203
  }
216
  return {getters:getters, setters:setters};
217
  }
218
  function activateStyleElement(style, css) {
219
+ style.sheet.cssText = css;
220
  style.ieCP_polyfilled = true;
221
  var rules = style.sheet.rules, i=0, rule; // cssRules = CSSRuleList, rules = MSCSSRuleList
222
  while (rule = rules[i++]) {
273
  drawTree(el);
274
  }
275
 
 
276
  function redrawStyleSheets() {
277
  for (var prop in styles_of_getter_properties) {
278
  let styles = styles_of_getter_properties[prop];
assets/vendor/iframe-resizer/iframeResizer.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["iframeResizer.js"],"names":["undefined","window","$","count","logEnabled","hiddenCheckEnabled","msgHeaderLen","length","msgId","msgIdLen","pagePosition","requestAnimationFrame","resetRequiredMethods","max","scroll","bodyScroll","documentElementScroll","settings","timer","defaults","autoResize","bodyBackground","bodyMargin","bodyMarginV1","bodyPadding","checkOrigin","inPageLinks","enablePublicMethods","heightCalculationMethod","id","interval","log","maxHeight","Infinity","maxWidth","minHeight","minWidth","resizeFrom","scrolling","sizeHeight","sizeWidth","warningTimeout","tolerance","widthCalculationMethod","onClose","onClosed","onInit","onMessage","warn","onResized","onScroll","frameTimer","jQuery","fn","iFrameResize","options","this","filter","each","index","element","setupIFrame","end","info","define","amd","factory","module","exports","getMutationObserver","MutationObserver","WebKitMutationObserver","MozMutationObserver","addEventListener","el","evt","func","removeEventListener","formatLogHeader","iframeId","retStr","top","self","parentIFrame","getId","getMyID","isLogEnabled","msg","output","type","enabled","console","iFrameListener","event","resizeIFrame","ensureInRange","syncResize","setSize","messageData","setPagePosition","on","Dimension","Number","min","dimension","toLowerCase","size","getMsgBody","offset","substr","indexOf","sendPageInfoToIframe","iframe","time","frameId","setTimeout","debounceFrameEvents","trigger","bodyPosition","document","body","getBoundingClientRect","iFramePosition","JSON","stringify","iframeHeight","height","iframeWidth","width","clientHeight","Math","documentElement","innerHeight","clientWidth","innerWidth","offsetTop","parseInt","offsetLeft","left","scrollTop","pageYOffset","scrollLeft","pageXOffset","documentHeight","documentWidth","windowHeight","windowWidth","getPageInfo","getElementPosition","target","getPagePosition","x","floor","y","scrollRequestFromChild","addOffset","newPosition","scrollTo","unsetPagePosition","funcName","val","chkEvent","retBool","retCode","data","compStyle","createOutgoingMsg","iFrameReadyMsgReceived","split","getComputedStyle","boxSizing","paddingTop","bot","paddingBottom","getPaddingEnds","borderTopWidth","borderBottomWidth","getBorderEnds","loaded","true","false","remoteHost","origin","constructor","Array","i","checkList","Error","isMessageFromIFrame","firstRun","closeIFrame","msgBody","message","parse","forwardMsgFromIFrame","setListener","sendPageInfo","stop","forEach","stopPageInfo","startPageInfoMonitor","location","jumpPosition","hash","hashData","decodeURIComponent","getElementById","getElementsByName","moveToAnchor","findTarget","resetIFrame","actionMsg","retVal","TypeError","removeIframeListeners","parentNode","removeChild","error","chkZero","checkIFrames","Object","keys","key","settingId","chkDimension","style","offsetParent","checkIFrame","mutationObserved","mutations","debouce","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","fixHiddenIFrames","processDimension","setDimension","doNotSync","jasmine","calleeMsg","noResponseWarning","errorShown","contentWindow","targetOrigin","postMessage","msgTimeout","depricate","splitName","name","charAt","toUpperCase","slice","src","addStyle","chkMinMax","join","checkOptions","option","prototype","hasOwnProperty","call","copyOptions","match","getTargetOrigin","overflow","setScrolling","mutation","removedNodes","removedNode","resetRequertMethod","checkReset","iFrameResizer","close","bind","removeListeners","resize","anchor","sendMessage","tabVisible","visibilityState","sendTriggerMsg","eventName","isIFrameResizeEnabled","setupEventListeners","resizeIFrames","init","tagName","chkType","iFrames","push","vendors","setupRequestAnimationFrame","warnDeprecatedOptions","querySelectorAll"],"mappings":"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","file":"iframeResizer.min.js"}
 
assets/vendor/iframe-resizer/{iframeResizer.contentWindow.map → js/iframeResizer.contentWindow.map} RENAMED
@@ -1 +1 @@
1
- {"version":3,"sources":["iframeResizer.contentWindow.js"],"names":["undefined","window","autoResize","base","bodyBackground","bodyMargin","bodyMarginStr","bodyObserver","bodyPadding","calculateWidth","doubleEventList","resize","click","eventCancelTimer","firstRun","height","heightCalcModeDefault","heightCalcMode","initLock","initMsg","inPageLinks","interval","intervalTimer","logging","msgID","msgIdLen","length","myID","resetRequiredMethods","max","min","bodyScroll","documentElementScroll","resizeFrom","sendPermit","target","parent","targetOriginDefault","tolerance","triggerLocked","triggerLockedTimer","throttledTimer","width","widthCalcModeDefault","widthCalcMode","win","onMessage","warn","onReady","onPageInfo","customCalcMethods","document","documentElement","offsetHeight","body","scrollWidth","eventHandlersByName","passiveSupported","options","Object","create","passive","get","addEventListener","noop","removeEventListener","error","func","context","args","result","timeout","previous","getNow","Date","now","getTime","getHeight","bodyOffset","getComputedStyle","offset","scrollHeight","custom","documentElementOffset","Math","apply","getAllMeasurements","grow","lowestElement","getMaxElement","getAllElements","taggedElement","getTaggedElements","getWidth","offsetWidth","scroll","rightMostElement","sizeIFrameThrottled","sizeIFrame","remaining","this","arguments","clearTimeout","setTimeout","later","event","processRequestFromParent","init","data","source","reset","log","triggerReset","sendSize","moveToAnchor","findTarget","getData","inPageLink","pageInfo","msgBody","JSON","parse","message","getMessageType","split","substr","indexOf","isInitMsg","true","false","callFromParent","messageType","module","exports","jQuery","prototype","chkLateLoaded","el","evt","capitalizeFirstLetter","string","charAt","toUpperCase","slice","formatLogMsg","msg","console","strBool","str","Number","enable","readDataFromParent","location","href","setupCustomCalcMethods","calcMode","calcFunc","iFrameResizer","constructor","stringify","keys","forEach","depricate","targetOrigin","heightCalculationMethod","widthCalculationMethod","readData","readDataFromPage","setBodyStyle","attr","value","chkCSS","setMargin","clearFix","createElement","style","clear","display","appendChild","injectClearFixIntoBodyElement","checkHeightMode","checkWidthMode","parentIFrame","startEventListeners","manageEventListeners","disconnect","clearInterval","sendMsg","close","getId","getPageInfo","callback","hash","resetIFrame","scrollTo","x","y","scrollToOffset","sendMessage","setHeightCalculationMethod","setWidthCalculationMethod","setTargetOrigin","size","customHeight","customWidth","getElementPosition","elPosition","getBoundingClientRect","pagePosition","pageXOffset","scrollLeft","pageYOffset","scrollTop","parseInt","left","top","jumpPosition","hashData","decodeURIComponent","getElementById","getElementsByName","checkLocationHash","bindAnchors","Array","call","querySelectorAll","getAttribute","e","preventDefault","setupInPageLinks","key","splitName","name","manageTriggerEvent","listener","add","eventName","handleEvent","eventType","remove","eventNames","map","method","checkCalcMode","calcModeDefault","modes","type","forceIntervalTimer","MutationObserver","WebKitMutationObserver","initInterval","addImageLoadListners","mutation","addImageLoadListener","element","complete","src","imageLoaded","imageError","elements","push","attributeName","removeImageLoadListener","splice","removeFromArray","imageEventTriggered","typeDesc","mutationObserved","mutations","observer","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","setupBodyMutationObserver","setupMutationObserver","setInterval","abs","prop","retVal","defaultView","side","elementsLength","elVal","maxVal","Side","timer","i","chkEventThottle","dimention","tag","triggerEvent","triggerEventDesc","currentHeight","currentWidth","checkTolarance","a","b","lockTrigger","resetPage","hcm","postMessage","readyState"],"mappings":"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","file":"iframeResizer.contentWindow.min.js"}
1
+ {"version":3,"sources":["iframeResizer.contentWindow.js"],"names":["undefined","window","autoResize","base","bodyBackground","bodyMargin","bodyMarginStr","bodyObserver","bodyPadding","calculateWidth","doubleEventList","resize","click","eventCancelTimer","firstRun","height","heightCalcModeDefault","heightCalcMode","initLock","initMsg","inPageLinks","interval","intervalTimer","logging","msgID","msgIdLen","length","myID","resetRequiredMethods","max","min","bodyScroll","documentElementScroll","resizeFrom","sendPermit","target","parent","targetOriginDefault","tolerance","triggerLocked","triggerLockedTimer","throttledTimer","width","widthCalcModeDefault","widthCalcMode","win","onMessage","warn","onReady","onPageInfo","customCalcMethods","document","documentElement","offsetHeight","body","scrollWidth","eventHandlersByName","passiveSupported","options","Object","create","passive","get","addEventListener","noop","removeEventListener","error","func","context","args","result","timeout","previous","getNow","Date","now","getTime","getHeight","bodyOffset","getComputedStyle","offset","scrollHeight","custom","documentElementOffset","Math","apply","getAllMeasurements","grow","lowestElement","getMaxElement","getAllElements","taggedElement","getTaggedElements","getWidth","offsetWidth","scroll","rightMostElement","sizeIFrameThrottled","sizeIFrame","remaining","this","arguments","clearTimeout","setTimeout","later","event","processRequestFromParent","init","data","source","reset","log","triggerReset","sendSize","moveToAnchor","findTarget","getData","inPageLink","pageInfo","msgBody","JSON","parse","message","getMessageType","split","substr","indexOf","isInitMsg","true","false","callFromParent","messageType","module","exports","jQuery","prototype","chkLateLoaded","el","evt","capitalizeFirstLetter","string","charAt","toUpperCase","slice","formatLogMsg","msg","console","strBool","str","Number","enable","readDataFromParent","location","href","setupCustomCalcMethods","calcMode","calcFunc","iFrameResizer","constructor","stringify","keys","forEach","depricate","targetOrigin","heightCalculationMethod","widthCalculationMethod","readData","readDataFromPage","setBodyStyle","attr","value","chkCSS","setMargin","clearFix","createElement","style","clear","display","appendChild","injectClearFixIntoBodyElement","checkHeightMode","checkWidthMode","parentIFrame","startEventListeners","manageEventListeners","disconnect","clearInterval","sendMsg","close","getId","getPageInfo","callback","hash","resetIFrame","scrollTo","x","y","scrollToOffset","sendMessage","setHeightCalculationMethod","setWidthCalculationMethod","setTargetOrigin","size","customHeight","customWidth","getElementPosition","elPosition","getBoundingClientRect","pagePosition","pageXOffset","scrollLeft","pageYOffset","scrollTop","parseInt","left","top","jumpPosition","hashData","decodeURIComponent","getElementById","getElementsByName","checkLocationHash","bindAnchors","Array","call","querySelectorAll","getAttribute","e","preventDefault","setupInPageLinks","key","splitName","name","manageTriggerEvent","listener","add","eventName","handleEvent","eventType","remove","eventNames","map","method","checkCalcMode","calcModeDefault","modes","type","forceIntervalTimer","MutationObserver","WebKitMutationObserver","initInterval","addImageLoadListners","mutation","addImageLoadListener","element","complete","src","imageLoaded","imageError","elements","push","attributeName","removeImageLoadListener","splice","removeFromArray","imageEventTriggered","typeDesc","mutationObserved","mutations","observer","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","setupBodyMutationObserver","setupMutationObserver","setInterval","abs","prop","retVal","defaultView","side","elementsLength","elVal","maxVal","Side","timer","i","chkEventThottle","dimention","tag","triggerEvent","triggerEventDesc","currentHeight","currentWidth","checkTolarance","a","b","lockTrigger","resetPage","hcm","postMessage","readyState"],"mappings":"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","file":"iframeResizer.contentWindow.min.js"}
assets/vendor/iframe-resizer/{iframeResizer.contentWindow.min.js → js/iframeResizer.contentWindow.min.js} RENAMED
@@ -1,4 +1,4 @@
1
- /*! iFrame Resizer (iframeSizer.contentWindow.min.js) - v4.2.10 - 2020-02-04
2
  * Desc: Include this file in any page being loaded into an iframe
3
  * to force the iframe to resize to the content size.
4
  * Requires: iframeResizer.min.js on host page.
1
+ /*! iFrame Resizer (iframeSizer.contentWindow.min.js) - v4.2.11 - 2020-06-02
2
  * Desc: Include this file in any page being loaded into an iframe
3
  * to force the iframe to resize to the content size.
4
  * Requires: iframeResizer.min.js on host page.
assets/vendor/iframe-resizer/js/iframeResizer.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["iframeResizer.js"],"names":["undefined","window","$","count","logEnabled","hiddenCheckEnabled","msgHeaderLen","length","msgId","msgIdLen","pagePosition","requestAnimationFrame","resetRequiredMethods","max","scroll","bodyScroll","documentElementScroll","settings","timer","defaults","autoResize","bodyBackground","bodyMargin","bodyMarginV1","bodyPadding","checkOrigin","inPageLinks","enablePublicMethods","heightCalculationMethod","id","interval","log","maxHeight","Infinity","maxWidth","minHeight","minWidth","resizeFrom","scrolling","sizeHeight","sizeWidth","warningTimeout","tolerance","widthCalculationMethod","onClose","onClosed","onInit","onMessage","warn","onResized","onScroll","frameTimer","jQuery","fn","iFrameResize","options","this","filter","each","index","element","setupIFrame","end","info","define","amd","factory","module","exports","getMutationObserver","MutationObserver","WebKitMutationObserver","MozMutationObserver","addEventListener","el","evt","func","removeEventListener","formatLogHeader","iframeId","retStr","top","self","parentIFrame","getId","getMyID","isLogEnabled","msg","output","type","enabled","console","iFrameListener","event","resizeIFrame","ensureInRange","syncResize","setSize","messageData","setPagePosition","on","Dimension","Number","min","dimension","toLowerCase","size","getMsgBody","offset","substr","indexOf","sendPageInfoToIframe","iframe","time","frameId","setTimeout","debounceFrameEvents","trigger","bodyPosition","document","body","getBoundingClientRect","iFramePosition","JSON","stringify","iframeHeight","height","iframeWidth","width","clientHeight","Math","documentElement","innerHeight","clientWidth","innerWidth","offsetTop","parseInt","offsetLeft","left","scrollTop","pageYOffset","scrollLeft","pageXOffset","documentHeight","documentWidth","windowHeight","windowWidth","getPageInfo","getElementPosition","target","getPagePosition","x","floor","y","scrollRequestFromChild","addOffset","newPosition","scrollTo","unsetPagePosition","funcName","val","chkEvent","retBool","retCode","data","compStyle","createOutgoingMsg","iFrameReadyMsgReceived","split","getComputedStyle","boxSizing","paddingTop","bot","paddingBottom","getPaddingEnds","borderTopWidth","borderBottomWidth","getBorderEnds","loaded","true","false","remoteHost","origin","constructor","Array","i","checkList","Error","isMessageFromIFrame","firstRun","closeIFrame","msgBody","message","parse","forwardMsgFromIFrame","setListener","sendPageInfo","stop","forEach","stopPageInfo","startPageInfoMonitor","location","jumpPosition","hash","hashData","decodeURIComponent","getElementById","getElementsByName","moveToAnchor","findTarget","resetIFrame","actionMsg","retVal","TypeError","removeIframeListeners","parentNode","removeChild","error","chkZero","checkIFrames","Object","keys","key","settingId","chkDimension","style","offsetParent","checkIFrame","mutationObserved","mutations","debouce","querySelector","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","createMutationObserver","fixHiddenIFrames","processDimension","setDimension","doNotSync","jasmine","calleeMsg","noResponseWarning","errorShown","contentWindow","targetOrigin","postMessage","msgTimeout","depricate","splitName","name","charAt","toUpperCase","slice","src","addStyle","chkMinMax","join","checkOptions","option","prototype","hasOwnProperty","call","copyOptions","match","getTargetOrigin","overflow","setScrolling","mutation","removedNodes","removedNode","resetRequertMethod","checkReset","iFrameResizer","close","bind","removeListeners","resize","anchor","sendMessage","tabVisible","visibilityState","sendTriggerMsg","eventName","isIFrameResizeEnabled","setupEventListeners","resizeIFrames","init","tagName","chkType","iFrames","push","vendors","setupRequestAnimationFrame","warnDeprecatedOptions","querySelectorAll"],"mappings":"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","file":"iframeResizer.min.js"}
assets/vendor/iframe-resizer/{iframeResizer.min.js → js/iframeResizer.min.js} RENAMED
@@ -1,4 +1,4 @@
1
- /*! iFrame Resizer (iframeSizer.min.js ) - v4.2.10 - 2020-02-04
2
  * Desc: Force cross domain iframes to size to content.
3
  * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
4
  * Copyright: (c) 2020 David J. Bradshaw - dave@bradshaw.net
1
+ /*! iFrame Resizer (iframeSizer.min.js ) - v4.2.11 - 2020-06-02
2
  * Desc: Force cross domain iframes to size to content.
3
  * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
4
  * Copyright: (c) 2020 David J. Bradshaw - dave@bradshaw.net
assets/vendor/{isotope → isotope-layout/dist}/isotope.pkgd.min.js RENAMED
File without changes
assets/vendor/isotope/isotope.pkgd.js DELETED
@@ -1,3563 +0,0 @@
1
- /*!
2
- * Isotope PACKAGED v3.0.6
3
- *
4
- * Licensed GPLv3 for open source use
5
- * or Isotope Commercial License for commercial use
6
- *
7
- * https://isotope.metafizzy.co
8
- * Copyright 2010-2018 Metafizzy
9
- */
10
-
11
- /**
12
- * Bridget makes jQuery widgets
13
- * v2.0.1
14
- * MIT license
15
- */
16
-
17
- /* jshint browser: true, strict: true, undef: true, unused: true */
18
-
19
- ( function( window, factory ) {
20
- // universal module definition
21
- /*jshint strict: false */ /* globals define, module, require */
22
- if ( typeof define == 'function' && define.amd ) {
23
- // AMD
24
- define( 'jquery-bridget/jquery-bridget',[ 'jquery' ], function( jQuery ) {
25
- return factory( window, jQuery );
26
- });
27
- } else if ( typeof module == 'object' && module.exports ) {
28
- // CommonJS
29
- module.exports = factory(
30
- window,
31
- require('jquery')
32
- );
33
- } else {
34
- // browser global
35
- window.jQueryBridget = factory(
36
- window,
37
- window.jQuery
38
- );
39
- }
40
-
41
- }( window, function factory( window, jQuery ) {
42
- 'use strict';
43
-
44
- // ----- utils ----- //
45
-
46
- var arraySlice = Array.prototype.slice;
47
-
48
- // helper function for logging errors
49
- // $.error breaks jQuery chaining
50
- var console = window.console;
51
- var logError = typeof console == 'undefined' ? function() {} :
52
- function( message ) {
53
- console.error( message );
54
- };
55
-
56
- // ----- jQueryBridget ----- //
57
-
58
- function jQueryBridget( namespace, PluginClass, $ ) {
59
- $ = $ || jQuery || window.jQuery;
60
- if ( !$ ) {
61
- return;
62
- }
63
-
64
- // add option method -> $().plugin('option', {...})
65
- if ( !PluginClass.prototype.option ) {
66
- // option setter
67
- PluginClass.prototype.option = function( opts ) {
68
- // bail out if not an object
69
- if ( !$.isPlainObject( opts ) ){
70
- return;
71
- }
72
- this.options = $.extend( true, this.options, opts );
73
- };
74
- }
75
-
76
- // make jQuery plugin
77
- $.fn[ namespace ] = function( arg0 /*, arg1 */ ) {
78
- if ( typeof arg0 == 'string' ) {
79
- // method call $().plugin( 'methodName', { options } )
80
- // shift arguments by 1
81
- var args = arraySlice.call( arguments, 1 );
82
- return methodCall( this, arg0, args );
83
- }
84
- // just $().plugin({ options })
85
- plainCall( this, arg0 );
86
- return this;
87
- };
88
-
89
- // $().plugin('methodName')
90
- function methodCall( $elems, methodName, args ) {
91
- var returnValue;
92
- var pluginMethodStr = '$().' + namespace + '("' + methodName + '")';
93
-
94
- $elems.each( function( i, elem ) {
95
- // get instance
96
- var instance = $.data( elem, namespace );
97
- if ( !instance ) {
98
- logError( namespace + ' not initialized. Cannot call methods, i.e. ' +
99
- pluginMethodStr );
100
- return;
101
- }
102
-
103
- var method = instance[ methodName ];
104
- if ( !method || methodName.charAt(0) == '_' ) {
105
- logError( pluginMethodStr + ' is not a valid method' );
106
- return;
107
- }
108
-
109
- // apply method, get return value
110
- var value = method.apply( instance, args );
111
- // set return value if value is returned, use only first value
112
- returnValue = returnValue === undefined ? value : returnValue;
113
- });
114
-
115
- return returnValue !== undefined ? returnValue : $elems;
116
- }
117
-
118
- function plainCall( $elems, options ) {
119
- $elems.each( function( i, elem ) {
120
- var instance = $.data( elem, namespace );
121
- if ( instance ) {
122
- // set options & init
123
- instance.option( options );
124
- instance._init();
125
- } else {
126
- // initialize new instance
127
- instance = new PluginClass( elem, options );
128
- $.data( elem, namespace, instance );
129
- }
130
- });
131
- }
132
-
133
- updateJQuery( $ );
134
-
135
- }
136
-
137
- // ----- updateJQuery ----- //
138
-
139
- // set $.bridget for v1 backwards compatibility
140
- function updateJQuery( $ ) {
141
- if ( !$ || ( $ && $.bridget ) ) {
142
- return;
143
- }
144
- $.bridget = jQueryBridget;
145
- }
146
-
147
- updateJQuery( jQuery || window.jQuery );
148
-
149
- // ----- ----- //
150
-
151
- return jQueryBridget;
152
-
153
- }));
154
-
155
- /**
156
- * EvEmitter v1.1.0
157
- * Lil' event emitter
158
- * MIT License
159
- */
160
-
161
- /* jshint unused: true, undef: true, strict: true */
162
-
163
- ( function( global, factory ) {
164
- // universal module definition
165
- /* jshint strict: false */ /* globals define, module, window */
166
- if ( typeof define == 'function' && define.amd ) {
167
- // AMD - RequireJS
168
- define( 'ev-emitter/ev-emitter',factory );
169
- } else if ( typeof module == 'object' && module.exports ) {
170
- // CommonJS - Browserify, Webpack
171
- module.exports = factory();
172
- } else {
173
- // Browser globals
174
- global.EvEmitter = factory();
175
- }
176
-
177
- }( typeof window != 'undefined' ? window : this, function() {
178
-
179
-
180
-
181
- function EvEmitter() {}
182
-
183
- var proto = EvEmitter.prototype;
184
-
185
- proto.on = function( eventName, listener ) {
186
- if ( !eventName || !listener ) {
187
- return;
188
- }
189
- // set events hash
190
- var events = this._events = this._events || {};
191
- // set listeners array
192
- var listeners = events[ eventName ] = events[ eventName ] || [];
193
- // only add once
194
- if ( listeners.indexOf( listener ) == -1 ) {
195
- listeners.push( listener );
196
- }
197
-
198
- return this;
199
- };
200
-
201
- proto.once = function( eventName, listener ) {
202
- if ( !eventName || !listener ) {
203
- return;
204
- }
205
- // add event
206
- this.on( eventName, listener );
207
- // set once flag
208
- // set onceEvents hash
209
- var onceEvents = this._onceEvents = this._onceEvents || {};
210
- // set onceListeners object
211
- var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
212
- // set flag
213
- onceListeners[ listener ] = true;
214
-
215
- return this;
216
- };
217
-
218
- proto.off = function( eventName, listener ) {
219
- var listeners = this._events && this._events[ eventName ];
220
- if ( !listeners || !listeners.length ) {
221
- return;
222
- }
223
- var index = listeners.indexOf( listener );
224
- if ( index != -1 ) {
225
- listeners.splice( index, 1 );
226
- }
227
-
228
- return this;
229
- };
230
-
231
- proto.emitEvent = function( eventName, args ) {
232
- var listeners = this._events && this._events[ eventName ];
233
- if ( !listeners || !listeners.length ) {
234
- return;
235
- }
236
- // copy over to avoid interference if .off() in listener
237
- listeners = listeners.slice(0);
238
- args = args || [];
239
- // once stuff
240
- var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
241
-
242
- for ( var i=0; i < listeners.length; i++ ) {
243
- var listener = listeners[i]
244
- var isOnce = onceListeners && onceListeners[ listener ];
245
- if ( isOnce ) {
246
- // remove listener
247
- // remove before trigger to prevent recursion
248
- this.off( eventName, listener );
249
- // unset once flag
250
- delete onceListeners[ listener ];
251
- }
252
- // trigger listener
253
- listener.apply( this, args );
254
- }
255
-
256
- return this;
257
- };
258
-
259
- proto.allOff = function() {
260
- delete this._events;
261
- delete this._onceEvents;
262
- };
263
-
264
- return EvEmitter;
265
-
266
- }));
267
-
268
- /*!
269
- * getSize v2.0.3
270
- * measure size of elements
271
- * MIT license
272
- */
273
-
274
- /* jshint browser: true, strict: true, undef: true, unused: true */
275
- /* globals console: false */
276
-
277
- ( function( window, factory ) {
278
- /* jshint strict: false */ /* globals define, module */
279
- if ( typeof define == 'function' && define.amd ) {
280
- // AMD
281
- define( 'get-size/get-size',factory );
282
- } else if ( typeof module == 'object' && module.exports ) {
283
- // CommonJS
284
- module.exports = factory();
285
- } else {
286
- // browser global
287
- window.getSize = factory();
288
- }
289
-
290
- })( window, function factory() {
291
- 'use strict';
292
-
293
- // -------------------------- helpers -------------------------- //
294
-
295
- // get a number from a string, not a percentage
296
- function getStyleSize( value ) {
297
- var num = parseFloat( value );
298
- // not a percent like '100%', and a number
299
- var isValid = value.indexOf('%') == -1 && !isNaN( num );
300
- return isValid && num;
301
- }
302
-
303
- function noop() {}
304
-
305
- var logError = typeof console == 'undefined' ? noop :
306
- function( message ) {
307
- console.error( message );
308
- };
309
-
310
- // -------------------------- measurements -------------------------- //
311
-
312
- var measurements = [
313
- 'paddingLeft',
314
- 'paddingRight',
315
- 'paddingTop',
316
- 'paddingBottom',
317
- 'marginLeft',
318
- 'marginRight',
319
- 'marginTop',
320
- 'marginBottom',
321
- 'borderLeftWidth',
322
- 'borderRightWidth',
323
- 'borderTopWidth',
324
- 'borderBottomWidth'
325
- ];
326
-
327
- var measurementsLength = measurements.length;
328
-
329
- function getZeroSize() {
330
- var size = {
331
- width: 0,
332
- height: 0,
333
- innerWidth: 0,
334
- innerHeight: 0,
335
- outerWidth: 0,
336
- outerHeight: 0
337
- };
338
- for ( var i=0; i < measurementsLength; i++ ) {
339
- var measurement = measurements[i];
340
- size[ measurement ] = 0;
341
- }
342
- return size;
343
- }
344
-
345
- // -------------------------- getStyle -------------------------- //
346
-
347
- /**
348
- * getStyle, get style of element, check for Firefox bug
349
- * https://bugzilla.mozilla.org/show_bug.cgi?id=548397
350
- */
351
- function getStyle( elem ) {
352
- var style = getComputedStyle( elem );
353
- if ( !style ) {
354
- logError( 'Style returned ' + style +
355
- '. Are you running this code in a hidden iframe on Firefox? ' +
356
- 'See https://bit.ly/getsizebug1' );
357
- }
358
- return style;
359
- }
360
-
361
- // -------------------------- setup -------------------------- //
362
-
363
- var isSetup = false;
364
-
365
- var isBoxSizeOuter;
366
-
367
- /**
368
- * setup
369
- * check isBoxSizerOuter
370
- * do on first getSize() rather than on page load for Firefox bug
371
- */
372
- function setup() {
373
- // setup once
374
- if ( isSetup ) {
375
- return;
376
- }
377
- isSetup = true;
378
-
379
- // -------------------------- box sizing -------------------------- //
380
-
381
- /**
382
- * Chrome & Safari measure the outer-width on style.width on border-box elems
383
- * IE11 & Firefox<29 measures the inner-width
384
- */
385
- var div = document.createElement('div');
386
- div.style.width = '200px';
387
- div.style.padding = '1px 2px 3px 4px';
388
- div.style.borderStyle = 'solid';
389
- div.style.borderWidth = '1px 2px 3px 4px';
390
- div.style.boxSizing = 'border-box';
391
-
392
- var body = document.body || document.documentElement;
393
- body.appendChild( div );
394
- var style = getStyle( div );
395
- // round value for browser zoom. desandro/masonry#928
396
- isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
397
- getSize.isBoxSizeOuter = isBoxSizeOuter;
398
-
399
- body.removeChild( div );
400
- }
401
-
402
- // -------------------------- getSize -------------------------- //
403
-
404
- function getSize( elem ) {
405
- setup();
406
-
407
- // use querySeletor if elem is string
408
- if ( typeof elem == 'string' ) {
409
- elem = document.querySelector( elem );
410
- }
411
-
412
- // do not proceed on non-objects
413
- if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
414
- return;
415
- }
416
-
417
- var style = getStyle( elem );
418
-
419
- // if hidden, everything is 0
420
- if ( style.display == 'none' ) {
421
- return getZeroSize();
422
- }
423
-
424
- var size = {};
425
- size.width = elem.offsetWidth;
426
- size.height = elem.offsetHeight;
427
-
428
- var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
429
-
430
- // get all measurements
431
- for ( var i=0; i < measurementsLength; i++ ) {
432
- var measurement = measurements[i];
433
- var value = style[ measurement ];
434
- var num = parseFloat( value );
435
- // any 'auto', 'medium' value will be 0
436
- size[ measurement ] = !isNaN( num ) ? num : 0;
437
- }
438
-
439
- var paddingWidth = size.paddingLeft + size.paddingRight;
440
- var paddingHeight = size.paddingTop + size.paddingBottom;
441
- var marginWidth = size.marginLeft + size.marginRight;
442
- var marginHeight = size.marginTop + size.marginBottom;
443
- var borderWidth = size.borderLeftWidth + size.borderRightWidth;
444
- var borderHeight = size.borderTopWidth + size.borderBottomWidth;
445
-
446
- var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
447
-
448
- // overwrite width and height if we can get it from style
449
- var styleWidth = getStyleSize( style.width );
450
- if ( styleWidth !== false ) {
451
- size.width = styleWidth +
452
- // add padding and border unless it's already including it
453
- ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
454
- }
455
-
456
- var styleHeight = getStyleSize( style.height );
457
- if ( styleHeight !== false ) {
458
- size.height = styleHeight +
459
- // add padding and border unless it's already including it
460
- ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
461
- }
462
-
463
- size.innerWidth = size.width - ( paddingWidth + borderWidth );
464
- size.innerHeight = size.height - ( paddingHeight + borderHeight );
465
-
466
- size.outerWidth = size.width + marginWidth;
467
- size.outerHeight = size.height + marginHeight;
468
-
469
- return size;
470
- }
471
-
472
- return getSize;
473
-
474
- });
475
-
476
- /**
477
- * matchesSelector v2.0.2
478
- * matchesSelector( element, '.selector' )
479
- * MIT license
480
- */
481
-
482
- /*jshint browser: true, strict: true, undef: true, unused: true */
483
-
484
- ( function( window, factory ) {
485
- /*global define: false, module: false */
486
- 'use strict';
487
- // universal module definition
488
- if ( typeof define == 'function' && define.amd ) {
489
- // AMD
490
- define( 'desandro-matches-selector/matches-selector',factory );
491
- } else if ( typeof module == 'object' && module.exports ) {
492
- // CommonJS
493
- module.exports = factory();
494
- } else {
495
- // browser global
496
- window.matchesSelector = factory();
497
- }
498
-
499
- }( window, function factory() {
500
- 'use strict';
501
-
502
- var matchesMethod = ( function() {
503
- var ElemProto = window.Element.prototype;
504
- // check for the standard method name first
505
- if ( ElemProto.matches ) {
506
- return 'matches';
507
- }
508
- // check un-prefixed
509
- if ( ElemProto.matchesSelector ) {
510
- return 'matchesSelector';
511
- }
512
- // check vendor prefixes
513
- var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
514
-
515
- for ( var i=0; i < prefixes.length; i++ ) {
516
- var prefix = prefixes[i];
517
- var method = prefix + 'MatchesSelector';
518
- if ( ElemProto[ method ] ) {
519
- return method;
520
- }
521
- }
522
- })();
523
-
524
- return function matchesSelector( elem, selector ) {
525
- return elem[ matchesMethod ]( selector );
526
- };
527
-
528
- }));
529
-
530
- /**
531
- * Fizzy UI utils v2.0.7
532
- * MIT license
533
- */
534
-
535
- /*jshint browser: true, undef: true, unused: true, strict: true */
536
-
537
- ( function( window, factory ) {
538
- // universal module definition
539
- /*jshint strict: false */ /*globals define, module, require */
540
-
541
- if ( typeof define == 'function' && define.amd ) {
542
- // AMD
543
- define( 'fizzy-ui-utils/utils',[
544
- 'desandro-matches-selector/matches-selector'
545
- ], function( matchesSelector ) {
546
- return factory( window, matchesSelector );
547
- });
548
- } else if ( typeof module == 'object' && module.exports ) {
549
- // CommonJS
550
- module.exports = factory(
551
- window,
552
- require('desandro-matches-selector')
553
- );
554
- } else {
555
- // browser global
556
- window.fizzyUIUtils = factory(
557
- window,
558
- window.matchesSelector
559
- );
560
- }
561
-
562
- }( window, function factory( window, matchesSelector ) {
563
-
564
-
565
-
566
- var utils = {};
567
-
568
- // ----- extend ----- //
569
-
570
- // extends objects
571
- utils.extend = function( a, b ) {
572
- for ( var prop in b ) {
573
- a[ prop ] = b[ prop ];
574
- }
575
- return a;
576
- };
577
-
578
- // ----- modulo ----- //
579
-
580
- utils.modulo = function( num, div ) {
581
- return ( ( num % div ) + div ) % div;
582
- };
583
-
584
- // ----- makeArray ----- //
585
-
586
- var arraySlice = Array.prototype.slice;
587
-
588
- // turn element or nodeList into an array
589
- utils.makeArray = function( obj ) {
590
- if ( Array.isArray( obj ) ) {
591
- // use object if already an array
592
- return obj;
593
- }
594
- // return empty array if undefined or null. #6
595
- if ( obj === null || obj === undefined ) {
596
- return [];
597
- }
598
-
599
- var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
600
- if ( isArrayLike ) {
601
- // convert nodeList to array
602
- return arraySlice.call( obj );
603
- }
604
-
605
- // array of single index
606
- return [ obj ];
607
- };
608
-
609
- // ----- removeFrom ----- //
610
-
611
- utils.removeFrom = function( ary, obj ) {
612
- var index = ary.indexOf( obj );
613
- if ( index != -1 ) {
614
- ary.splice( index, 1 );
615
- }
616
- };
617
-
618
- // ----- getParent ----- //
619
-
620
- utils.getParent = function( elem, selector ) {
621
- while ( elem.parentNode && elem != document.body ) {
622
- elem = elem.parentNode;
623
- if ( matchesSelector( elem, selector ) ) {
624
- return elem;
625
- }
626
- }
627
- };
628
-
629
- // ----- getQueryElement ----- //
630
-
631
- // use element as selector string
632
- utils.getQueryElement = function( elem ) {
633
- if ( typeof elem == 'string' ) {
634
- return document.querySelector( elem );
635
- }
636
- return elem;
637
- };
638
-
639
- // ----- handleEvent ----- //
640
-
641
- // enable .ontype to trigger from .addEventListener( elem, 'type' )
642
- utils.handleEvent = function( event ) {
643
- var method = 'on' + event.type;
644
- if ( this[ method ] ) {
645
- this[ method ]( event );
646
- }
647
- };
648
-
649
- // ----- filterFindElements ----- //
650
-
651
- utils.filterFindElements = function( elems, selector ) {
652
- // make array of elems
653
- elems = utils.makeArray( elems );
654
- var ffElems = [];
655
-
656
- elems.forEach( function( elem ) {
657
- // check that elem is an actual element
658
- if ( !( elem instanceof HTMLElement ) ) {
659
- return;
660
- }
661
- // add elem if no selector
662
- if ( !selector ) {
663
- ffElems.push( elem );
664
- return;
665
- }
666
- // filter & find items if we have a selector
667
- // filter
668
- if ( matchesSelector( elem, selector ) ) {
669
- ffElems.push( elem );
670
- }
671
- // find children
672
- var childElems = elem.querySelectorAll( selector );
673
- // concat childElems to filterFound array
674
- for ( var i=0; i < childElems.length; i++ ) {
675
- ffElems.push( childElems[i] );
676
- }
677
- });
678
-
679
- return ffElems;
680
- };
681
-
682
- // ----- debounceMethod ----- //
683
-
684
- utils.debounceMethod = function( _class, methodName, threshold ) {
685
- threshold = threshold || 100;
686
- // original method
687
- var method = _class.prototype[ methodName ];
688
- var timeoutName = methodName + 'Timeout';
689
-
690
- _class.prototype[ methodName ] = function() {
691
- var timeout = this[ timeoutName ];
692
- clearTimeout( timeout );
693
-
694
- var args = arguments;
695
- var _this = this;
696
- this[ timeoutName ] = setTimeout( function() {
697
- method.apply( _this, args );
698
- delete _this[ timeoutName ];
699
- }, threshold );
700
- };
701
- };
702
-
703
- // ----- docReady ----- //
704
-
705
- utils.docReady = function( callback ) {
706
- var readyState = document.readyState;
707
- if ( readyState == 'complete' || readyState == 'interactive' ) {
708
- // do async to allow for other scripts to run. metafizzy/flickity#441
709
- setTimeout( callback );
710
- } else {
711
- document.addEventListener( 'DOMContentLoaded', callback );
712
- }
713
- };
714
-
715
- // ----- htmlInit ----- //
716
-
717
- // http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
718
- utils.toDashed = function( str ) {
719
- return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
720
- return $1 + '-' + $2;
721
- }).toLowerCase();
722
- };
723
-
724
- var console = window.console;
725
- /**
726
- * allow user to initialize classes via [data-namespace] or .js-namespace class
727
- * htmlInit( Widget, 'widgetName' )
728
- * options are parsed from data-namespace-options
729
- */
730
- utils.htmlInit = function( WidgetClass, namespace ) {
731
- utils.docReady( function() {
732
- var dashedNamespace = utils.toDashed( namespace );
733
- var dataAttr = 'data-' + dashedNamespace;
734
- var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
735
- var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
736
- var elems = utils.makeArray( dataAttrElems )
737
- .concat( utils.makeArray( jsDashElems ) );
738
- var dataOptionsAttr = dataAttr + '-options';
739
- var jQuery = window.jQuery;
740
-
741
- elems.forEach( function( elem ) {
742
- var attr = elem.getAttribute( dataAttr ) ||
743
- elem.getAttribute( dataOptionsAttr );
744
- var options;
745
- try {
746
- options = attr && JSON.parse( attr );
747
- } catch ( error ) {
748
- // log error, do not initialize
749
- if ( console ) {
750
- console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
751
- ': ' + error );
752
- }
753
- return;
754
- }
755
- // initialize
756
- var instance = new WidgetClass( elem, options );
757
- // make available via $().data('namespace')
758
- if ( jQuery ) {
759
- jQuery.data( elem, namespace, instance );
760
- }
761
- });
762
-
763
- });
764
- };
765
-
766
- // ----- ----- //
767
-
768
- return utils;
769
-
770
- }));
771
-
772
- /**
773
- * Outlayer Item
774
- */
775
-
776
- ( function( window, factory ) {
777
- // universal module definition
778
- /* jshint strict: false */ /* globals define, module, require */
779
- if ( typeof define == 'function' && define.amd ) {
780
- // AMD - RequireJS
781
- define( 'outlayer/item',[
782
- 'ev-emitter/ev-emitter',
783
- 'get-size/get-size'
784
- ],
785
- factory
786
- );
787
- } else if ( typeof module == 'object' && module.exports ) {
788
- // CommonJS - Browserify, Webpack
789
- module.exports = factory(
790
- require('ev-emitter'),
791
- require('get-size')
792
- );
793
- } else {
794
- // browser global
795
- window.Outlayer = {};
796
- window.Outlayer.Item = factory(
797
- window.EvEmitter,
798
- window.getSize
799
- );
800
- }
801
-
802
- }( window, function factory( EvEmitter, getSize ) {
803
- 'use strict';
804
-
805
- // ----- helpers ----- //
806
-
807
- function isEmptyObj( obj ) {
808
- for ( var prop in obj ) {
809
- return false;
810
- }
811
- prop = null;
812
- return true;
813
- }
814
-
815
- // -------------------------- CSS3 support -------------------------- //
816
-
817
-
818
- var docElemStyle = document.documentElement.style;
819
-
820
- var transitionProperty = typeof docElemStyle.transition == 'string' ?
821
- 'transition' : 'WebkitTransition';
822
- var transformProperty = typeof docElemStyle.transform == 'string' ?
823
- 'transform' : 'WebkitTransform';
824
-
825
- var transitionEndEvent = {
826
- WebkitTransition: 'webkitTransitionEnd',
827
- transition: 'transitionend'
828
- }[ transitionProperty ];
829
-
830
- // cache all vendor properties that could have vendor prefix
831
- var vendorProperties = {
832
- transform: transformProperty,
833
- transition: transitionProperty,
834
- transitionDuration: transitionProperty + 'Duration',
835
- transitionProperty: transitionProperty + 'Property',
836
- transitionDelay: transitionProperty + 'Delay'
837
- };
838
-
839
- // -------------------------- Item -------------------------- //
840
-
841
- function Item( element, layout ) {
842
- if ( !element ) {
843
- return;
844
- }
845
-
846
- this.element = element;
847
- // parent layout class, i.e. Masonry, Isotope, or Packery
848
- this.layout = layout;
849
- this.position = {
850
- x: 0,
851
- y: 0
852
- };
853
-
854
- this._create();
855
- }
856
-
857
- // inherit EvEmitter
858
- var proto = Item.prototype = Object.create( EvEmitter.prototype );
859
- proto.constructor = Item;
860
-
861
- proto._create = function() {
862
- // transition objects
863
- this._transn = {
864
- ingProperties: {},
865
- clean: {},
866
- onEnd: {}
867
- };
868
-
869
- this.css({
870
- position: 'absolute'
871
- });
872
- };
873
-
874
- // trigger specified handler for event type
875
- proto.handleEvent = function( event ) {
876
- var method = 'on' + event.type;
877
- if ( this[ method ] ) {
878
- this[ method ]( event );
879
- }
880
- };
881
-
882
- proto.getSize = function() {
883
- this.size = getSize( this.element );
884
- };
885
-
886
- /**
887
- * apply CSS styles to element
888
- * @param {Object} style
889
- */
890
- proto.css = function( style ) {
891
- var elemStyle = this.element.style;
892
-
893
- for ( var prop in style ) {
894
- // use vendor property if available
895
- var supportedProp = vendorProperties[ prop ] || prop;
896
- elemStyle[ supportedProp ] = style[ prop ];
897
- }
898
- };
899
-
900
- // measure position, and sets it
901
- proto.getPosition = function() {
902
- var style = getComputedStyle( this.element );
903
- var isOriginLeft = this.layout._getOption('originLeft');
904
- var isOriginTop = this.layout._getOption('originTop');
905
- var xValue = style[ isOriginLeft ? 'left' : 'right' ];
906
- var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
907
- var x = parseFloat( xValue );
908
- var y = parseFloat( yValue );
909
- // convert percent to pixels
910
- var layoutSize = this.layout.size;
911
- if ( xValue.indexOf('%') != -1 ) {
912
- x = ( x / 100 ) * layoutSize.width;
913
- }
914
- if ( yValue.indexOf('%') != -1 ) {
915
- y = ( y / 100 ) * layoutSize.height;
916
- }
917
- // clean up 'auto' or other non-integer values
918
- x = isNaN( x ) ? 0 : x;
919
- y = isNaN( y ) ? 0 : y;
920
- // remove padding from measurement
921
- x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
922
- y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
923
-
924
- this.position.x = x;
925
- this.position.y = y;
926
- };
927
-
928
- // set settled position, apply padding
929
- proto.layoutPosition = function() {
930
- var layoutSize = this.layout.size;
931
- var style = {};
932
- var isOriginLeft = this.layout._getOption('originLeft');
933
- var isOriginTop = this.layout._getOption('originTop');
934
-
935
- // x
936
- var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
937
- var xProperty = isOriginLeft ? 'left' : 'right';
938
- var xResetProperty = isOriginLeft ? 'right' : 'left';
939
-
940
- var x = this.position.x + layoutSize[ xPadding ];
941
- // set in percentage or pixels
942
- style[ xProperty ] = this.getXValue( x );
943
- // reset other property
944
- style[ xResetProperty ] = '';
945
-
946
- // y
947
- var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
948
- var yProperty = isOriginTop ? 'top' : 'bottom';
949
- var yResetProperty = isOriginTop ? 'bottom' : 'top';
950
-
951
- var y = this.position.y + layoutSize[ yPadding ];
952
- // set in percentage or pixels
953
- style[ yProperty ] = this.getYValue( y );
954
- // reset other property
955
- style[ yResetProperty ] = '';
956
-
957
- this.css( style );
958
- this.emitEvent( 'layout', [ this ] );
959
- };
960
-
961
- proto.getXValue = function( x ) {
962
- var isHorizontal = this.layout._getOption('horizontal');
963
- return this.layout.options.percentPosition && !isHorizontal ?
964
- ( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
965
- };
966
-
967
- proto.getYValue = function( y ) {
968
- var isHorizontal = this.layout._getOption('horizontal');
969
- return this.layout.options.percentPosition && isHorizontal ?
970
- ( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
971
- };
972
-
973
- proto._transitionTo = function( x, y ) {
974
- this.getPosition();
975
- // get current x & y from top/left
976
- var curX = this.position.x;
977
- var curY = this.position.y;
978
-
979
- var didNotMove = x == this.position.x && y == this.position.y;
980
-
981
- // save end position
982
- this.setPosition( x, y );
983
-
984
- // if did not move and not transitioning, just go to layout
985
- if ( didNotMove && !this.isTransitioning ) {
986
- this.layoutPosition();
987
- return;
988
- }
989
-
990
- var transX = x - curX;
991
- var transY = y - curY;
992
- var transitionStyle = {};
993
- transitionStyle.transform = this.getTranslate( transX, transY );
994
-
995
- this.transition({
996
- to: transitionStyle,
997
- onTransitionEnd: {
998
- transform: this.layoutPosition
999
- },
1000
- isCleaning: true
1001
- });
1002
- };
1003
-
1004
- proto.getTranslate = function( x, y ) {
1005
- // flip cooridinates if origin on right or bottom
1006
- var isOriginLeft = this.layout._getOption('originLeft');
1007
- var isOriginTop = this.layout._getOption('originTop');
1008
- x = isOriginLeft ? x : -x;
1009
- y = isOriginTop ? y : -y;
1010
- return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
1011
- };
1012
-
1013
- // non transition + transform support
1014
- proto.goTo = function( x, y ) {
1015
- this.setPosition( x, y );
1016
- this.layoutPosition();
1017
- };
1018
-
1019
- proto.moveTo = proto._transitionTo;
1020
-
1021
- proto.setPosition = function( x, y ) {
1022
- this.position.x = parseFloat( x );
1023
- this.position.y = parseFloat( y );
1024
- };
1025
-
1026
- // ----- transition ----- //
1027
-
1028
- /**
1029
- * @param {Object} style - CSS
1030
- * @param {Function} onTransitionEnd
1031
- */
1032
-
1033
- // non transition, just trigger callback
1034
- proto._nonTransition = function( args ) {
1035
- this.css( args.to );
1036
- if ( args.isCleaning ) {
1037
- this._removeStyles( args.to );
1038
- }
1039
- for ( var prop in args.onTransitionEnd ) {
1040
- args.onTransitionEnd[ prop ].call( this );
1041
- }
1042
- };
1043
-
1044
- /**
1045
- * proper transition
1046
- * @param {Object} args - arguments
1047
- * @param {Object} to - style to transition to
1048
- * @param {Object} from - style to start transition from
1049
- * @param {Boolean} isCleaning - removes transition styles after transition
1050
- * @param {Function} onTransitionEnd - callback
1051
- */
1052
- proto.transition = function( args ) {
1053
- // redirect to nonTransition if no transition duration
1054
- if ( !parseFloat( this.layout.options.transitionDuration ) ) {
1055
- this._nonTransition( args );
1056
- return;
1057
- }
1058
-
1059
- var _transition = this._transn;
1060
- // keep track of onTransitionEnd callback by css property
1061
- for ( var prop in args.onTransitionEnd ) {
1062
- _transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
1063
- }
1064
- // keep track of properties that are transitioning
1065
- for ( prop in args.to ) {
1066
- _transition.ingProperties[ prop ] = true;
1067
- // keep track of properties to clean up when transition is done
1068
- if ( args.isCleaning ) {
1069
- _transition.clean[ prop ] = true;
1070
- }
1071
- }
1072
-
1073
- // set from styles
1074
- if ( args.from ) {
1075
- this.css( args.from );
1076
- // force redraw. http://blog.alexmaccaw.com/css-transitions
1077
- var h = this.element.offsetHeight;
1078
- // hack for JSHint to hush about unused var
1079
- h = null;
1080
- }
1081
- // enable transition
1082
- this.enableTransition( args.to );
1083
- // set styles that are transitioning
1084
- this.css( args.to );
1085
-
1086
- this.isTransitioning = true;
1087
-
1088
- };
1089
-
1090
- // dash before all cap letters, including first for
1091
- // WebkitTransform => -webkit-transform
1092
- function toDashedAll( str ) {
1093
- return str.replace( /([A-Z])/g, function( $1 ) {
1094
- return '-' + $1.toLowerCase();
1095
- });
1096
- }
1097
-
1098
- var transitionProps = 'opacity,' + toDashedAll( transformProperty );
1099
-
1100
- proto.enableTransition = function(/* style */) {
1101
- // HACK changing transitionProperty during a transition
1102
- // will cause transition to jump
1103
- if ( this.isTransitioning ) {
1104
- return;
1105
- }
1106
-
1107
- // make `transition: foo, bar, baz` from style object
1108
- // HACK un-comment this when enableTransition can work
1109
- // while a transition is happening
1110
- // var transitionValues = [];
1111
- // for ( var prop in style ) {
1112
- // // dash-ify camelCased properties like WebkitTransition
1113
- // prop = vendorProperties[ prop ] || prop;
1114
- // transitionValues.push( toDashedAll( prop ) );
1115
- // }
1116
- // munge number to millisecond, to match stagger
1117
- var duration = this.layout.options.transitionDuration;
1118
- duration = typeof duration == 'number' ? duration + 'ms' : duration;
1119
- // enable transition styles
1120
- this.css({
1121
- transitionProperty: transitionProps,
1122
- transitionDuration: duration,
1123
- transitionDelay: this.staggerDelay || 0
1124
- });
1125
- // listen for transition end event
1126
- this.element.addEventListener( transitionEndEvent, this, false );
1127
- };
1128
-
1129
- // ----- events ----- //
1130
-
1131
- proto.onwebkitTransitionEnd = function( event ) {
1132
- this.ontransitionend( event );
1133
- };
1134
-
1135
- proto.onotransitionend = function( event ) {
1136
- this.ontransitionend( event );
1137
- };
1138
-
1139
- // properties that I munge to make my life easier
1140
- var dashedVendorProperties = {
1141
- '-webkit-transform': 'transform'
1142
- };
1143
-
1144
- proto.ontransitionend = function( event ) {
1145
- // disregard bubbled events from children
1146
- if ( event.target !== this.element ) {
1147
- return;
1148
- }
1149
- var _transition = this._transn;
1150
- // get property name of transitioned property, convert to prefix-free
1151
- var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;
1152
-
1153
- // remove property that has completed transitioning
1154
- delete _transition.ingProperties[ propertyName ];
1155
- // check if any properties are still transitioning
1156
- if ( isEmptyObj( _transition.ingProperties ) ) {
1157
- // all properties have completed transitioning
1158
- this.disableTransition();
1159
- }
1160
- // clean style
1161
- if ( propertyName in _transition.clean ) {
1162
- // clean up style
1163
- this.element.style[ event.propertyName ] = '';
1164
- delete _transition.clean[ propertyName ];
1165
- }
1166
- // trigger onTransitionEnd callback
1167
- if ( propertyName in _transition.onEnd ) {
1168
- var onTransitionEnd = _transition.onEnd[ propertyName ];
1169
- onTransitionEnd.call( this );
1170
- delete _transition.onEnd[ propertyName ];
1171
- }
1172
-
1173
- this.emitEvent( 'transitionEnd', [ this ] );
1174
- };
1175
-
1176
- proto.disableTransition = function() {
1177
- this.removeTransitionStyles();
1178
- this.element.removeEventListener( transitionEndEvent, this, false );
1179
- this.isTransitioning = false;
1180
- };
1181
-
1182
- /**
1183
- * removes style property from element
1184
- * @param {Object} style
1185
- **/
1186
- proto._removeStyles = function( style ) {
1187
- // clean up transition styles
1188
- var cleanStyle = {};
1189
- for ( var prop in style ) {
1190
- cleanStyle[ prop ] = '';
1191
- }
1192
- this.css( cleanStyle );
1193
- };
1194
-
1195
- var cleanTransitionStyle = {
1196
- transitionProperty: '',
1197
- transitionDuration: '',
1198
- transitionDelay: ''
1199
- };
1200
-
1201
- proto.removeTransitionStyles = function() {
1202
- // remove transition
1203
- this.css( cleanTransitionStyle );
1204
- };
1205
-
1206
- // ----- stagger ----- //
1207
-
1208
- proto.stagger = function( delay ) {
1209
- delay = isNaN( delay ) ? 0 : delay;
1210
- this.staggerDelay = delay + 'ms';
1211
- };
1212
-
1213
- // ----- show/hide/remove ----- //
1214
-
1215
- // remove element from DOM
1216
- proto.removeElem = function() {
1217
- this.element.parentNode.removeChild( this.element );
1218
- // remove display: none
1219
- this.css({ display: '' });
1220
- this.emitEvent( 'remove', [ this ] );
1221
- };
1222
-
1223
- proto.remove = function() {
1224
- // just remove element if no transition support or no transition
1225
- if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
1226
- this.removeElem();
1227
- return;
1228
- }
1229
-
1230
- // start transition
1231
- this.once( 'transitionEnd', function() {
1232
- this.removeElem();
1233
- });
1234
- this.hide();
1235
- };
1236
-
1237
- proto.reveal = function() {
1238
- delete this.isHidden;
1239
- // remove display: none
1240
- this.css({ display: '' });
1241
-
1242
- var options = this.layout.options;
1243
-
1244
- var onTransitionEnd = {};
1245
- var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
1246
- onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
1247
-
1248
- this.transition({
1249
- from: options.hiddenStyle,
1250
- to: options.visibleStyle,
1251
- isCleaning: true,
1252
- onTransitionEnd: onTransitionEnd
1253
- });
1254
- };
1255
-
1256
- proto.onRevealTransitionEnd = function() {
1257
- // check if still visible
1258
- // during transition, item may have been hidden
1259
- if ( !this.isHidden ) {
1260
- this.emitEvent('reveal');
1261
- }
1262
- };
1263
-
1264
- /**
1265
- * get style property use for hide/reveal transition end
1266
- * @param {String} styleProperty - hiddenStyle/visibleStyle
1267
- * @returns {String}
1268
- */
1269
- proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
1270
- var optionStyle = this.layout.options[ styleProperty ];
1271
- // use opacity
1272
- if ( optionStyle.opacity ) {
1273
- return 'opacity';
1274
- }
1275
- // get first property
1276
- for ( var prop in optionStyle ) {
1277
- return prop;
1278
- }
1279
- };
1280
-
1281
- proto.hide = function() {
1282
- // set flag
1283
- this.isHidden = true;
1284
- // remove display: none
1285
- this.css({ display: '' });
1286
-
1287
- var options = this.layout.options;
1288
-
1289
- var onTransitionEnd = {};
1290
- var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
1291
- onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
1292
-
1293
- this.transition({
1294
- from: options.visibleStyle,
1295
- to: options.hiddenStyle,
1296
- // keep hidden stuff hidden
1297
- isCleaning: true,
1298
- onTransitionEnd: onTransitionEnd
1299
- });
1300
- };
1301
-
1302
- proto.onHideTransitionEnd = function() {
1303
- // check if still hidden
1304
- // during transition, item may have been un-hidden
1305
- if ( this.isHidden ) {
1306
- this.css({ display: 'none' });
1307
- this.emitEvent('hide');
1308
- }
1309
- };
1310
-
1311
- proto.destroy = function() {
1312
- this.css({
1313
- position: '',
1314
- left: '',
1315
- right: '',
1316
- top: '',
1317
- bottom: '',
1318
- transition: '',
1319
- transform: ''
1320
- });
1321
- };
1322
-
1323
- return Item;
1324
-
1325
- }));
1326
-
1327
- /*!
1328
- * Outlayer v2.1.1
1329
- * the brains and guts of a layout library
1330
- * MIT license
1331
- */
1332
-
1333
- ( function( window, factory ) {
1334
- 'use strict';
1335
- // universal module definition
1336
- /* jshint strict: false */ /* globals define, module, require */
1337
- if ( typeof define == 'function' && define.amd ) {
1338
- // AMD - RequireJS
1339
- define( 'outlayer/outlayer',[
1340
- 'ev-emitter/ev-emitter',
1341
- 'get-size/get-size',
1342
- 'fizzy-ui-utils/utils',
1343
- './item'
1344
- ],
1345
- function( EvEmitter, getSize, utils, Item ) {
1346
- return factory( window, EvEmitter, getSize, utils, Item);
1347
- }
1348
- );
1349
- } else if ( typeof module == 'object' && module.exports ) {
1350
- // CommonJS - Browserify, Webpack
1351
- module.exports = factory(
1352
- window,
1353
- require('ev-emitter'),
1354
- require('get-size'),
1355
- require('fizzy-ui-utils'),
1356
- require('./item')
1357
- );
1358
- } else {
1359
- // browser global
1360
- window.Outlayer = factory(
1361
- window,
1362
- window.EvEmitter,
1363
- window.getSize,
1364
- window.fizzyUIUtils,
1365
- window.Outlayer.Item
1366
- );
1367
- }
1368
-
1369
- }( window, function factory( window, EvEmitter, getSize, utils, Item ) {
1370
- 'use strict';
1371
-
1372
- // ----- vars ----- //
1373
-
1374
- var console = window.console;
1375
- var jQuery = window.jQuery;
1376
- var noop = function() {};
1377
-
1378
- // -------------------------- Outlayer -------------------------- //
1379
-
1380
- // globally unique identifiers
1381
- var GUID = 0;
1382
- // internal store of all Outlayer intances
1383
- var instances = {};
1384
-
1385
-
1386
- /**
1387
- * @param {Element, String} element
1388
- * @param {Object} options
1389
- * @constructor
1390
- */
1391
- function Outlayer( element, options ) {
1392
- var queryElement = utils.getQueryElement( element );
1393
- if ( !queryElement ) {
1394
- if ( console ) {
1395
- console.error( 'Bad element for ' + this.constructor.namespace +
1396
- ': ' + ( queryElement || element ) );
1397
- }
1398
- return;
1399
- }
1400
- this.element = queryElement;
1401
- // add jQuery
1402
- if ( jQuery ) {
1403
- this.$element = jQuery( this.element );
1404
- }
1405
-
1406
- // options
1407
- this.options = utils.extend( {}, this.constructor.defaults );
1408
- this.option( options );
1409
-
1410
- // add id for Outlayer.getFromElement
1411
- var id = ++GUID;
1412
- this.element.outlayerGUID = id; // expando
1413
- instances[ id ] = this; // associate via id
1414
-
1415
- // kick it off
1416
- this._create();
1417
-
1418
- var isInitLayout = this._getOption('initLayout');
1419
- if ( isInitLayout ) {
1420
- this.layout();
1421
- }
1422
- }
1423
-
1424
- // settings are for internal use only
1425
- Outlayer.namespace = 'outlayer';
1426
- Outlayer.Item = Item;
1427
-
1428
- // default options
1429
- Outlayer.defaults = {
1430
- containerStyle: {
1431
- position: 'relative'
1432
- },
1433
- initLayout: true,
1434
- originLeft: true,
1435
- originTop: true,
1436
- resize: true,
1437
- resizeContainer: true,
1438
- // item options
1439
- transitionDuration: '0.4s',
1440
- hiddenStyle: {
1441
- opacity: 0,
1442
- transform: 'scale(0.001)'
1443
- },
1444
- visibleStyle: {
1445
- opacity: 1,
1446
- transform: 'scale(1)'
1447
- }
1448
- };
1449
-
1450
- var proto = Outlayer.prototype;
1451
- // inherit EvEmitter
1452
- utils.extend( proto, EvEmitter.prototype );
1453
-
1454
- /**
1455
- * set options
1456
- * @param {Object} opts
1457
- */
1458
- proto.option = function( opts ) {
1459
- utils.extend( this.options, opts );
1460
- };
1461
-
1462
- /**
1463
- * get backwards compatible option value, check old name
1464
- */
1465
- proto._getOption = function( option ) {
1466
- var oldOption = this.constructor.compatOptions[ option ];
1467
- return oldOption && this.options[ oldOption ] !== undefined ?
1468
- this.options[ oldOption ] : this.options[ option ];
1469
- };
1470
-
1471
- Outlayer.compatOptions = {
1472
- // currentName: oldName
1473
- initLayout: 'isInitLayout',
1474
- horizontal: 'isHorizontal',
1475
- layoutInstant: 'isLayoutInstant',
1476
- originLeft: 'isOriginLeft',
1477
- originTop: 'isOriginTop',
1478
- resize: 'isResizeBound',
1479
- resizeContainer: 'isResizingContainer'
1480
- };
1481
-
1482
- proto._create = function() {
1483
- // get items from children
1484
- this.reloadItems();
1485
- // elements that affect layout, but are not laid out
1486
- this.stamps = [];
1487
- this.stamp( this.options.stamp );
1488
- // set container style
1489
- utils.extend( this.element.style, this.options.containerStyle );
1490
-
1491
- // bind resize method
1492
- var canBindResize = this._getOption('resize');
1493
- if ( canBindResize ) {
1494
- this.bindResize();
1495
- }
1496
- };
1497
-
1498
- // goes through all children again and gets bricks in proper order
1499
- proto.reloadItems = function() {
1500
- // collection of item elements
1501
- this.items = this._itemize( this.element.children );
1502
- };
1503
-
1504
-
1505
- /**
1506
- * turn elements into Outlayer.Items to be used in layout
1507
- * @param {Array or NodeList or HTMLElement} elems
1508
- * @returns {Array} items - collection of new Outlayer Items
1509
- */
1510
- proto._itemize = function( elems ) {
1511
-
1512
- var itemElems = this._filterFindItemElements( elems );
1513
- var Item = this.constructor.Item;
1514
-
1515
- // create new Outlayer Items for collection
1516
- var items = [];
1517
- for ( var i=0; i < itemElems.length; i++ ) {
1518
- var elem = itemElems[i];
1519
- var item = new Item( elem, this );
1520
- items.push( item );
1521
- }
1522
-
1523
- return items;
1524
- };
1525
-
1526
- /**
1527
- * get item elements to be used in layout
1528
- * @param {Array or NodeList or HTMLElement} elems
1529
- * @returns {Array} items - item elements
1530
- */
1531
- proto._filterFindItemElements = function( elems ) {
1532
- return utils.filterFindElements( elems, this.options.itemSelector );
1533
- };
1534
-
1535
- /**
1536
- * getter method for getting item elements
1537
- * @returns {Array} elems - collection of item elements
1538
- */
1539
- proto.getItemElements = function() {
1540
- return this.items.map( function( item ) {
1541
- return item.element;
1542
- });
1543
- };
1544
-
1545
- // ----- init & layout ----- //
1546
-
1547
- /**
1548
- * lays out all items
1549
- */
1550
- proto.layout = function() {
1551
- this._resetLayout();
1552
- this._manageStamps();
1553
-
1554
- // don't animate first layout
1555
- var layoutInstant = this._getOption('layoutInstant');
1556
- var isInstant = layoutInstant !== undefined ?
1557
- layoutInstant : !this._isLayoutInited;
1558
- this.layoutItems( this.items, isInstant );
1559
-
1560
- // flag for initalized
1561
- this._isLayoutInited = true;
1562
- };
1563
-
1564
- // _init is alias for layout
1565
- proto._init = proto.layout;
1566
-
1567
- /**
1568
- * logic before any new layout
1569
- */
1570
- proto._resetLayout = function() {
1571
- this.getSize();
1572
- };
1573
-
1574
-
1575
- proto.getSize = function() {
1576
- this.size = getSize( this.element );
1577
- };
1578
-
1579
- /**
1580
- * get measurement from option, for columnWidth, rowHeight, gutter
1581
- * if option is String -> get element from selector string, & get size of element
1582
- * if option is Element -> get size of element
1583
- * else use option as a number
1584
- *
1585
- * @param {String} measurement
1586
- * @param {String} size - width or height
1587
- * @private
1588
- */
1589
- proto._getMeasurement = function( measurement, size ) {
1590
- var option = this.options[ measurement ];
1591
- var elem;
1592
- if ( !option ) {
1593
- // default to 0
1594
- this[ measurement ] = 0;
1595
- } else {
1596
- // use option as an element
1597
- if ( typeof option == 'string' ) {
1598
- elem = this.element.querySelector( option );
1599
- } else if ( option instanceof HTMLElement ) {
1600
- elem = option;
1601
- }
1602
- // use size of element, if element
1603
- this[ measurement ] = elem ? getSize( elem )[ size ] : option;
1604
- }
1605
- };
1606
-
1607
- /**
1608
- * layout a collection of item elements
1609
- * @api public
1610
- */
1611
- proto.layoutItems = function( items, isInstant ) {
1612
- items = this._getItemsForLayout( items );
1613
-
1614
- this._layoutItems( items, isInstant );
1615
-
1616
- this._postLayout();
1617
- };
1618
-
1619
- /**
1620
- * get the items to be laid out
1621
- * you may want to skip over some items
1622
- * @param {Array} items
1623
- * @returns {Array} items
1624
- */
1625
- proto._getItemsForLayout = function( items ) {
1626
- return items.filter( function( item ) {
1627
- return !item.isIgnored;
1628
- });
1629
- };
1630
-
1631
- /**
1632
- * layout items
1633
- * @param {Array} items
1634
- * @param {Boolean} isInstant
1635
- */
1636
- proto._layoutItems = function( items, isInstant ) {
1637
- this._emitCompleteOnItems( 'layout', items );
1638
-
1639
- if ( !items || !items.length ) {
1640
- // no items, emit event with empty array
1641
- return;
1642
- }
1643
-
1644
- var queue = [];
1645
-
1646
- items.forEach( function( item ) {
1647
- // get x/y object from method
1648
- var position = this._getItemLayoutPosition( item );
1649
- // enqueue
1650
- position.item = item;
1651
- position.isInstant = isInstant || item.isLayoutInstant;
1652
- queue.push( position );
1653
- }, this );
1654
-
1655
- this._processLayoutQueue( queue );
1656
- };
1657
-
1658
- /**
1659
- * get item layout position
1660
- * @param {Outlayer.Item} item
1661
- * @returns {Object} x and y position
1662
- */
1663
- proto._getItemLayoutPosition = function( /* item */ ) {
1664
- return {
1665
- x: 0,
1666
- y: 0
1667
- };
1668
- };
1669
-
1670
- /**
1671
- * iterate over array and position each item
1672
- * Reason being - separating this logic prevents 'layout invalidation'
1673
- * thx @paul_irish
1674
- * @param {Array} queue
1675
- */
1676
- proto._processLayoutQueue = function( queue ) {
1677
- this.updateStagger();
1678
- queue.forEach( function( obj, i ) {
1679
- this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
1680
- }, this );
1681
- };
1682
-
1683
- // set stagger from option in milliseconds number
1684
- proto.updateStagger = function() {
1685
- var stagger = this.options.stagger;
1686
- if ( stagger === null || stagger === undefined ) {
1687
- this.stagger = 0;
1688
- return;
1689
- }
1690
- this.stagger = getMilliseconds( stagger );
1691
- return this.stagger;
1692
- };
1693
-
1694
- /**
1695
- * Sets position of item in DOM
1696
- * @param {Outlayer.Item} item
1697
- * @param {Number} x - horizontal position
1698
- * @param {Number} y - vertical position
1699
- * @param {Boolean} isInstant - disables transitions
1700
- */
1701
- proto._positionItem = function( item, x, y, isInstant, i ) {
1702
- if ( isInstant ) {
1703
- // if not transition, just set CSS
1704
- item.goTo( x, y );
1705
- } else {
1706
- item.stagger( i * this.stagger );
1707
- item.moveTo( x, y );
1708
- }
1709
- };
1710
-
1711
- /**
1712
- * Any logic you want to do after each layout,
1713
- * i.e. size the container
1714
- */
1715
- proto._postLayout = function() {
1716
- this.resizeContainer();
1717
- };
1718
-
1719
- proto.resizeContainer = function() {
1720
- var isResizingContainer = this._getOption('resizeContainer');
1721
- if ( !isResizingContainer ) {
1722
- return;
1723
- }
1724
- var size = this._getContainerSize();
1725
- if ( size ) {
1726
- this._setContainerMeasure( size.width, true );
1727
- this._setContainerMeasure( size.height, false );
1728
- }
1729
- };
1730
-
1731
- /**
1732
- * Sets width or height of container if returned
1733
- * @returns {Object} size
1734
- * @param {Number} width
1735
- * @param {Number} height
1736
- */
1737
- proto._getContainerSize = noop;
1738
-
1739
- /**
1740
- * @param {Number} measure - size of width or height
1741
- * @param {Boolean} isWidth
1742
- */
1743
- proto._setContainerMeasure = function( measure, isWidth ) {
1744
- if ( measure === undefined ) {
1745
- return;
1746
- }
1747
-
1748
- var elemSize = this.size;
1749
- // add padding and border width if border box
1750
- if ( elemSize.isBorderBox ) {
1751
- measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
1752
- elemSize.borderLeftWidth + elemSize.borderRightWidth :
1753
- elemSize.paddingBottom + elemSize.paddingTop +
1754
- elemSize.borderTopWidth + elemSize.borderBottomWidth;
1755
- }
1756
-
1757
- measure = Math.max( measure, 0 );
1758
- this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
1759
- };
1760
-
1761
- /**
1762
- * emit eventComplete on a collection of items events
1763
- * @param {String} eventName
1764
- * @param {Array} items - Outlayer.Items
1765
- */
1766
- proto._emitCompleteOnItems = function( eventName, items ) {
1767
- var _this = this;
1768
- function onComplete() {
1769
- _this.dispatchEvent( eventName + 'Complete', null, [ items ] );
1770
- }
1771
-
1772
- var count = items.length;
1773
- if ( !items || !count ) {
1774
- onComplete();
1775
- return;
1776
- }
1777
-
1778
- var doneCount = 0;
1779
- function tick() {
1780
- doneCount++;
1781
- if ( doneCount == count ) {
1782
- onComplete();
1783
- }
1784
- }
1785
-
1786
- // bind callback
1787
- items.forEach( function( item ) {
1788
- item.once( eventName, tick );
1789
- });
1790
- };
1791
-
1792
- /**
1793
- * emits events via EvEmitter and jQuery events
1794
- * @param {String} type - name of event
1795
- * @param {Event} event - original event
1796
- * @param {Array} args - extra arguments
1797
- */
1798
- proto.dispatchEvent = function( type, event, args ) {
1799
- // add original event to arguments
1800
- var emitArgs = event ? [ event ].concat( args ) : args;
1801
- this.emitEvent( type, emitArgs );
1802
-
1803
- if ( jQuery ) {
1804
- // set this.$element
1805
- this.$element = this.$element || jQuery( this.element );
1806
- if ( event ) {
1807
- // create jQuery event
1808
- var $event = jQuery.Event( event );
1809
- $event.type = type;
1810
- this.$element.trigger( $event, args );
1811
- } else {
1812
- // just trigger with type if no event available
1813
- this.$element.trigger( type, args );
1814
- }
1815
- }
1816
- };
1817
-
1818
- // -------------------------- ignore & stamps -------------------------- //
1819
-
1820
-
1821
- /**
1822
- * keep item in collection, but do not lay it out
1823
- * ignored items do not get skipped in layout
1824
- * @param {Element} elem
1825
- */
1826
- proto.ignore = function( elem ) {
1827
- var item = this.getItem( elem );
1828
- if ( item ) {
1829
- item.isIgnored = true;
1830
- }
1831
- };
1832
-
1833
- /**
1834
- * return item to layout collection
1835
- * @param {Element} elem
1836
- */
1837
- proto.unignore = function( elem ) {
1838
- var item = this.getItem( elem );
1839
- if ( item ) {
1840
- delete item.isIgnored;
1841
- }
1842
- };
1843
-
1844
- /**
1845
- * adds elements to stamps
1846
- * @param {NodeList, Array, Element, or String} elems
1847
- */
1848
- proto.stamp = function( elems ) {
1849
- elems = this._find( elems );
1850
- if ( !elems ) {
1851
- return;
1852
- }
1853
-
1854
- this.stamps = this.stamps.concat( elems );
1855
- // ignore
1856
- elems.forEach( this.ignore, this );
1857
- };
1858
-
1859
- /**
1860
- * removes elements to stamps
1861
- * @param {NodeList, Array, or Element} elems
1862
- */
1863
- proto.unstamp = function( elems ) {
1864
- elems = this._find( elems );
1865
- if ( !elems ){
1866
- return;
1867
- }
1868
-
1869
- elems.forEach( function( elem ) {
1870
- // filter out removed stamp elements
1871
- utils.removeFrom( this.stamps, elem );
1872
- this.unignore( elem );
1873
- }, this );
1874
- };
1875
-
1876
- /**
1877
- * finds child elements
1878
- * @param {NodeList, Array, Element, or String} elems
1879
- * @returns {Array} elems
1880
- */
1881
- proto._find = function( elems ) {
1882
- if ( !elems ) {
1883
- return;
1884
- }
1885
- // if string, use argument as selector string
1886
- if ( typeof elems == 'string' ) {
1887
- elems = this.element.querySelectorAll( elems );
1888
- }
1889
- elems = utils.makeArray( elems );
1890
- return elems;
1891
- };
1892
-
1893
- proto._manageStamps = function() {
1894
- if ( !this.stamps || !this.stamps.length ) {
1895
- return;
1896
- }
1897
-
1898
- this._getBoundingRect();
1899
-
1900
- this.stamps.forEach( this._manageStamp, this );
1901
- };
1902
-
1903
- // update boundingLeft / Top
1904
- proto._getBoundingRect = function() {
1905
- // get bounding rect for container element
1906
- var boundingRect = this.element.getBoundingClientRect();
1907
- var size = this.size;
1908
- this._boundingRect = {
1909
- left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,
1910
- top: boundingRect.top + size.paddingTop + size.borderTopWidth,
1911
- right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),
1912
- bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )
1913
- };
1914
- };
1915
-
1916
- /**
1917
- * @param {Element} stamp
1918
- **/
1919
- proto._manageStamp = noop;
1920
-
1921
- /**
1922
- * get x/y position of element relative to container element
1923
- * @param {Element} elem
1924
- * @returns {Object} offset - has left, top, right, bottom
1925
- */
1926
- proto._getElementOffset = function( elem ) {
1927
- var boundingRect = elem.getBoundingClientRect();
1928
- var thisRect = this._boundingRect;
1929
- var size = getSize( elem );
1930
- var offset = {
1931
- left: boundingRect.left - thisRect.left - size.marginLeft,
1932
- top: boundingRect.top - thisRect.top - size.marginTop,
1933
- right: thisRect.right - boundingRect.right - size.marginRight,
1934
- bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom
1935
- };
1936
- return offset;
1937
- };
1938
-
1939
- // -------------------------- resize -------------------------- //
1940
-
1941
- // enable event handlers for listeners
1942
- // i.e. resize -> onresize
1943
- proto.handleEvent = utils.handleEvent;
1944
-
1945
- /**
1946
- * Bind layout to window resizing
1947
- */
1948
- proto.bindResize = function() {
1949
- window.addEventListener( 'resize', this );
1950
- this.isResizeBound = true;
1951
- };
1952
-
1953
- /**
1954
- * Unbind layout to window resizing
1955
- */
1956
- proto.unbindResize = function() {
1957
- window.removeEventListener( 'resize', this );
1958
- this.isResizeBound = false;
1959
- };
1960
-
1961
- proto.onresize = function() {
1962
- this.resize();
1963
- };
1964
-
1965
- utils.debounceMethod( Outlayer, 'onresize', 100 );
1966
-
1967
- proto.resize = function() {
1968
- // don't trigger if size did not change
1969
- // or if resize was unbound. See #9
1970
- if ( !this.isResizeBound || !this.needsResizeLayout() ) {
1971
- return;
1972
- }
1973
-
1974
- this.layout();
1975
- };
1976
-
1977
- /**
1978
- * check if layout is needed post layout
1979
- * @returns Boolean
1980
- */
1981
- proto.needsResizeLayout = function() {
1982
- var size = getSize( this.element );
1983
- // check that this.size and size are there
1984
- // IE8 triggers resize on body size change, so they might not be
1985
- var hasSizes = this.size && size;
1986
- return hasSizes && size.innerWidth !== this.size.innerWidth;
1987
- };
1988
-
1989
- // -------------------------- methods -------------------------- //
1990
-
1991
- /**
1992
- * add items to Outlayer instance
1993
- * @param {Array or NodeList or Element} elems
1994
- * @returns {Array} items - Outlayer.Items
1995
- **/
1996
- proto.addItems = function( elems ) {
1997
- var items = this._itemize( elems );
1998
- // add items to collection
1999
- if ( items.length ) {
2000
- this.items = this.items.concat( items );
2001
- }
2002
- return items;
2003
- };
2004
-
2005
- /**
2006
- * Layout newly-appended item elements
2007
- * @param {Array or NodeList or Element} elems
2008
- */
2009
- proto.appended = function( elems ) {
2010
- var items = this.addItems( elems );
2011
- if ( !items.length ) {
2012
- return;
2013
- }
2014
- // layout and reveal just the new items
2015
- this.layoutItems( items, true );
2016
- this.reveal( items );
2017
- };
2018
-
2019
- /**
2020
- * Layout prepended elements
2021
- * @param {Array or NodeList or Element} elems
2022
- */
2023
- proto.prepended = function( elems ) {
2024
- var items = this._itemize( elems );
2025
- if ( !items.length ) {
2026
- return;
2027
- }
2028
- // add items to beginning of collection
2029
- var previousItems = this.items.slice(0);
2030
- this.items = items.concat( previousItems );
2031
- // start new layout
2032
- this._resetLayout();
2033
- this._manageStamps();
2034
- // layout new stuff without transition
2035
- this.layoutItems( items, true );
2036
- this.reveal( items );
2037
- // layout previous items
2038
- this.layoutItems( previousItems );
2039
- };
2040
-
2041
- /**
2042
- * reveal a collection of items
2043
- * @param {Array of Outlayer.Items} items
2044
- */
2045
- proto.reveal = function( items ) {
2046
- this._emitCompleteOnItems( 'reveal', items );
2047
- if ( !items || !items.length ) {
2048
- return;
2049
- }
2050
- var stagger = this.updateStagger();
2051
- items.forEach( function( item, i ) {
2052
- item.stagger( i * stagger );
2053
- item.reveal();
2054
- });
2055
- };
2056
-
2057
- /**
2058
- * hide a collection of items
2059
- * @param {Array of Outlayer.Items} items
2060
- */
2061
- proto.hide = function( items ) {
2062
- this._emitCompleteOnItems( 'hide', items );
2063
- if ( !items || !items.length ) {
2064
- return;
2065
- }
2066
- var stagger = this.updateStagger();
2067
- items.forEach( function( item, i ) {
2068
- item.stagger( i * stagger );
2069
- item.hide();
2070
- });
2071
- };
2072
-
2073
- /**
2074
- * reveal item elements
2075
- * @param {Array}, {Element}, {NodeList} items
2076
- */
2077
- proto.revealItemElements = function( elems ) {
2078
- var items = this.getItems( elems );
2079
- this.reveal( items );
2080
- };
2081
-
2082
- /**
2083
- * hide item elements
2084
- * @param {Array}, {Element}, {NodeList} items
2085
- */
2086
- proto.hideItemElements = function( elems ) {
2087
- var items = this.getItems( elems );
2088
- this.hide( items );
2089
- };
2090
-
2091
- /**
2092
- * get Outlayer.Item, given an Element
2093
- * @param {Element} elem
2094
- * @param {Function} callback
2095
- * @returns {Outlayer.Item} item
2096
- */
2097
- proto.getItem = function( elem ) {
2098
- // loop through items to get the one that matches
2099
- for ( var i=0; i < this.items.length; i++ ) {
2100
- var item = this.items[i];
2101
- if ( item.element == elem ) {
2102
- // return item
2103
- return item;
2104
- }
2105
- }
2106
- };
2107
-
2108
- /**
2109
- * get collection of Outlayer.Items, given Elements
2110
- * @param {Array} elems
2111
- * @returns {Array} items - Outlayer.Items
2112
- */
2113
- proto.getItems = function( elems ) {
2114
- elems = utils.makeArray( elems );
2115
- var items = [];
2116
- elems.forEach( function( elem ) {
2117
- var item = this.getItem( elem );
2118
- if ( item ) {
2119
- items.push( item );
2120
- }
2121
- }, this );
2122
-
2123
- return items;
2124
- };
2125
-
2126
- /**
2127
- * remove element(s) from instance and DOM
2128
- * @param {Array or NodeList or Element} elems
2129
- */
2130
- proto.remove = function( elems ) {
2131
- var removeItems = this.getItems( elems );
2132
-
2133
- this._emitCompleteOnItems( 'remove', removeItems );
2134
-
2135
- // bail if no items to remove
2136
- if ( !removeItems || !removeItems.length ) {
2137
- return;
2138
- }
2139
-
2140
- removeItems.forEach( function( item ) {
2141
- item.remove();
2142
- // remove item from collection
2143
- utils.removeFrom( this.items, item );
2144
- }, this );
2145
- };
2146
-
2147
- // ----- destroy ----- //
2148
-
2149
- // remove and disable Outlayer instance
2150
- proto.destroy = function() {
2151
- // clean up dynamic styles
2152
- var style = this.element.style;
2153
- style.height = '';
2154
- style.position = '';
2155
- style.width = '';
2156
- // destroy items
2157
- this.items.forEach( function( item ) {
2158
- item.destroy();
2159
- });
2160
-
2161
- this.unbindResize();
2162
-
2163
- var id = this.element.outlayerGUID;
2164
- delete instances[ id ]; // remove reference to instance by id
2165
- delete this.element.outlayerGUID;
2166
- // remove data for jQuery
2167
- if ( jQuery ) {
2168
- jQuery.removeData( this.element, this.constructor.namespace );
2169
- }
2170
-
2171
- };
2172
-
2173
- // -------------------------- data -------------------------- //
2174
-
2175
- /**
2176
- * get Outlayer instance from element
2177
- * @param {Element} elem
2178
- * @returns {Outlayer}
2179
- */
2180
- Outlayer.data = function( elem ) {
2181
- elem = utils.getQueryElement( elem );
2182
- var id = elem && elem.outlayerGUID;
2183
- return id && instances[ id ];
2184
- };
2185
-
2186
-
2187
- // -------------------------- create Outlayer class -------------------------- //
2188
-
2189
- /**
2190
- * create a layout class
2191
- * @param {String} namespace
2192
- */
2193
- Outlayer.create = function( namespace, options ) {
2194
- // sub-class Outlayer
2195
- var Layout = subclass( Outlayer );
2196
- // apply new options and compatOptions
2197
- Layout.defaults = utils.extend( {}, Outlayer.defaults );
2198
- utils.extend( Layout.defaults, options );
2199
- Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
2200
-
2201
- Layout.namespace = namespace;
2202
-
2203
- Layout.data = Outlayer.data;
2204
-
2205
- // sub-class Item
2206
- Layout.Item = subclass( Item );
2207
-
2208
- // -------------------------- declarative -------------------------- //
2209
-
2210
- utils.htmlInit( Layout, namespace );
2211
-
2212
- // -------------------------- jQuery bridge -------------------------- //
2213
-
2214
- // make into jQuery plugin
2215
- if ( jQuery && jQuery.bridget ) {
2216
- jQuery.bridget( namespace, Layout );
2217
- }
2218
-
2219
- return Layout;
2220
- };
2221
-
2222
- function subclass( Parent ) {
2223
- function SubClass() {
2224
- Parent.apply( this, arguments );
2225
- }
2226
-
2227
- SubClass.prototype = Object.create( Parent.prototype );
2228
- SubClass.prototype.constructor = SubClass;
2229
-
2230
- return SubClass;
2231
- }
2232
-
2233
- // ----- helpers ----- //
2234
-
2235
- // how many milliseconds are in each unit
2236
- var msUnits = {
2237
- ms: 1,
2238
- s: 1000
2239
- };
2240
-
2241
- // munge time-like parameter into millisecond number
2242
- // '0.4s' -> 40
2243
- function getMilliseconds( time ) {
2244
- if ( typeof time == 'number' ) {
2245
- return time;
2246
- }
2247
- var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
2248
- var num = matches && matches[1];
2249
- var unit = matches && matches[2];
2250
- if ( !num.length ) {
2251
- return 0;
2252
- }
2253
- num = parseFloat( num );
2254
- var mult = msUnits[ unit ] || 1;
2255
- return num * mult;
2256
- }
2257
-
2258
- // ----- fin ----- //
2259
-
2260
- // back in global
2261
- Outlayer.Item = Item;
2262
-
2263
- return Outlayer;
2264
-
2265
- }));
2266
-
2267
- /**
2268
- * Isotope Item
2269
- **/
2270
-
2271
- ( function( window, factory ) {
2272
- // universal module definition
2273
- /* jshint strict: false */ /*globals define, module, require */
2274
- if ( typeof define == 'function' && define.amd ) {
2275
- // AMD
2276
- define( 'isotope-layout/js/item',[
2277
- 'outlayer/outlayer'
2278
- ],
2279
- factory );
2280
- } else if ( typeof module == 'object' && module.exports ) {
2281
- // CommonJS
2282
- module.exports = factory(
2283
- require('outlayer')
2284
- );
2285
- } else {
2286
- // browser global
2287
- window.Isotope = window.Isotope || {};
2288
- window.Isotope.Item = factory(
2289
- window.Outlayer
2290
- );
2291
- }
2292
-
2293
- }( window, function factory( Outlayer ) {
2294
- 'use strict';
2295
-
2296
- // -------------------------- Item -------------------------- //
2297
-
2298
- // sub-class Outlayer Item
2299
- function Item() {
2300
- Outlayer.Item.apply( this, arguments );
2301
- }
2302
-
2303
- var proto = Item.prototype = Object.create( Outlayer.Item.prototype );
2304
-
2305
- var _create = proto._create;
2306
- proto._create = function() {
2307
- // assign id, used for original-order sorting
2308
- this.id = this.layout.itemGUID++;
2309
- _create.call( this );
2310
- this.sortData = {};
2311
- };
2312
-
2313
- proto.updateSortData = function() {
2314
- if ( this.isIgnored ) {
2315
- return;
2316
- }
2317
- // default sorters
2318
- this.sortData.id = this.id;
2319
- // for backward compatibility
2320
- this.sortData['original-order'] = this.id;
2321
- this.sortData.random = Math.random();
2322
- // go thru getSortData obj and apply the sorters
2323
- var getSortData = this.layout.options.getSortData;
2324
- var sorters = this.layout._sorters;
2325
- for ( var key in getSortData ) {
2326
- var sorter = sorters[ key ];
2327
- this.sortData[ key ] = sorter( this.element, this );
2328
- }
2329
- };
2330
-
2331
- var _destroy = proto.destroy;
2332
- proto.destroy = function() {
2333
- // call super
2334
- _destroy.apply( this, arguments );
2335
- // reset display, #741
2336
- this.css({
2337
- display: ''
2338
- });
2339
- };
2340
-
2341
- return Item;
2342
-
2343
- }));
2344
-
2345
- /**
2346
- * Isotope LayoutMode
2347
- */
2348
-
2349
- ( function( window, factory ) {
2350
- // universal module definition
2351
- /* jshint strict: false */ /*globals define, module, require */
2352
- if ( typeof define == 'function' && define.amd ) {
2353
- // AMD
2354
- define( 'isotope-layout/js/layout-mode',[
2355
- 'get-size/get-size',
2356
- 'outlayer/outlayer'
2357
- ],
2358
- factory );
2359
- } else if ( typeof module == 'object' && module.exports ) {
2360
- // CommonJS
2361
- module.exports = factory(
2362
- require('get-size'),
2363
- require('outlayer')
2364
- );
2365
- } else {
2366
- // browser global
2367
- window.Isotope = window.Isotope || {};
2368
- window.Isotope.LayoutMode = factory(
2369
- window.getSize,
2370
- window.Outlayer
2371
- );
2372
- }
2373
-
2374
- }( window, function factory( getSize, Outlayer ) {
2375
- 'use strict';
2376
-
2377
- // layout mode class
2378
- function LayoutMode( isotope ) {
2379
- this.isotope = isotope;
2380
- // link properties
2381
- if ( isotope ) {
2382
- this.options = isotope.options[ this.namespace ];
2383
- this.element = isotope.element;
2384
- this.items = isotope.filteredItems;
2385
- this.size = isotope.size;
2386
- }
2387
- }
2388
-
2389
- var proto = LayoutMode.prototype;
2390
-
2391
- /**
2392
- * some methods should just defer to default Outlayer method
2393
- * and reference the Isotope instance as `this`
2394
- **/
2395
- var facadeMethods = [
2396
- '_resetLayout',
2397
- '_getItemLayoutPosition',
2398
- '_manageStamp',
2399
- '_getContainerSize',
2400
- '_getElementOffset',
2401
- 'needsResizeLayout',
2402
- '_getOption'
2403
- ];
2404
-
2405
- facadeMethods.forEach( function( methodName ) {
2406
- proto[ methodName ] = function() {
2407
- return Outlayer.prototype[ methodName ].apply( this.isotope, arguments );
2408
- };
2409
- });
2410
-
2411
- // ----- ----- //
2412
-
2413
- // for horizontal layout modes, check vertical size
2414
- proto.needsVerticalResizeLayout = function() {
2415
- // don't trigger if size did not change
2416
- var size = getSize( this.isotope.element );
2417
- // check that this.size and size are there
2418
- // IE8 triggers resize on body size change, so they might not be
2419
- var hasSizes = this.isotope.size && size;
2420
- return hasSizes && size.innerHeight != this.isotope.size.innerHeight;
2421
- };
2422
-
2423
- // ----- measurements ----- //
2424
-
2425
- proto._getMeasurement = function() {
2426
- this.isotope._getMeasurement.apply( this, arguments );
2427
- };
2428
-
2429
- proto.getColumnWidth = function() {
2430
- this.getSegmentSize( 'column', 'Width' );
2431
- };
2432
-
2433
- proto.getRowHeight = function() {
2434
- this.getSegmentSize( 'row', 'Height' );
2435
- };
2436
-
2437
- /**
2438
- * get columnWidth or rowHeight
2439
- * segment: 'column' or 'row'
2440
- * size 'Width' or 'Height'
2441
- **/
2442
- proto.getSegmentSize = function( segment, size ) {
2443
- var segmentName = segment + size;
2444
- var outerSize = 'outer' + size;
2445
- // columnWidth / outerWidth // rowHeight / outerHeight
2446
- this._getMeasurement( segmentName, outerSize );
2447
- // got rowHeight or columnWidth, we can chill
2448
- if ( this[ segmentName ] ) {
2449
- return;
2450
- }
2451
- // fall back to item of first element
2452
- var firstItemSize = this.getFirstItemSize();
2453
- this[ segmentName ] = firstItemSize && firstItemSize[ outerSize ] ||
2454
- // or size of container
2455
- this.isotope.size[ 'inner' + size ];
2456
- };
2457
-
2458
- proto.getFirstItemSize = function() {
2459
- var firstItem = this.isotope.filteredItems[0];
2460
- return firstItem && firstItem.element && getSize( firstItem.element );
2461
- };
2462
-
2463
- // ----- methods that should reference isotope ----- //
2464
-
2465
- proto.layout = function() {
2466
- this.isotope.layout.apply( this.isotope, arguments );
2467
- };
2468
-
2469
- proto.getSize = function() {
2470
- this.isotope.getSize();
2471
- this.size = this.isotope.size;
2472
- };
2473
-
2474
- // -------------------------- create -------------------------- //
2475
-
2476
- LayoutMode.modes = {};
2477
-
2478
- LayoutMode.create = function( namespace, options ) {
2479
-
2480
- function Mode() {
2481
- LayoutMode.apply( this, arguments );
2482
- }
2483
-
2484
- Mode.prototype = Object.create( proto );
2485
- Mode.prototype.constructor = Mode;
2486
-
2487
- // default options
2488
- if ( options ) {
2489
- Mode.options = options;
2490
- }
2491
-
2492
- Mode.prototype.namespace = namespace;
2493
- // register in Isotope
2494
- LayoutMode.modes[ namespace ] = Mode;
2495
-
2496
- return Mode;
2497
- };
2498
-
2499
- return LayoutMode;
2500
-
2501
- }));
2502
-
2503
- /*!
2504
- * Masonry v4.2.1
2505
- * Cascading grid layout library
2506
- * https://masonry.desandro.com
2507
- * MIT License
2508
- * by David DeSandro
2509
- */
2510
-
2511
- ( function( window, factory ) {
2512
- // universal module definition
2513
- /* jshint strict: false */ /*globals define, module, require */
2514
- if ( typeof define == 'function' && define.amd ) {
2515
- // AMD
2516
- define( 'masonry-layout/masonry',[
2517
- 'outlayer/outlayer',
2518
- 'get-size/get-size'
2519
- ],
2520
- factory );
2521
- } else if ( typeof module == 'object' && module.exports ) {
2522
- // CommonJS
2523
- module.exports = factory(
2524
- require('outlayer'),
2525
- require('get-size')
2526
- );
2527
- } else {
2528
- // browser global
2529
- window.Masonry = factory(
2530
- window.Outlayer,
2531
- window.getSize
2532
- );
2533
- }
2534
-
2535
- }( window, function factory( Outlayer, getSize ) {
2536
-
2537
-
2538
-
2539
- // -------------------------- masonryDefinition -------------------------- //
2540
-
2541
- // create an Outlayer layout class
2542
- var Masonry = Outlayer.create('masonry');
2543
- // isFitWidth -> fitWidth
2544
- Masonry.compatOptions.fitWidth = 'isFitWidth';
2545
-
2546
- var proto = Masonry.prototype;
2547
-
2548
- proto._resetLayout = function() {
2549
- this.getSize();
2550
- this._getMeasurement( 'columnWidth', 'outerWidth' );
2551
- this._getMeasurement( 'gutter', 'outerWidth' );
2552
- this.measureColumns();
2553
-
2554
- // reset column Y
2555
- this.colYs = [];
2556
- for ( var i=0; i < this.cols; i++ ) {
2557
- this.colYs.push( 0 );
2558
- }
2559
-
2560
- this.maxY = 0;
2561
- this.horizontalColIndex = 0;
2562
- };
2563
-
2564
- proto.measureColumns = function() {
2565
- this.getContainerWidth();
2566
- // if columnWidth is 0, default to outerWidth of first item
2567
- if ( !this.columnWidth ) {
2568
- var firstItem = this.items[0];
2569
- var firstItemElem = firstItem && firstItem.element;
2570
- // columnWidth fall back to item of first element
2571
- this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
2572
- // if first elem has no width, default to size of container
2573
- this.containerWidth;
2574
- }
2575
-
2576
- var columnWidth = this.columnWidth += this.gutter;
2577
-
2578
- // calculate columns
2579
- var containerWidth = this.containerWidth + this.gutter;
2580
- var cols = containerWidth / columnWidth;
2581
- // fix rounding errors, typically with gutters
2582
- var excess = columnWidth - containerWidth % columnWidth;
2583
- // if overshoot is less than a pixel, round up, otherwise floor it
2584
- var mathMethod = excess && excess < 1 ? 'round' : 'floor';
2585
- cols = Math[ mathMethod ]( cols );
2586
- this.cols = Math.max( cols, 1 );
2587
- };
2588
-
2589
- proto.getContainerWidth = function() {
2590
- // container is parent if fit width
2591
- var isFitWidth = this._getOption('fitWidth');
2592
- var container = isFitWidth ? this.element.parentNode : this.element;
2593
- // check that this.size and size are there
2594
- // IE8 triggers resize on body size change, so they might not be
2595
- var size = getSize( container );
2596
- this.containerWidth = size && size.innerWidth;
2597
- };
2598
-
2599
- proto._getItemLayoutPosition = function( item ) {
2600
- item.getSize();
2601
- // how many columns does this brick span
2602
- var remainder = item.size.outerWidth % this.columnWidth;
2603
- var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
2604
- // round if off by 1 pixel, otherwise use ceil
2605
- var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
2606
- colSpan = Math.min( colSpan, this.cols );
2607
- // use horizontal or top column position
2608
- var colPosMethod = this.options.horizontalOrder ?
2609
- '_getHorizontalColPosition' : '_getTopColPosition';
2610
- var colPosition = this[ colPosMethod ]( colSpan, item );
2611
- // position the brick
2612
- var position = {
2613
- x: this.columnWidth * colPosition.col,
2614
- y: colPosition.y
2615
- };
2616
- // apply setHeight to necessary columns
2617
- var setHeight = colPosition.y + item.size.outerHeight;
2618
- var setMax = colSpan + colPosition.col;
2619
- for ( var i = colPosition.col; i < setMax; i++ ) {
2620
- this.colYs[i] = setHeight;
2621
- }
2622
-
2623
- return position;
2624
- };
2625
-
2626
- proto._getTopColPosition = function( colSpan ) {
2627
- var colGroup = this._getTopColGroup( colSpan );
2628
- // get the minimum Y value from the columns
2629
- var minimumY = Math.min.apply( Math, colGroup );
2630
-
2631
- return {
2632
- col: colGroup.indexOf( minimumY ),
2633
- y: minimumY,
2634
- };
2635
- };
2636
-
2637
- /**
2638
- * @param {Number} colSpan - number of columns the element spans
2639
- * @returns {Array} colGroup
2640
- */
2641
- proto._getTopColGroup = function( colSpan ) {
2642
- if ( colSpan < 2 ) {
2643
- // if brick spans only one column, use all the column Ys
2644
- return this.colYs;
2645
- }
2646
-
2647
- var colGroup = [];
2648
- // how many different places could this brick fit horizontally
2649
- var groupCount = this.cols + 1 - colSpan;
2650
- // for each group potential horizontal position
2651
- for ( var i = 0; i < groupCount; i++ ) {
2652
- colGroup[i] = this._getColGroupY( i, colSpan );
2653
- }
2654
- return colGroup;
2655
- };
2656
-
2657
- proto._getColGroupY = function( col, colSpan ) {
2658
- if ( colSpan < 2 ) {
2659
- return this.colYs[ col ];
2660
- }
2661
- // make an array of colY values for that one group
2662
- var groupColYs = this.colYs.slice( col, col + colSpan );
2663
- // and get the max value of the array
2664
- return Math.max.apply( Math, groupColYs );
2665
- };
2666
-
2667
- // get column position based on horizontal index. #873
2668
- proto._getHorizontalColPosition = function( colSpan, item ) {
2669
- var col = this.horizontalColIndex % this.cols;
2670
- var isOver = colSpan > 1 && col + colSpan > this.cols;
2671
- // shift to next row if item can't fit on current row
2672
- col = isOver ? 0 : col;
2673
- // don't let zero-size items take up space
2674
- var hasSize = item.size.outerWidth && item.size.outerHeight;
2675
- this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
2676
-
2677
- return {
2678
- col: col,
2679
- y: this._getColGroupY( col, colSpan ),
2680
- };
2681
- };
2682
-
2683
- proto._manageStamp = function( stamp ) {
2684
- var stampSize = getSize( stamp );
2685
- var offset = this._getElementOffset( stamp );
2686
- // get the columns that this stamp affects
2687
- var isOriginLeft = this._getOption('originLeft');
2688
- var firstX = isOriginLeft ? offset.left : offset.right;
2689
- var lastX = firstX + stampSize.outerWidth;
2690
- var firstCol = Math.floor( firstX / this.columnWidth );
2691
- firstCol = Math.max( 0, firstCol );
2692
- var lastCol = Math.floor( lastX / this.columnWidth );
2693
- // lastCol should not go over if multiple of columnWidth #425
2694
- lastCol -= lastX % this.columnWidth ? 0 : 1;
2695
- lastCol = Math.min( this.cols - 1, lastCol );
2696
- // set colYs to bottom of the stamp
2697
-
2698
- var isOriginTop = this._getOption('originTop');
2699
- var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +
2700
- stampSize.outerHeight;
2701
- for ( var i = firstCol; i <= lastCol; i++ ) {
2702
- this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );
2703
- }
2704
- };
2705
-
2706
- proto._getContainerSize = function() {
2707
- this.maxY = Math.max.apply( Math, this.colYs );
2708
- var size = {
2709
- height: this.maxY
2710
- };
2711
-
2712
- if ( this._getOption('fitWidth') ) {
2713
- size.width = this._getContainerFitWidth();
2714
- }
2715
-
2716
- return size;
2717
- };
2718
-
2719
- proto._getContainerFitWidth = function() {
2720
- var unusedCols = 0;
2721
- // count unused columns
2722
- var i = this.cols;
2723
- while ( --i ) {
2724
- if ( this.colYs[i] !== 0 ) {
2725
- break;
2726
- }
2727
- unusedCols++;
2728
- }
2729
- // fit container to columns that have been used
2730
- return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
2731
- };
2732
-
2733
- proto.needsResizeLayout = function() {
2734
- var previousWidth = this.containerWidth;
2735
- this.getContainerWidth();
2736
- return previousWidth != this.containerWidth;
2737
- };
2738
-
2739
- return Masonry;
2740
-
2741
- }));
2742
-
2743
- /*!
2744
- * Masonry layout mode
2745
- * sub-classes Masonry
2746
- * https://masonry.desandro.com
2747
- */
2748
-
2749
- ( function( window, factory ) {
2750
- // universal module definition
2751
- /* jshint strict: false */ /*globals define, module, require */
2752
- if ( typeof define == 'function' && define.amd ) {
2753
- // AMD
2754
- define( 'isotope-layout/js/layout-modes/masonry',[
2755
- '../layout-mode',
2756
- 'masonry-layout/masonry'
2757
- ],
2758
- factory );
2759
- } else if ( typeof module == 'object' && module.exports ) {
2760
- // CommonJS
2761
- module.exports = factory(
2762
- require('../layout-mode'),
2763
- require('masonry-layout')
2764
- );
2765
- } else {
2766
- // browser global
2767
- factory(
2768
- window.Isotope.LayoutMode,
2769
- window.Masonry
2770
- );
2771
- }
2772
-
2773
- }( window, function factory( LayoutMode, Masonry ) {
2774
- 'use strict';
2775
-
2776
- // -------------------------- masonryDefinition -------------------------- //
2777
-
2778
- // create an Outlayer layout class
2779
- var MasonryMode = LayoutMode.create('masonry');
2780
-
2781
- var proto = MasonryMode.prototype;
2782
-
2783
- var keepModeMethods = {
2784
- _getElementOffset: true,
2785
- layout: true,
2786
- _getMeasurement: true
2787
- };
2788
-
2789
- // inherit Masonry prototype
2790
- for ( var method in Masonry.prototype ) {
2791
- // do not inherit mode methods
2792
- if ( !keepModeMethods[ method ] ) {
2793
- proto[ method ] = Masonry.prototype[ method ];
2794
- }
2795
- }
2796
-
2797
- var measureColumns = proto.measureColumns;
2798
- proto.measureColumns = function() {
2799
- // set items, used if measuring first item
2800
- this.items = this.isotope.filteredItems;
2801
- measureColumns.call( this );
2802
- };
2803
-
2804
- // point to mode options for fitWidth
2805
- var _getOption = proto._getOption;
2806
- proto._getOption = function( option ) {
2807
- if ( option == 'fitWidth' ) {
2808
- return this.options.isFitWidth !== undefined ?
2809
- this.options.isFitWidth : this.options.fitWidth;
2810
- }
2811
- return _getOption.apply( this.isotope, arguments );
2812
- };
2813
-
2814
- return MasonryMode;
2815
-
2816
- }));
2817
-
2818
- /**
2819
- * fitRows layout mode
2820
- */
2821
-
2822
- ( function( window, factory ) {
2823
- // universal module definition
2824
- /* jshint strict: false */ /*globals define, module, require */
2825
- if ( typeof define == 'function' && define.amd ) {
2826
- // AMD
2827
- define( 'isotope-layout/js/layout-modes/fit-rows',[
2828
- '../layout-mode'
2829
- ],
2830
- factory );
2831
- } else if ( typeof exports == 'object' ) {
2832
- // CommonJS
2833
- module.exports = factory(
2834
- require('../layout-mode')
2835
- );
2836
- } else {
2837
- // browser global
2838
- factory(
2839
- window.Isotope.LayoutMode
2840
- );
2841
- }
2842
-
2843
- }( window, function factory( LayoutMode ) {
2844
- 'use strict';
2845
-
2846
- var FitRows = LayoutMode.create('fitRows');
2847
-
2848
- var proto = FitRows.prototype;
2849
-
2850
- proto._resetLayout = function() {
2851
- this.x = 0;
2852
- this.y = 0;
2853
- this.maxY = 0;
2854
- this._getMeasurement( 'gutter', 'outerWidth' );
2855
- };
2856
-
2857
- proto._getItemLayoutPosition = function( item ) {
2858
- item.getSize();
2859
-
2860
- var itemWidth = item.size.outerWidth + this.gutter;
2861
- // if this element cannot fit in the current row
2862
- var containerWidth = this.isotope.size.innerWidth + this.gutter;
2863
- if ( this.x !== 0 && itemWidth + this.x > containerWidth ) {
2864
- this.x = 0;
2865
- this.y = this.maxY;
2866
- }
2867
-
2868
- var position = {
2869
- x: this.x,
2870
- y: this.y
2871
- };
2872
-
2873
- this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
2874
- this.x += itemWidth;
2875
-
2876
- return position;
2877
- };
2878
-
2879
- proto._getContainerSize = function() {
2880
- return { height: this.maxY };
2881
- };
2882
-
2883
- return FitRows;
2884
-
2885
- }));
2886
-
2887
- /**
2888
- * vertical layout mode
2889
- */
2890
-
2891
- ( function( window, factory ) {
2892
- // universal module definition
2893
- /* jshint strict: false */ /*globals define, module, require */
2894
- if ( typeof define == 'function' && define.amd ) {
2895
- // AMD
2896
- define( 'isotope-layout/js/layout-modes/vertical',[
2897
- '../layout-mode'
2898
- ],
2899
- factory );
2900
- } else if ( typeof module == 'object' && module.exports ) {
2901
- // CommonJS
2902
- module.exports = factory(
2903
- require('../layout-mode')
2904
- );
2905
- } else {
2906
- // browser global
2907
- factory(
2908
- window.Isotope.LayoutMode
2909
- );
2910
- }
2911
-
2912
- }( window, function factory( LayoutMode ) {
2913
- 'use strict';
2914
-
2915
- var Vertical = LayoutMode.create( 'vertical', {
2916
- horizontalAlignment: 0
2917
- });
2918
-
2919
- var proto = Vertical.prototype;
2920
-
2921
- proto._resetLayout = function() {
2922
- this.y = 0;
2923
- };
2924
-
2925
- proto._getItemLayoutPosition = function( item ) {
2926
- item.getSize();
2927
- var x = ( this.isotope.size.innerWidth - item.size.outerWidth ) *
2928
- this.options.horizontalAlignment;
2929
- var y = this.y;
2930
- this.y += item.size.outerHeight;
2931
- return { x: x, y: y };
2932
- };
2933
-
2934
- proto._getContainerSize = function() {
2935
- return { height: this.y };
2936
- };
2937
-
2938
- return Vertical;
2939
-
2940
- }));
2941
-
2942
- /*!
2943
- * Isotope v3.0.6
2944
- *
2945
- * Licensed GPLv3 for open source use
2946
- * or Isotope Commercial License for commercial use
2947
- *
2948
- * https://isotope.metafizzy.co
2949
- * Copyright 2010-2018 Metafizzy
2950
- */
2951
-
2952
- ( function( window, factory ) {
2953
- // universal module definition
2954
- /* jshint strict: false */ /*globals define, module, require */
2955
- if ( typeof define == 'function' && define.amd ) {
2956
- // AMD
2957
- define( [
2958
- 'outlayer/outlayer',
2959
- 'get-size/get-size',
2960
- 'desandro-matches-selector/matches-selector',
2961
- 'fizzy-ui-utils/utils',
2962
- 'isotope-layout/js/item',
2963
- 'isotope-layout/js/layout-mode',
2964
- // include default layout modes
2965
- 'isotope-layout/js/layout-modes/masonry',
2966
- 'isotope-layout/js/layout-modes/fit-rows',
2967
- 'isotope-layout/js/layout-modes/vertical'
2968
- ],
2969
- function( Outlayer, getSize, matchesSelector, utils, Item, LayoutMode ) {
2970
- return factory( window, Outlayer, getSize, matchesSelector, utils, Item, LayoutMode );
2971
- });
2972
- } else if ( typeof module == 'object' && module.exports ) {
2973
- // CommonJS
2974
- module.exports = factory(
2975
- window,
2976
- require('outlayer'),
2977
- require('get-size'),
2978
- require('desandro-matches-selector'),
2979
- require('fizzy-ui-utils'),
2980
- require('isotope-layout/js/item'),
2981
- require('isotope-layout/js/layout-mode'),
2982
- // include default layout modes
2983
- require('isotope-layout/js/layout-modes/masonry'),
2984
- require('isotope-layout/js/layout-modes/fit-rows'),
2985
- require('isotope-layout/js/layout-modes/vertical')
2986
- );
2987
- } else {
2988
- // browser global
2989
- window.Isotope = factory(
2990
- window,
2991
- window.Outlayer,
2992
- window.getSize,
2993
- window.matchesSelector,
2994
- window.fizzyUIUtils,
2995
- window.Isotope.Item,
2996
- window.Isotope.LayoutMode
2997
- );
2998
- }
2999
-
3000
- }( window, function factory( window, Outlayer, getSize, matchesSelector, utils,
3001
- Item, LayoutMode ) {
3002
-
3003
-
3004
-
3005
- // -------------------------- vars -------------------------- //
3006
-
3007
- var jQuery = window.jQuery;
3008
-
3009
- // -------------------------- helpers -------------------------- //
3010
-
3011
- var trim = String.prototype.trim ?
3012
- function( str ) {
3013
- return str.trim();
3014
- } :
3015
- function( str ) {
3016
- return str.replace( /^\s+|\s+$/g, '' );
3017
- };
3018
-
3019
- // -------------------------- isotopeDefinition -------------------------- //
3020
-
3021
- // create an Outlayer layout class
3022
- var Isotope = Outlayer.create( 'isotope', {
3023
- layoutMode: 'masonry',
3024
- isJQueryFiltering: true,
3025
- sortAscending: true
3026
- });
3027
-
3028
- Isotope.Item = Item;
3029
- Isotope.LayoutMode = LayoutMode;
3030
-
3031
- var proto = Isotope.prototype;
3032
-
3033
- proto._create = function() {
3034
- this.itemGUID = 0;
3035
- // functions that sort items
3036
- this._sorters = {};
3037
- this._getSorters();
3038
- // call super
3039
- Outlayer.prototype._create.call( this );
3040
-
3041
- // create layout modes
3042
- this.modes = {};
3043
- // start filteredItems with all items
3044
- this.filteredItems = this.items;
3045
- // keep of track of sortBys
3046
- this.sortHistory = [ 'original-order' ];
3047
- // create from registered layout modes
3048
- for ( var name in LayoutMode.modes ) {
3049
- this._initLayoutMode( name );
3050
- }
3051
- };
3052
-
3053
- proto.reloadItems = function() {
3054
- // reset item ID counter
3055
- this.itemGUID = 0;
3056
- // call super
3057
- Outlayer.prototype.reloadItems.call( this );
3058
- };
3059
-
3060
- proto._itemize = function() {
3061
- var items = Outlayer.prototype._itemize.apply( this, arguments );
3062
- // assign ID for original-order
3063
- for ( var i=0; i < items.length; i++ ) {
3064
- var item = items[i];
3065
- item.id = this.itemGUID++;
3066
- }
3067
- this._updateItemsSortData( items );
3068
- return items;
3069
- };
3070
-
3071
-
3072
- // -------------------------- layout -------------------------- //
3073
-
3074
- proto._initLayoutMode = function( name ) {
3075
- var Mode = LayoutMode.modes[ name ];
3076
- // set mode options
3077
- // HACK extend initial options, back-fill in default options
3078
- var initialOpts = this.options[ name ] || {};
3079
- this.options[ name ] = Mode.options ?
3080
- utils.extend( Mode.options, initialOpts ) : initialOpts;
3081
- // init layout mode instance
3082
- this.modes[ name ] = new Mode( this );
3083
- };
3084
-
3085
-
3086
- proto.layout = function() {
3087
- // if first time doing layout, do all magic
3088
- if ( !this._isLayoutInited && this._getOption('initLayout') ) {
3089
- this.arrange();
3090
- return;
3091
- }
3092
- this._layout();
3093
- };
3094
-
3095
- // private method to be used in layout() & magic()
3096
- proto._layout = function() {
3097
- // don't animate first layout
3098
- var isInstant = this._getIsInstant();
3099
- // layout flow
3100
- this._resetLayout();
3101
- this._manageStamps();
3102
- this.layoutItems( this.filteredItems, isInstant );
3103
-
3104
- // flag for initalized
3105
- this._isLayoutInited = true;
3106
- };
3107
-
3108
- // filter + sort + layout
3109
- proto.arrange = function( opts ) {
3110
- // set any options pass
3111
- this.option( opts );
3112
- this._getIsInstant();
3113
- // filter, sort, and layout
3114
-
3115
- // filter
3116
- var filtered = this._filter( this.items );
3117
- this.filteredItems = filtered.matches;
3118
-
3119
- this._bindArrangeComplete();
3120
-
3121
- if ( this._isInstant ) {
3122
- this._noTransition( this._hideReveal, [ filtered ] );
3123
- } else {
3124
- this._hideReveal( filtered );
3125
- }
3126
-
3127
- this._sort();
3128
- this._layout();
3129
- };
3130
- // alias to _init for main plugin method
3131
- proto._init = proto.arrange;
3132
-
3133
- proto._hideReveal = function( filtered ) {
3134
- this.reveal( filtered.needReveal );
3135
- this.hide( filtered.needHide );
3136
- };
3137
-
3138
- // HACK
3139
- // Don't animate/transition first layout
3140
- // Or don't animate/transition other layouts
3141
- proto._getIsInstant = function() {
3142
- var isLayoutInstant = this._getOption('layoutInstant');
3143
- var isInstant = isLayoutInstant !== undefined ? isLayoutInstant :
3144
- !this._isLayoutInited;
3145
- this._isInstant = isInstant;
3146
- return isInstant;
3147
- };
3148
-
3149
- // listen for layoutComplete, hideComplete and revealComplete
3150
- // to trigger arrangeComplete
3151
- proto._bindArrangeComplete = function() {
3152
- // listen for 3 events to trigger arrangeComplete
3153
- var isLayoutComplete, isHideComplete, isRevealComplete;
3154
- var _this = this;
3155
- function arrangeParallelCallback() {
3156
- if ( isLayoutComplete && isHideComplete && isRevealComplete ) {
3157
- _this.dispatchEvent( 'arrangeComplete', null, [ _this.filteredItems ] );
3158
- }
3159
- }
3160
- this.once( 'layoutComplete', function() {
3161
- isLayoutComplete = true;
3162
- arrangeParallelCallback();
3163
- });
3164
- this.once( 'hideComplete', function() {
3165
- isHideComplete = true;
3166
- arrangeParallelCallback();
3167
- });
3168
- this.once( 'revealComplete', function() {
3169
- isRevealComplete = true;
3170
- arrangeParallelCallback();
3171
- });
3172
- };
3173
-
3174
- // -------------------------- filter -------------------------- //
3175
-
3176
- proto._filter = function( items ) {
3177
- var filter = this.options.filter;
3178
- filter = filter || '*';
3179
- var matches = [];
3180
- var hiddenMatched = [];
3181
- var visibleUnmatched = [];
3182
-
3183
- var test = this._getFilterTest( filter );
3184
-
3185
- // test each item
3186
- for ( var i=0; i < items.length; i++ ) {
3187
- var item = items[i];
3188
- if ( item.isIgnored ) {
3189
- continue;
3190
- }
3191
- // add item to either matched or unmatched group
3192
- var isMatched = test( item );
3193
- // item.isFilterMatched = isMatched;
3194
- // add to matches if its a match
3195
- if ( isMatched ) {
3196
- matches.push( item );
3197
- }
3198
- // add to additional group if item needs to be hidden or revealed
3199
- if ( isMatched && item.isHidden ) {
3200
- hiddenMatched.push( item );
3201
- } else if ( !isMatched && !item.isHidden ) {
3202
- visibleUnmatched.push( item );
3203
- }
3204
- }
3205
-
3206
- // return collections of items to be manipulated
3207
- return {
3208
- matches: matches,
3209
- needReveal: hiddenMatched,
3210
- needHide: visibleUnmatched
3211
- };
3212
- };
3213
-
3214
- // get a jQuery, function, or a matchesSelector test given the filter
3215
- proto._getFilterTest = function( filter ) {
3216
- if ( jQuery && this.options.isJQueryFiltering ) {
3217
- // use jQuery
3218
- return function( item ) {
3219
- return jQuery( item.element ).is( filter );
3220
- };
3221
- }
3222
- if ( typeof filter == 'function' ) {
3223
- // use filter as function
3224
- return function( item ) {
3225
- return filter( item.element );
3226
- };
3227
- }
3228
- // default, use filter as selector string
3229
- return function( item ) {
3230
- return matchesSelector( item.element, filter );
3231
- };
3232
- };
3233
-
3234
- // -------------------------- sorting -------------------------- //
3235
-
3236
- /**
3237
- * @params {Array} elems
3238
- * @public
3239
- */
3240
- proto.updateSortData = function( elems ) {
3241
- // get items
3242
- var items;
3243
- if ( elems ) {
3244
- elems = utils.makeArray( elems );
3245
- items = this.getItems( elems );
3246
- } else {
3247
- // update all items if no elems provided
3248
- items = this.items;
3249
- }
3250
-
3251
- this._getSorters();
3252
- this._updateItemsSortData( items );
3253
- };
3254
-
3255
- proto._getSorters = function() {
3256
- var getSortData = this.options.getSortData;
3257
- for ( var key in getSortData ) {
3258
- var sorter = getSortData[ key ];
3259
- this._sorters[ key ] = mungeSorter( sorter );
3260
- }
3261
- };
3262
-
3263
- /**
3264
- * @params {Array} items - of Isotope.Items
3265
- * @private
3266
- */
3267
- proto._updateItemsSortData = function( items ) {
3268
- // do not update if no items
3269
- var len = items && items.length;
3270
-
3271
- for ( var i=0; len && i < len; i++ ) {
3272
- var item = items[i];
3273
- item.updateSortData();
3274
- }
3275
- };
3276
-
3277
- // ----- munge sorter ----- //
3278
-
3279
- // encapsulate this, as we just need mungeSorter
3280
- // other functions in here are just for munging
3281
- var mungeSorter = ( function() {
3282
- // add a magic layer to sorters for convienent shorthands
3283
- // `.foo-bar` will use the text of .foo-bar querySelector
3284
- // `[foo-bar]` will use attribute
3285
- // you can also add parser
3286
- // `.foo-bar parseInt` will parse that as a number
3287
- function mungeSorter( sorter ) {
3288
- // if not a string, return function or whatever it is
3289
- if ( typeof sorter != 'string' ) {
3290
- return sorter;
3291
- }
3292
- // parse the sorter string
3293
- var args = trim( sorter ).split(' ');
3294
- var query = args[0];
3295
- // check if query looks like [an-attribute]
3296
- var attrMatch = query.match( /^\[(.+)\]$/ );
3297
- var attr = attrMatch && attrMatch[1];
3298
- var getValue = getValueGetter( attr, query );
3299
- // use second argument as a parser
3300
- var parser = Isotope.sortDataParsers[ args[1] ];
3301
- // parse the value, if there was a parser
3302
- sorter = parser ? function( elem ) {
3303
- return elem && parser( getValue( elem ) );
3304
- } :
3305
- // otherwise just return value
3306
- function( elem ) {
3307
- return elem && getValue( elem );
3308
- };
3309
-
3310
- return sorter;
3311
- }
3312
-
3313
- // get an attribute getter, or get text of the querySelector
3314
- function getValueGetter( attr, query ) {
3315
- // if query looks like [foo-bar], get attribute
3316
- if ( attr ) {
3317
- return function getAttribute( elem ) {
3318
- return elem.getAttribute( attr );
3319
- };
3320
- }
3321
-
3322
- // otherwise, assume its a querySelector, and get its text
3323
- return function getChildText( elem ) {
3324
- var child = elem.querySelector( query );
3325
- return child && child.textContent;
3326
- };
3327
- }
3328
-
3329
- return mungeSorter;
3330
- })();
3331
-
3332
- // parsers used in getSortData shortcut strings
3333
- Isotope.sortDataParsers = {
3334
- 'parseInt': function( val ) {
3335
- return parseInt( val, 10 );
3336
- },
3337
- 'parseFloat': function( val ) {
3338
- return parseFloat( val );
3339
- }
3340
- };
3341
-
3342
- // ----- sort method ----- //
3343
-
3344
- // sort filteredItem order
3345
- proto._sort = function() {
3346
- if ( !this.options.sortBy ) {
3347
- return;
3348
- }
3349
- // keep track of sortBy History
3350
- var sortBys = utils.makeArray( this.options.sortBy );
3351
- if ( !this._getIsSameSortBy( sortBys ) ) {
3352
- // concat all sortBy and sortHistory, add to front, oldest goes in last
3353
- this.sortHistory = sortBys.concat( this.sortHistory );
3354
- }
3355
- // sort magic
3356
- var itemSorter = getItemSorter( this.sortHistory, this.options.sortAscending );
3357
- this.filteredItems.sort( itemSorter );
3358
- };
3359
-
3360
- // check if sortBys is same as start of sortHistory
3361
- proto._getIsSameSortBy = function( sortBys ) {
3362
- for ( var i=0; i < sortBys.length; i++ ) {
3363
- if ( sortBys[i] != this.sortHistory[i] ) {
3364
- return false;
3365
- }
3366
- }
3367
- return true;
3368
- };
3369
-
3370
- // returns a function used for sorting
3371
- function getItemSorter( sortBys, sortAsc ) {
3372
- return function sorter( itemA, itemB ) {
3373
- // cycle through all sortKeys
3374
- for ( var i = 0; i < sortBys.length; i++ ) {
3375
- var sortBy = sortBys[i];
3376
- var a = itemA.sortData[ sortBy ];
3377
- var b = itemB.sortData[ sortBy ];
3378
- if ( a > b || a < b ) {
3379
- // if sortAsc is an object, use the value given the sortBy key
3380
- var isAscending = sortAsc[ sortBy ] !== undefined ? sortAsc[ sortBy ] : sortAsc;
3381
- var direction = isAscending ? 1 : -1;
3382
- return ( a > b ? 1 : -1 ) * direction;
3383
- }
3384
- }
3385
- return 0;
3386
- };
3387
- }
3388
-
3389
- // -------------------------- methods -------------------------- //
3390
-
3391
- // get layout mode
3392
- proto._mode = function() {
3393
- var layoutMode = this.options.layoutMode;
3394
- var mode = this.modes[ layoutMode ];
3395
- if ( !mode ) {
3396
- // TODO console.error
3397
- throw new Error( 'No layout mode: ' + layoutMode );
3398
- }
3399
- // HACK sync mode's options
3400
- // any options set after init for layout mode need to be synced
3401
- mode.options = this.options[ layoutMode ];
3402
- return mode;
3403
- };
3404
-
3405
- proto._resetLayout = function() {
3406
- // trigger original reset layout
3407
- Outlayer.prototype._resetLayout.call( this );
3408
- this._mode()._resetLayout();
3409
- };
3410
-
3411
- proto._getItemLayoutPosition = function( item ) {
3412
- return this._mode()._getItemLayoutPosition( item );
3413
- };
3414
-
3415
- proto._manageStamp = function( stamp ) {
3416
- this._mode()._manageStamp( stamp );
3417
- };
3418
-
3419
- proto._getContainerSize = function() {
3420
- return this._mode()._getContainerSize();
3421
- };
3422
-
3423
- proto.needsResizeLayout = function() {
3424
- return this._mode().needsResizeLayout();
3425
- };
3426
-
3427
- // -------------------------- adding & removing -------------------------- //
3428
-
3429
- // HEADS UP overwrites default Outlayer appended
3430
- proto.appended = function( elems ) {
3431
- var items = this.addItems( elems );
3432
- if ( !items.length ) {
3433
- return;
3434
- }
3435
- // filter, layout, reveal new items
3436
- var filteredItems = this._filterRevealAdded( items );
3437
- // add to filteredItems
3438
- this.filteredItems = this.filteredItems.concat( filteredItems );
3439
- };
3440
-
3441
- // HEADS UP overwrites default Outlayer prepended
3442
- proto.prepended = function( elems ) {
3443
- var items = this._itemize( elems );
3444
- if ( !items.length ) {
3445
- return;
3446
- }
3447
- // start new layout
3448
- this._resetLayout();
3449
- this._manageStamps();
3450
- // filter, layout, reveal new items
3451
- var filteredItems = this._filterRevealAdded( items );
3452
- // layout previous items
3453
- this.layoutItems( this.filteredItems );
3454
- // add to items and filteredItems
3455
- this.filteredItems = filteredItems.concat( this.filteredItems );
3456
- this.items = items.concat( this.items );
3457
- };
3458
-
3459
- proto._filterRevealAdded = function( items ) {
3460
- var filtered = this._filter( items );
3461
- this.hide( filtered.needHide );
3462
- // reveal all new items
3463
- this.reveal( filtered.matches );
3464
- // layout new items, no transition
3465
- this.layoutItems( filtered.matches, true );
3466
- return filtered.matches;
3467
- };
3468
-
3469
- /**
3470
- * Filter, sort, and layout newly-appended item elements
3471
- * @param {Array or NodeList or Element} elems
3472
- */
3473
- proto.insert = function( elems ) {
3474
- var items = this.addItems( elems );
3475
- if ( !items.length ) {
3476
- return;
3477
- }
3478
- // append item elements
3479
- var i, item;
3480
- var len = items.length;
3481
- for ( i=0; i < len; i++ ) {
3482
- item = items[i];
3483
- this.element.appendChild( item.element );
3484
- }
3485
- // filter new stuff
3486
- var filteredInsertItems = this._filter( items ).matches;
3487
- // set flag
3488
- for ( i=0; i < len; i++ ) {
3489
- items[i].isLayoutInstant = true;
3490
- }
3491
- this.arrange();
3492
- // reset flag
3493
- for ( i=0; i < len; i++ ) {
3494
- delete items[i].isLayoutInstant;
3495
- }
3496
- this.reveal( filteredInsertItems );
3497
- };
3498
-
3499
- var _remove = proto.remove;
3500
- proto.remove = function( elems ) {
3501
- elems = utils.makeArray( elems );
3502
- var removeItems = this.getItems( elems );
3503
- // do regular thing
3504
- _remove.call( this, elems );
3505
- // bail if no items to remove
3506
- var len = removeItems && removeItems.length;
3507
- // remove elems from filteredItems
3508
- for ( var i=0; len && i < len; i++ ) {
3509
- var item = removeItems[i];
3510
- // remove item from collection
3511
- utils.removeFrom( this.filteredItems, item );
3512
- }
3513
- };
3514
-
3515
- proto.shuffle = function() {
3516
- // update random sortData
3517
- for ( var i=0; i < this.items.length; i++ ) {
3518
- var item = this.items[i];
3519
- item.sortData.random = Math.random();
3520
- }
3521
- this.options.sortBy = 'random';
3522
- this._sort();
3523
- this._layout();
3524
- };
3525
-
3526
- /**
3527
- * trigger fn without transition
3528
- * kind of hacky to have this in the first place
3529
- * @param {Function} fn
3530
- * @param {Array} args
3531
- * @returns ret
3532
- * @private
3533
- */
3534
- proto._noTransition = function( fn, args ) {
3535
- // save transitionDuration before disabling
3536
- var transitionDuration = this.options.transitionDuration;
3537
- // disable transition
3538
- this.options.transitionDuration = 0;
3539
- // do it
3540
- var returnValue = fn.apply( this, args );
3541
- // re-enable transition for reveal
3542
- this.options.transitionDuration = transitionDuration;
3543
- return returnValue;
3544
- };
3545
-
3546
- // ----- helper methods ----- //
3547
-
3548
- /**
3549
- * getter method for getting filtered item elements
3550
- * @returns {Array} elems - collection of item elements
3551
- */
3552
- proto.getFilteredItemElements = function() {
3553
- return this.filteredItems.map( function( item ) {
3554
- return item.element;
3555
- });
3556
- };
3557
-
3558
- // ----- ----- //
3559
-
3560
- return Isotope;
3561
-
3562
- }));
3563
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/vendor/lazysizes/lazysizes.min.js CHANGED
@@ -1,2 +1,3 @@
1
- /*! lazysizes - v5.1.1 */
2
- !function(a,b){var c=b(a,a.document);a.lazySizes=c,"object"==typeof module&&module.exports&&(module.exports=c)}("undefined"!=typeof window?window:{},function(a,b){"use strict";var c,d;if(function(){var b,c={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};d=a.lazySizesConfig||a.lazysizesConfig||{};for(b in c)b in d||(d[b]=c[b])}(),!b||!b.getElementsByClassName)return{init:function(){},cfg:d,noSupport:!0};var e=b.documentElement,f=a.Date,g=a.HTMLPictureElement,h="addEventListener",i="getAttribute",j=a[h],k=a.setTimeout,l=a.requestAnimationFrame||k,m=a.requestIdleCallback,n=/^picture$/i,o=["load","error","lazyincluded","_lazyloaded"],p={},q=Array.prototype.forEach,r=function(a,b){return p[b]||(p[b]=new RegExp("(\\s|^)"+b+"(\\s|$)")),p[b].test(a[i]("class")||"")&&p[b]},s=function(a,b){r(a,b)||a.setAttribute("class",(a[i]("class")||"").trim()+" "+b)},t=function(a,b){var c;(c=r(a,b))&&a.setAttribute("class",(a[i]("class")||"").replace(c," "))},u=function(a,b,c){var d=c?h:"removeEventListener";c&&u(a,b),o.forEach(function(c){a[d](c,b)})},v=function(a,d,e,f,g){var h=b.createEvent("Event");return e||(e={}),e.instance=c,h.initEvent(d,!f,!g),h.detail=e,a.dispatchEvent(h),h},w=function(b,c){var e;!g&&(e=a.picturefill||d.pf)?(c&&c.src&&!b[i]("srcset")&&b.setAttribute("srcset",c.src),e({reevaluate:!0,elements:[b]})):c&&c.src&&(b.src=c.src)},x=function(a,b){return(getComputedStyle(a,null)||{})[b]},y=function(a,b,c){for(c=c||a.offsetWidth;c<d.minSize&&b&&!a._lazysizesWidth;)c=b.offsetWidth,b=b.parentNode;return c},z=function(){var a,c,d=[],e=[],f=d,g=function(){var b=f;for(f=d.length?e:d,a=!0,c=!1;b.length;)b.shift()();a=!1},h=function(d,e){a&&!e?d.apply(this,arguments):(f.push(d),c||(c=!0,(b.hidden?k:l)(g)))};return h._lsFlush=g,h}(),A=function(a,b){return b?function(){z(a)}:function(){var b=this,c=arguments;z(function(){a.apply(b,c)})}},B=function(a){var b,c=0,e=d.throttleDelay,g=d.ricTimeout,h=function(){b=!1,c=f.now(),a()},i=m&&g>49?function(){m(h,{timeout:g}),g!==d.ricTimeout&&(g=d.ricTimeout)}:A(function(){k(h)},!0);return function(a){var d;(a=!0===a)&&(g=33),b||(b=!0,d=e-(f.now()-c),d<0&&(d=0),a||d<9?i():k(i,d))}},C=function(a){var b,c,d=99,e=function(){b=null,a()},g=function(){var a=f.now()-c;a<d?k(g,d-a):(m||e)(e)};return function(){c=f.now(),b||(b=k(g,d))}},D=function(){var g,l,m,o,p,y,D,F,G,H,I,J,K=/^img$/i,L=/^iframe$/i,M="onscroll"in a&&!/(gle|ing)bot/.test(navigator.userAgent),N=0,O=0,P=0,Q=-1,R=function(a){P--,(!a||P<0||!a.target)&&(P=0)},S=function(a){return null==J&&(J="hidden"==x(b.body,"visibility")),J||"hidden"!=x(a.parentNode,"visibility")&&"hidden"!=x(a,"visibility")},T=function(a,c){var d,f=a,g=S(a);for(F-=c,I+=c,G-=c,H+=c;g&&(f=f.offsetParent)&&f!=b.body&&f!=e;)(g=(x(f,"opacity")||1)>0)&&"visible"!=x(f,"overflow")&&(d=f.getBoundingClientRect(),g=H>d.left&&G<d.right&&I>d.top-1&&F<d.bottom+1);return g},U=function(){var a,f,h,j,k,m,n,p,q,r,s,t,u=c.elements;if((o=d.loadMode)&&P<8&&(a=u.length)){for(f=0,Q++;f<a;f++)if(u[f]&&!u[f]._lazyRace)if(!M||c.prematureUnveil&&c.prematureUnveil(u[f]))aa(u[f]);else if((p=u[f][i]("data-expand"))&&(m=1*p)||(m=O),r||(r=!d.expand||d.expand<1?e.clientHeight>500&&e.clientWidth>500?500:370:d.expand,c._defEx=r,s=r*d.expFactor,t=d.hFac,J=null,O<s&&P<1&&Q>2&&o>2&&!b.hidden?(O=s,Q=0):O=o>1&&Q>1&&P<6?r:N),q!==m&&(y=innerWidth+m*t,D=innerHeight+m,n=-1*m,q=m),h=u[f].getBoundingClientRect(),(I=h.bottom)>=n&&(F=h.top)<=D&&(H=h.right)>=n*t&&(G=h.left)<=y&&(I||H||G||F)&&(d.loadHidden||S(u[f]))&&(l&&P<3&&!p&&(o<3||Q<4)||T(u[f],m))){if(aa(u[f]),k=!0,P>9)break}else!k&&l&&!j&&P<4&&Q<4&&o>2&&(g[0]||d.preloadAfterLoad)&&(g[0]||!p&&(I||H||G||F||"auto"!=u[f][i](d.sizesAttr)))&&(j=g[0]||u[f]);j&&!k&&aa(j)}},V=B(U),W=function(a){var b=a.target;if(b._lazyCache)return void delete b._lazyCache;R(a),s(b,d.loadedClass),t(b,d.loadingClass),u(b,Y),v(b,"lazyloaded")},X=A(W),Y=function(a){X({target:a.target})},Z=function(a,b){try{a.contentWindow.location.replace(b)}catch(c){a.src=b}},$=function(a){var b,c=a[i](d.srcsetAttr);(b=d.customMedia[a[i]("data-media")||a[i]("media")])&&a.setAttribute("media",b),c&&a.setAttribute("srcset",c)},_=A(function(a,b,c,e,f){var g,h,j,l,o,p;(o=v(a,"lazybeforeunveil",b)).defaultPrevented||(e&&(c?s(a,d.autosizesClass):a.setAttribute("sizes",e)),h=a[i](d.srcsetAttr),g=a[i](d.srcAttr),f&&(j=a.parentNode,l=j&&n.test(j.nodeName||"")),p=b.firesLoad||"src"in a&&(h||g||l),o={target:a},s(a,d.loadingClass),p&&(clearTimeout(m),m=k(R,2500),u(a,Y,!0)),l&&q.call(j.getElementsByTagName("source"),$),h?a.setAttribute("srcset",h):g&&!l&&(L.test(a.nodeName)?Z(a,g):a.src=g),f&&(h||l)&&w(a,{src:g})),a._lazyRace&&delete a._lazyRace,t(a,d.lazyClass),z(function(){var b=a.complete&&a.naturalWidth>1;p&&!b||(b&&s(a,"ls-is-cached"),W(o),a._lazyCache=!0,k(function(){"_lazyCache"in a&&delete a._lazyCache},9)),"lazy"==a.loading&&P--},!0)}),aa=function(a){if(!a._lazyRace){var b,c=K.test(a.nodeName),e=c&&(a[i](d.sizesAttr)||a[i]("sizes")),f="auto"==e;(!f&&l||!c||!a[i]("src")&&!a.srcset||a.complete||r(a,d.errorClass)||!r(a,d.lazyClass))&&(b=v(a,"lazyunveilread").detail,f&&E.updateElem(a,!0,a.offsetWidth),a._lazyRace=!0,P++,_(a,b,f,e,c))}},ba=C(function(){d.loadMode=3,V()}),ca=function(){3==d.loadMode&&(d.loadMode=2),ba()},da=function(){if(!l){if(f.now()-p<999)return void k(da,999);l=!0,d.loadMode=3,V(),j("scroll",ca,!0)}};return{_:function(){p=f.now(),c.elements=b.getElementsByClassName(d.lazyClass),g=b.getElementsByClassName(d.lazyClass+" "+d.preloadClass),j("scroll",V,!0),j("resize",V,!0),a.MutationObserver?new MutationObserver(V).observe(e,{childList:!0,subtree:!0,attributes:!0}):(e[h]("DOMNodeInserted",V,!0),e[h]("DOMAttrModified",V,!0),setInterval(V,999)),j("hashchange",V,!0),["focus","mouseover","click","load","transitionend","animationend"].forEach(function(a){b[h](a,V,!0)}),/d$|^c/.test(b.readyState)?da():(j("load",da),b[h]("DOMContentLoaded",V),k(da,2e4)),c.elements.length?(U(),z._lsFlush()):V()},checkElems:V,unveil:aa,_aLSL:ca}}(),E=function(){var a,c=A(function(a,b,c,d){var e,f,g;if(a._lazysizesWidth=d,d+="px",a.setAttribute("sizes",d),n.test(b.nodeName||""))for(e=b.getElementsByTagName("source"),f=0,g=e.length;f<g;f++)e[f].setAttribute("sizes",d);c.detail.dataAttr||w(a,c.detail)}),e=function(a,b,d){var e,f=a.parentNode;f&&(d=y(a,f,d),e=v(a,"lazybeforesizes",{width:d,dataAttr:!!b}),e.defaultPrevented||(d=e.detail.width)&&d!==a._lazysizesWidth&&c(a,f,e,d))},f=function(){var b,c=a.length;if(c)for(b=0;b<c;b++)e(a[b])},g=C(f);return{_:function(){a=b.getElementsByClassName(d.autosizesClass),j("resize",g)},checkElems:g,updateElem:e}}(),F=function(){!F.i&&b.getElementsByClassName&&(F.i=!0,E._(),D._())};return k(function(){d.init&&F()}),c={cfg:d,autoSizer:E,loader:D,init:F,uP:w,aC:s,rC:t,hC:r,fire:v,gW:y,rAF:z}});
 
1
+ /*! lazysizes - v5.2.2 */
2
+
3
+ !function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,a=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,l=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],i={},G=Array.prototype.forEach,J=function(e,t){if(!i[t]){i[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return i[t].test(e[$]("class")||"")&&i[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var i;if(i=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(i," "))}},V=function(t,i,e){var a=e?P:"removeEventListener";if(e){V(t,i)}r.forEach(function(e){t[a](e,i)})},X=function(e,t,i,a,r){var n=D.createEvent("Event");if(!i){i={}}i.instance=k;n.initEvent(t,!a,!r);n.detail=i;e.dispatchEvent(n);return n},Y=function(e,t){var i;if(!a&&(i=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}i({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,i){i=i||e.offsetWidth;while(i<H.minSize&&t&&!e._lazysizesWidth){i=t.offsetWidth;t=t.parentNode}return i},ee=function(){var i,a;var t=[];var r=[];var n=t;var s=function(){var e=n;n=t.length?r:t;i=true;a=false;while(e.length){e.shift()()}i=false};var e=function(e,t){if(i&&!t){e.apply(this,arguments)}else{n.push(e);if(!a){a=true;(D.hidden?I:U)(s)}}};e._lsFlush=s;return e}(),te=function(i,e){return e?function(){ee(i)}:function(){var e=this;var t=arguments;ee(function(){i.apply(e,t)})}},ie=function(e){var i;var a=0;var r=H.throttleDelay;var n=H.ricTimeout;var t=function(){i=false;a=f.now();e()};var s=l&&n>49?function(){l(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(i){return}i=true;t=r-(f.now()-a);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ae=function(e){var t,i;var a=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-i;if(e<a){I(n,a-e)}else{(l||r)(r)}};return function(){i=f.now();if(!t){t=I(n,a)}}},e=function(){var v,m,c,h,e;var y,z,g,p,C,b,A;var n=/^img$/i;var d=/^iframe$/i;var E="onscroll"in u&&!/(gle|ing)bot/.test(navigator.userAgent);var _=0;var w=0;var N=0;var M=-1;var x=function(e){N--;if(!e||N<0||!e.target){N=0}};var W=function(e){if(A==null){A=Z(D.body,"visibility")=="hidden"}return A||!(Z(e.parentNode,"visibility")=="hidden"&&Z(e,"visibility")=="hidden")};var S=function(e,t){var i;var a=e;var r=W(e);g-=t;b+=t;p-=t;C+=t;while(r&&(a=a.offsetParent)&&a!=D.body&&a!=O){r=(Z(a,"opacity")||1)>0;if(r&&Z(a,"overflow")!="visible"){i=a.getBoundingClientRect();r=C>i.left&&p<i.right&&b>i.top-1&&g<i.bottom+1}}return r};var t=function(){var e,t,i,a,r,n,s,l,o,u,f,c;var d=k.elements;if((h=H.loadMode)&&N<8&&(e=d.length)){t=0;M++;for(;t<e;t++){if(!d[t]||d[t]._lazyRace){continue}if(!E||k.prematureUnveil&&k.prematureUnveil(d[t])){R(d[t]);continue}if(!(l=d[t][$]("data-expand"))||!(n=l*1)){n=w}if(!u){u=!H.expand||H.expand<1?O.clientHeight>500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w<f&&N<1&&M>2&&h>2&&!D.hidden){w=f;M=0}else if(h>1&&M>1&&N<6){w=u}else{w=_}}if(o!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;o=n}i=d[t].getBoundingClientRect();if((b=i.bottom)>=s&&(g=i.top)<=z&&(C=i.right)>=s*c&&(p=i.left)<=y&&(b||C||p||g)&&(H.loadHidden||W(d[t]))&&(m&&N<3&&!l&&(h<3||M<4)||S(d[t],n))){R(d[t]);r=true;if(N>9){break}}else if(!r&&m&&!a&&N<4&&M<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!l&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){a=v[0]||d[t]}}if(a&&!r){R(a)}}};var i=ie(t);var B=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}x(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,L);X(t,"lazyloaded")};var a=te(B);var L=function(e){a({target:e.target})};var T=function(t,i){try{t.contentWindow.location.replace(i)}catch(e){t.src=i}};var F=function(e){var t;var i=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(i){e.setAttribute("srcset",i)}};var s=te(function(t,e,i,a,r){var n,s,l,o,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(a){if(i){K(t,H.autosizesClass)}else{t.setAttribute("sizes",a)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){l=t.parentNode;o=l&&j.test(l.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||o);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(x,2500);V(t,L,true)}if(o){G.call(l.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!o){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||o)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,"ls-is-cached")}B(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){N--}},true)});var R=function(e){if(e._lazyRace){return}var t;var i=n.test(e.nodeName);var a=i&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=a=="auto";if((r||!m)&&i&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;N++;s(e,t,r,a,i)};var r=ae(function(){H.loadMode=3;i()});var l=function(){if(H.loadMode==3){H.loadMode=2}r()};var o=function(){if(m){return}if(f.now()-e<999){I(o,999);return}m=true;H.loadMode=3;i();q("scroll",l,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",i,true);q("resize",i,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(i).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",i,true);O[P]("DOMAttrModified",i,true);setInterval(i,999)}q("hashchange",i,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,i,true)});if(/d$|^c/.test(D.readyState)){o()}else{q("load",o);D[P]("DOMContentLoaded",i);I(o,2e4)}if(k.elements.length){t();ee._lsFlush()}else{i()}},checkElems:i,unveil:R,_aLSL:l}}(),re=function(){var i;var n=te(function(e,t,i,a){var r,n,s;e._lazysizesWidth=a;a+="px";e.setAttribute("sizes",a);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n<s;n++){r[n].setAttribute("sizes",a)}}if(!i.detail.dataAttr){Y(e,i.detail)}});var a=function(e,t,i){var a;var r=e.parentNode;if(r){i=s(e,r,i);a=X(e,"lazybeforesizes",{width:i,dataAttr:!!t});if(!a.defaultPrevented){i=a.detail.width;if(i&&i!==e._lazysizesWidth){n(e,r,a,i)}}}};var e=function(){var e;var t=i.length;if(t){e=0;for(;e<t;e++){a(i[e])}}};var t=ae(e);return{_:function(){i=D.getElementsByClassName(H.autosizesClass);q("resize",t)},checkElems:t,updateElem:a}}(),t=function(){if(!t.i&&D.getElementsByClassName){t.i=true;re._();e._()}};return I(function(){H.init&&t()}),k={cfg:H,autoSizer:re,loader:e,init:t,uP:Y,aC:K,rC:Q,hC:J,fire:X,gW:s,rAF:ee}}(e,e.document,Date);e.lazySizes=t,"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:{});
assets/vendor/object-fit-images/{ofi.min.js → dist/ofi.min.js} RENAMED
File without changes
assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.css RENAMED
File without changes
assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.png RENAMED
File without changes
assets/vendor/photoswipe/{default-skin → dist/default-skin}/default-skin.svg RENAMED
File without changes
assets/vendor/photoswipe/{default-skin → dist/default-skin}/preloader.gif RENAMED
File without changes
assets/vendor/photoswipe/{photoswipe-ui-default.min.js → dist/photoswipe-ui-default.min.js} RENAMED
File without changes
assets/vendor/photoswipe/{photoswipe.css → dist/photoswipe.css} RENAMED
File without changes
assets/vendor/photoswipe/{photoswipe.min.js → dist/photoswipe.min.js} RENAMED
File without changes
assets/vendor/readme.md ADDED
@@ -0,0 +1 @@
 
1
+ # Vendor scripts will be loaded automatically after `build` task
assets/vendor/simplebar/{simplebar.min.css → dist/simplebar.min.css} RENAMED
File without changes
assets/vendor/simplebar/dist/simplebar.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * SimpleBar.js - v5.3.0
3
+ * Scrollbars, simpler.
4
+ * https://grsmto.github.io/simplebar/
5
+ *
6
+ * Made by Adrien Denat from a fork by Jonathan Nicol
7
+ * Under MIT License
8
+ */
9
+
10
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).SimpleBar=e()}(this,(function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n,i,o="object",s=function(t){return t&&t.Math==Math&&t},a=s(typeof globalThis==o&&globalThis)||s(typeof window==o&&window)||s(typeof self==o&&self)||s(typeof t==o&&t)||Function("return this")(),c=function(t){try{return!!t()}catch(t){return!0}},l=!c((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,h={f:f&&!u.call({1:2},1)?function(t){var e=f(this,t);return!!e&&e.enumerable}:u},d=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},p={}.toString,v=function(t){return p.call(t).slice(8,-1)},g="".split,y=c((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==v(t)?g.call(t,""):Object(t)}:Object,b=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return y(b(t))},x=function(t){return"object"==typeof t?null!==t:"function"==typeof t},E=function(t,e){if(!x(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!x(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!x(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!x(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},w={}.hasOwnProperty,O=function(t,e){return w.call(t,e)},_=a.document,S=x(_)&&x(_.createElement),A=function(t){return S?_.createElement(t):{}},k=!l&&!c((function(){return 7!=Object.defineProperty(A("div"),"a",{get:function(){return 7}}).a})),L=Object.getOwnPropertyDescriptor,M={f:l?L:function(t,e){if(t=m(t),e=E(e,!0),k)try{return L(t,e)}catch(t){}if(O(t,e))return d(!h.f.call(t,e),t[e])}},T=function(t){if(!x(t))throw TypeError(String(t)+" is not an object");return t},j=Object.defineProperty,R={f:l?j:function(t,e,r){if(T(t),e=E(e,!0),T(r),k)try{return j(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},W=l?function(t,e,r){return R.f(t,e,d(1,r))}:function(t,e,r){return t[e]=r,t},z=function(t,e){try{W(a,t,e)}catch(r){a[t]=e}return e},C=e((function(t){var e=a["__core-js_shared__"]||z("__core-js_shared__",{});(t.exports=function(t,r){return e[t]||(e[t]=void 0!==r?r:{})})("versions",[]).push({version:"3.2.1",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),N=C("native-function-to-string",Function.toString),I=a.WeakMap,D="function"==typeof I&&/native code/.test(N.call(I)),P=0,V=Math.random(),F=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++P+V).toString(36)},B=C("keys"),H=function(t){return B[t]||(B[t]=F(t))},q={},$=a.WeakMap;if(D){var X=new $,Y=X.get,G=X.has,U=X.set;r=function(t,e){return U.call(X,t,e),e},n=function(t){return Y.call(X,t)||{}},i=function(t){return G.call(X,t)}}else{var Q=H("state");q[Q]=!0,r=function(t,e){return W(t,Q,e),e},n=function(t){return O(t,Q)?t[Q]:{}},i=function(t){return O(t,Q)}}var K={set:r,get:n,has:i,enforce:function(t){return i(t)?n(t):r(t,{})},getterFor:function(t){return function(e){var r;if(!x(e)||(r=n(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},J=e((function(t){var e=K.get,r=K.enforce,n=String(N).split("toString");C("inspectSource",(function(t){return N.call(t)})),(t.exports=function(t,e,i,o){var s=!!o&&!!o.unsafe,c=!!o&&!!o.enumerable,l=!!o&&!!o.noTargetGet;"function"==typeof i&&("string"!=typeof e||O(i,"name")||W(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==a?(s?!l&&t[e]&&(c=!0):delete t[e],c?t[e]=i:W(t,e,i)):c?t[e]=i:z(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||N.call(this)}))})),Z=a,tt=function(t){return"function"==typeof t?t:void 0},et=function(t,e){return arguments.length<2?tt(Z[t])||tt(a[t]):Z[t]&&Z[t][e]||a[t]&&a[t][e]},rt=Math.ceil,nt=Math.floor,it=function(t){return isNaN(t=+t)?0:(t>0?nt:rt)(t)},ot=Math.min,st=function(t){return t>0?ot(it(t),9007199254740991):0},at=Math.max,ct=Math.min,lt=function(t){return function(e,r,n){var i,o=m(e),s=st(o.length),a=function(t,e){var r=it(t);return r<0?at(r+e,0):ct(r,e)}(n,s);if(t&&r!=r){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===r)return t||a||0;return!t&&-1}},ut={includes:lt(!0),indexOf:lt(!1)}.indexOf,ft=function(t,e){var r,n=m(t),i=0,o=[];for(r in n)!O(q,r)&&O(n,r)&&o.push(r);for(;e.length>i;)O(n,r=e[i++])&&(~ut(o,r)||o.push(r));return o},ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],dt=ht.concat("length","prototype"),pt={f:Object.getOwnPropertyNames||function(t){return ft(t,dt)}},vt={f:Object.getOwnPropertySymbols},gt=et("Reflect","ownKeys")||function(t){var e=pt.f(T(t)),r=vt.f;return r?e.concat(r(t)):e},yt=function(t,e){for(var r=gt(e),n=R.f,i=M.f,o=0;o<r.length;o++){var s=r[o];O(t,s)||n(t,s,i(e,s))}},bt=/#|\.prototype\./,mt=function(t,e){var r=Et[xt(t)];return r==Ot||r!=wt&&("function"==typeof e?c(e):!!e)},xt=mt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Et=mt.data={},wt=mt.NATIVE="N",Ot=mt.POLYFILL="P",_t=mt,St=M.f,At=function(t,e){var r,n,i,o,s,c=t.target,l=t.global,u=t.stat;if(r=l?a:u?a[c]||z(c,{}):(a[c]||{}).prototype)for(n in e){if(o=e[n],i=t.noTargetGet?(s=St(r,n))&&s.value:r[n],!_t(l?n:c+(u?".":"#")+n,t.forced)&&void 0!==i){if(typeof o==typeof i)continue;yt(o,i)}(t.sham||i&&i.sham)&&W(o,"sham",!0),J(r,n,o,t)}},kt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},Lt=function(t,e,r){if(kt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}},Mt=function(t){return Object(b(t))},Tt=Array.isArray||function(t){return"Array"==v(t)},jt=!!Object.getOwnPropertySymbols&&!c((function(){return!String(Symbol())})),Rt=a.Symbol,Wt=C("wks"),zt=function(t){return Wt[t]||(Wt[t]=jt&&Rt[t]||(jt?Rt:F)("Symbol."+t))},Ct=zt("species"),Nt=function(t,e){var r;return Tt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Tt(r.prototype)?x(r)&&null===(r=r[Ct])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},It=[].push,Dt=function(t){var e=1==t,r=2==t,n=3==t,i=4==t,o=6==t,s=5==t||o;return function(a,c,l,u){for(var f,h,d=Mt(a),p=y(d),v=Lt(c,l,3),g=st(p.length),b=0,m=u||Nt,x=e?m(a,g):r?m(a,0):void 0;g>b;b++)if((s||b in p)&&(h=v(f=p[b],b,d),t))if(e)x[b]=h;else if(h)switch(t){case 3:return!0;case 5:return f;case 6:return b;case 2:It.call(x,f)}else if(i)return!1;return o?-1:n||i?i:x}},Pt={forEach:Dt(0),map:Dt(1),filter:Dt(2),some:Dt(3),every:Dt(4),find:Dt(5),findIndex:Dt(6)},Vt=function(t,e){var r=[][t];return!r||!c((function(){r.call(null,e||function(){throw 1},1)}))},Ft=Pt.forEach,Bt=Vt("forEach")?function(t){return Ft(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;At({target:"Array",proto:!0,forced:[].forEach!=Bt},{forEach:Bt});var Ht={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};for(var qt in Ht){var $t=a[qt],Xt=$t&&$t.prototype;if(Xt&&Xt.forEach!==Bt)try{W(Xt,"forEach",Bt)}catch(t){Xt.forEach=Bt}}var Yt=!("undefined"==typeof window||!window.document||!window.document.createElement),Gt=zt("species"),Ut=Pt.filter;At({target:"Array",proto:!0,forced:!function(t){return!c((function(){var e=[];return(e.constructor={})[Gt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}("filter")},{filter:function(t){return Ut(this,t,arguments.length>1?arguments[1]:void 0)}});var Qt=Object.keys||function(t){return ft(t,ht)},Kt=l?Object.defineProperties:function(t,e){T(t);for(var r,n=Qt(e),i=n.length,o=0;i>o;)R.f(t,r=n[o++],e[r]);return t},Jt=et("document","documentElement"),Zt=H("IE_PROTO"),te=function(){},ee=function(){var t,e=A("iframe"),r=ht.length;for(e.style.display="none",Jt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),ee=t.F;r--;)delete ee.prototype[ht[r]];return ee()},re=Object.create||function(t,e){var r;return null!==t?(te.prototype=T(t),r=new te,te.prototype=null,r[Zt]=t):r=ee(),void 0===e?r:Kt(r,e)};q[Zt]=!0;var ne=zt("unscopables"),ie=Array.prototype;null==ie[ne]&&W(ie,ne,re(null));var oe,se,ae,ce=function(t){ie[ne][t]=!0},le={},ue=!c((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),fe=H("IE_PROTO"),he=Object.prototype,de=ue?Object.getPrototypeOf:function(t){return t=Mt(t),O(t,fe)?t[fe]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?he:null},pe=zt("iterator"),ve=!1;[].keys&&("next"in(ae=[].keys())?(se=de(de(ae)))!==Object.prototype&&(oe=se):ve=!0),null==oe&&(oe={}),O(oe,pe)||W(oe,pe,(function(){return this}));var ge={IteratorPrototype:oe,BUGGY_SAFARI_ITERATORS:ve},ye=R.f,be=zt("toStringTag"),me=function(t,e,r){t&&!O(t=r?t:t.prototype,be)&&ye(t,be,{configurable:!0,value:e})},xe=ge.IteratorPrototype,Ee=function(){return this},we=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return T(r),function(t){if(!x(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),Oe=ge.IteratorPrototype,_e=ge.BUGGY_SAFARI_ITERATORS,Se=zt("iterator"),Ae=function(){return this},ke=function(t,e,r,n,i,o,s){!function(t,e,r){var n=e+" Iterator";t.prototype=re(xe,{next:d(1,r)}),me(t,n,!1),le[n]=Ee}(r,e,n);var a,c,l,u=function(t){if(t===i&&g)return g;if(!_e&&t in p)return p[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},f=e+" Iterator",h=!1,p=t.prototype,v=p[Se]||p["@@iterator"]||i&&p[i],g=!_e&&v||u(i),y="Array"==e&&p.entries||v;if(y&&(a=de(y.call(new t)),Oe!==Object.prototype&&a.next&&(de(a)!==Oe&&(we?we(a,Oe):"function"!=typeof a[Se]&&W(a,Se,Ae)),me(a,f,!0))),"values"==i&&v&&"values"!==v.name&&(h=!0,g=function(){return v.call(this)}),p[Se]!==g&&W(p,Se,g),le[e]=g,i)if(c={values:u("values"),keys:o?g:u("keys"),entries:u("entries")},s)for(l in c)!_e&&!h&&l in p||J(p,l,c[l]);else At({target:e,proto:!0,forced:_e||h},c);return c},Le=K.set,Me=K.getterFor("Array Iterator"),Te=ke(Array,"Array",(function(t,e){Le(this,{type:"Array Iterator",target:m(t),index:0,kind:e})}),(function(){var t=Me(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");le.Arguments=le.Array,ce("keys"),ce("values"),ce("entries");var je=Object.assign,Re=!je||c((function(){var t={},e={},r=Symbol();return t[r]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=je({},t)[r]||"abcdefghijklmnopqrst"!=Qt(je({},e)).join("")}))?function(t,e){for(var r=Mt(t),n=arguments.length,i=1,o=vt.f,s=h.f;n>i;)for(var a,c=y(arguments[i++]),u=o?Qt(c).concat(o(c)):Qt(c),f=u.length,d=0;f>d;)a=u[d++],l&&!s.call(c,a)||(r[a]=c[a]);return r}:je;At({target:"Object",stat:!0,forced:Object.assign!==Re},{assign:Re});var We=zt("toStringTag"),ze="Arguments"==v(function(){return arguments}()),Ce=function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),We))?r:ze?v(e):"Object"==(n=v(e))&&"function"==typeof e.callee?"Arguments":n},Ne={};Ne[zt("toStringTag")]="z";var Ie="[object z]"!==String(Ne)?function(){return"[object "+Ce(this)+"]"}:Ne.toString,De=Object.prototype;Ie!==De.toString&&J(De,"toString",Ie,{unsafe:!0});var Pe="\t\n\v\f\r                 \u2028\u2029\ufeff",Ve="["+Pe+"]",Fe=RegExp("^"+Ve+Ve+"*"),Be=RegExp(Ve+Ve+"*$"),He=function(t){return function(e){var r=String(b(e));return 1&t&&(r=r.replace(Fe,"")),2&t&&(r=r.replace(Be,"")),r}},qe={start:He(1),end:He(2),trim:He(3)}.trim,$e=a.parseInt,Xe=/^[+-]?0[Xx]/,Ye=8!==$e(Pe+"08")||22!==$e(Pe+"0x16")?function(t,e){var r=qe(String(t));return $e(r,e>>>0||(Xe.test(r)?16:10))}:$e;At({global:!0,forced:parseInt!=Ye},{parseInt:Ye});var Ge=function(t){return function(e,r){var n,i,o=String(b(e)),s=it(r),a=o.length;return s<0||s>=a?t?"":void 0:(n=o.charCodeAt(s))<55296||n>56319||s+1===a||(i=o.charCodeAt(s+1))<56320||i>57343?t?o.charAt(s):n:t?o.slice(s,s+2):i-56320+(n-55296<<10)+65536}},Ue={codeAt:Ge(!1),charAt:Ge(!0)},Qe=Ue.charAt,Ke=K.set,Je=K.getterFor("String Iterator");ke(String,"String",(function(t){Ke(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=Je(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Qe(r,n),e.index+=t.length,{value:t,done:!1})}));var Ze=function(t,e,r){for(var n in e)J(t,n,e[n],r);return t},tr=!c((function(){return Object.isExtensible(Object.preventExtensions({}))})),er=e((function(t){var e=R.f,r=F("meta"),n=0,i=Object.isExtensible||function(){return!0},o=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},s=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!x(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!O(t,r)){if(!i(t))return"F";if(!e)return"E";o(t)}return t[r].objectID},getWeakData:function(t,e){if(!O(t,r)){if(!i(t))return!0;if(!e)return!1;o(t)}return t[r].weakData},onFreeze:function(t){return tr&&s.REQUIRED&&i(t)&&!O(t,r)&&o(t),t}};q[r]=!0})),rr=(er.REQUIRED,er.fastKey,er.getWeakData,er.onFreeze,zt("iterator")),nr=Array.prototype,ir=zt("iterator"),or=function(t,e,r,n){try{return n?e(T(r)[0],r[1]):e(r)}catch(e){var i=t.return;throw void 0!==i&&T(i.call(t)),e}},sr=e((function(t){var e=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,r,n,i,o){var s,a,c,l,u,f,h,d=Lt(r,n,i?2:1);if(o)s=t;else{if("function"!=typeof(a=function(t){if(null!=t)return t[ir]||t["@@iterator"]||le[Ce(t)]}(t)))throw TypeError("Target is not iterable");if(void 0!==(h=a)&&(le.Array===h||nr[rr]===h)){for(c=0,l=st(t.length);l>c;c++)if((u=i?d(T(f=t[c])[0],f[1]):d(t[c]))&&u instanceof e)return u;return new e(!1)}s=a.call(t)}for(;!(f=s.next()).done;)if((u=or(s,d,f.value,i))&&u instanceof e)return u;return new e(!1)}).stop=function(t){return new e(!0,t)}})),ar=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},cr=zt("iterator"),lr=!1;try{var ur=0,fr={next:function(){return{done:!!ur++}},return:function(){lr=!0}};fr[cr]=function(){return this},Array.from(fr,(function(){throw 2}))}catch(t){}var hr=function(t,e,r,n,i){var o=a[t],s=o&&o.prototype,l=o,u=n?"set":"add",f={},h=function(t){var e=s[t];J(s,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(i&&!x(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return i&&!x(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(i&&!x(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(_t(t,"function"!=typeof o||!(i||s.forEach&&!c((function(){(new o).entries().next()})))))l=r.getConstructor(e,t,n,u),er.REQUIRED=!0;else if(_t(t,!0)){var d=new l,p=d[u](i?{}:-0,1)!=d,v=c((function(){d.has(1)})),g=function(t,e){if(!e&&!lr)return!1;var r=!1;try{var n={};n[cr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r}((function(t){new o(t)})),y=!i&&c((function(){for(var t=new o,e=5;e--;)t[u](e,e);return!t.has(-0)}));g||((l=e((function(e,r){ar(e,l,t);var i=function(t,e,r){var n,i;return we&&"function"==typeof(n=e.constructor)&&n!==r&&x(i=n.prototype)&&i!==r.prototype&&we(t,i),t}(new o,e,l);return null!=r&&sr(r,i[u],i,n),i}))).prototype=s,s.constructor=l),(v||y)&&(h("delete"),h("has"),n&&h("get")),(y||p)&&h(u),i&&s.clear&&delete s.clear}return f[t]=l,At({global:!0,forced:l!=o},f),me(l,t),i||r.setStrong(l,t,n),l},dr=er.getWeakData,pr=K.set,vr=K.getterFor,gr=Pt.find,yr=Pt.findIndex,br=0,mr=function(t){return t.frozen||(t.frozen=new xr)},xr=function(){this.entries=[]},Er=function(t,e){return gr(t.entries,(function(t){return t[0]===e}))};xr.prototype={get:function(t){var e=Er(this,t);if(e)return e[1]},has:function(t){return!!Er(this,t)},set:function(t,e){var r=Er(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=yr(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}};var wr={getConstructor:function(t,e,r,n){var i=t((function(t,o){ar(t,i,e),pr(t,{type:e,id:br++,frozen:void 0}),null!=o&&sr(o,t[n],t,r)})),o=vr(e),s=function(t,e,r){var n=o(t),i=dr(T(e),!0);return!0===i?mr(n).set(e,r):i[n.id]=r,t};return Ze(i.prototype,{delete:function(t){var e=o(this);if(!x(t))return!1;var r=dr(t);return!0===r?mr(e).delete(t):r&&O(r,e.id)&&delete r[e.id]},has:function(t){var e=o(this);if(!x(t))return!1;var r=dr(t);return!0===r?mr(e).has(t):r&&O(r,e.id)}}),Ze(i.prototype,r?{get:function(t){var e=o(this);if(x(t)){var r=dr(t);return!0===r?mr(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return s(this,t,e)}}:{add:function(t){return s(this,t,!0)}}),i}},Or=(e((function(t){var e,r=K.enforce,n=!a.ActiveXObject&&"ActiveXObject"in a,i=Object.isExtensible,o=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},s=t.exports=hr("WeakMap",o,wr,!0,!0);if(D&&n){e=wr.getConstructor(o,"WeakMap",!0),er.REQUIRED=!0;var c=s.prototype,l=c.delete,u=c.has,f=c.get,h=c.set;Ze(c,{delete:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),l.call(this,t)||n.frozen.delete(t)}return l.call(this,t)},has:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),u.call(this,t)||n.frozen.has(t)}return u.call(this,t)},get:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),u.call(this,t)?f.call(this,t):n.frozen.get(t)}return f.call(this,t)},set:function(t,n){if(x(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),u.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}})),zt("iterator")),_r=zt("toStringTag"),Sr=Te.values;for(var Ar in Ht){var kr=a[Ar],Lr=kr&&kr.prototype;if(Lr){if(Lr[Or]!==Sr)try{W(Lr,Or,Sr)}catch(t){Lr[Or]=Sr}if(Lr[_r]||W(Lr,_r,Ar),Ht[Ar])for(var Mr in Te)if(Lr[Mr]!==Te[Mr])try{W(Lr,Mr,Te[Mr])}catch(t){Lr[Mr]=Te[Mr]}}}var Tr="Expected a function",jr=NaN,Rr="[object Symbol]",Wr=/^\s+|\s+$/g,zr=/^[-+]0x[0-9a-f]+$/i,Cr=/^0b[01]+$/i,Nr=/^0o[0-7]+$/i,Ir=parseInt,Dr="object"==typeof t&&t&&t.Object===Object&&t,Pr="object"==typeof self&&self&&self.Object===Object&&self,Vr=Dr||Pr||Function("return this")(),Fr=Object.prototype.toString,Br=Math.max,Hr=Math.min,qr=function(){return Vr.Date.now()};function $r(t,e,r){var n,i,o,s,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof t)throw new TypeError(Tr);function d(e){var r=n,o=i;return n=i=void 0,l=e,s=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||f&&t-l>=o}function v(){var t=qr();if(p(t))return g(t);a=setTimeout(v,function(t){var r=e-(t-c);return f?Hr(r,o-(t-l)):r}(t))}function g(t){return a=void 0,h&&n?d(t):(n=i=void 0,s)}function y(){var t=qr(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(v,e),u?d(t):s}(c);if(f)return a=setTimeout(v,e),d(c)}return void 0===a&&(a=setTimeout(v,e)),s}return e=Yr(e)||0,Xr(r)&&(u=!!r.leading,o=(f="maxWait"in r)?Br(Yr(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},y.flush=function(){return void 0===a?s:g(qr())},y}function Xr(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Yr(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&Fr.call(t)==Rr}(t))return jr;if(Xr(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Xr(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Wr,"");var r=Cr.test(t);return r||Nr.test(t)?Ir(t.slice(2),r?2:8):zr.test(t)?jr:+t}var Gr=function(t,e,r){var n=!0,i=!0;if("function"!=typeof t)throw new TypeError(Tr);return Xr(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),$r(t,e,{leading:n,maxWait:e,trailing:i})},Ur="Expected a function",Qr=NaN,Kr="[object Symbol]",Jr=/^\s+|\s+$/g,Zr=/^[-+]0x[0-9a-f]+$/i,tn=/^0b[01]+$/i,en=/^0o[0-7]+$/i,rn=parseInt,nn="object"==typeof t&&t&&t.Object===Object&&t,on="object"==typeof self&&self&&self.Object===Object&&self,sn=nn||on||Function("return this")(),an=Object.prototype.toString,cn=Math.max,ln=Math.min,un=function(){return sn.Date.now()};function fn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function hn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&an.call(t)==Kr}(t))return Qr;if(fn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=fn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Jr,"");var r=tn.test(t);return r||en.test(t)?rn(t.slice(2),r?2:8):Zr.test(t)?Qr:+t}var dn=function(t,e,r){var n,i,o,s,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof t)throw new TypeError(Ur);function d(e){var r=n,o=i;return n=i=void 0,l=e,s=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||f&&t-l>=o}function v(){var t=un();if(p(t))return g(t);a=setTimeout(v,function(t){var r=e-(t-c);return f?ln(r,o-(t-l)):r}(t))}function g(t){return a=void 0,h&&n?d(t):(n=i=void 0,s)}function y(){var t=un(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(v,e),u?d(t):s}(c);if(f)return a=setTimeout(v,e),d(c)}return void 0===a&&(a=setTimeout(v,e)),s}return e=hn(e)||0,fn(r)&&(u=!!r.leading,o=(f="maxWait"in r)?cn(hn(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},y.flush=function(){return void 0===a?s:g(un())},y},pn="Expected a function",vn="__lodash_hash_undefined__",gn="[object Function]",yn="[object GeneratorFunction]",bn=/^\[object .+?Constructor\]$/,mn="object"==typeof t&&t&&t.Object===Object&&t,xn="object"==typeof self&&self&&self.Object===Object&&self,En=mn||xn||Function("return this")();var wn=Array.prototype,On=Function.prototype,_n=Object.prototype,Sn=En["__core-js_shared__"],An=function(){var t=/[^.]+$/.exec(Sn&&Sn.keys&&Sn.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),kn=On.toString,Ln=_n.hasOwnProperty,Mn=_n.toString,Tn=RegExp("^"+kn.call(Ln).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),jn=wn.splice,Rn=Vn(En,"Map"),Wn=Vn(Object,"create");function zn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Cn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Nn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function In(t,e){for(var r,n,i=t.length;i--;)if((r=t[i][0])===(n=e)||r!=r&&n!=n)return i;return-1}function Dn(t){return!(!Bn(t)||(e=t,An&&An in e))&&(function(t){var e=Bn(t)?Mn.call(t):"";return e==gn||e==yn}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?Tn:bn).test(function(t){if(null!=t){try{return kn.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t));var e}function Pn(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Vn(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return Dn(r)?r:void 0}function Fn(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError(pn);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s),s};return r.cache=new(Fn.Cache||Nn),r}function Bn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}zn.prototype.clear=function(){this.__data__=Wn?Wn(null):{}},zn.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},zn.prototype.get=function(t){var e=this.__data__;if(Wn){var r=e[t];return r===vn?void 0:r}return Ln.call(e,t)?e[t]:void 0},zn.prototype.has=function(t){var e=this.__data__;return Wn?void 0!==e[t]:Ln.call(e,t)},zn.prototype.set=function(t,e){return this.__data__[t]=Wn&&void 0===e?vn:e,this},Cn.prototype.clear=function(){this.__data__=[]},Cn.prototype.delete=function(t){var e=this.__data__,r=In(e,t);return!(r<0)&&(r==e.length-1?e.pop():jn.call(e,r,1),!0)},Cn.prototype.get=function(t){var e=this.__data__,r=In(e,t);return r<0?void 0:e[r][1]},Cn.prototype.has=function(t){return In(this.__data__,t)>-1},Cn.prototype.set=function(t,e){var r=this.__data__,n=In(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},Nn.prototype.clear=function(){this.__data__={hash:new zn,map:new(Rn||Cn),string:new zn}},Nn.prototype.delete=function(t){return Pn(this,t).delete(t)},Nn.prototype.get=function(t){return Pn(this,t).get(t)},Nn.prototype.has=function(t){return Pn(this,t).has(t)},Nn.prototype.set=function(t,e){return Pn(this,t).set(t,e),this},Fn.Cache=Nn;var Hn=Fn,qn=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var r=-1;return t.some((function(t,n){return t[0]===e&&(r=n,!0)})),r}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var r=t(this.__entries__,e),n=this.__entries__[r];return n&&n[1]},e.prototype.set=function(e,r){var n=t(this.__entries__,e);~n?this.__entries__[n][1]=r:this.__entries__.push([e,r])},e.prototype.delete=function(e){var r=this.__entries__,n=t(r,e);~n&&r.splice(n,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var r=0,n=this.__entries__;r<n.length;r++){var i=n[r];t.call(e,i[1],i[0])}},e}()}(),$n="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,Xn="undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),Yn="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(Xn):function(t){return setTimeout((function(){return t(Date.now())}),1e3/60)},Gn=2;var Un=20,Qn=["top","right","bottom","left","width","height","size","weight"],Kn="undefined"!=typeof MutationObserver,Jn=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(t,e){var r=!1,n=!1,i=0;function o(){r&&(r=!1,t()),n&&a()}function s(){Yn(o)}function a(){var t=Date.now();if(r){if(t-i<Gn)return;n=!0}else r=!0,n=!1,setTimeout(s,e);i=t}return a}(this.refresh.bind(this),Un)}return t.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},t.prototype.removeObserver=function(t){var e=this.observers_,r=e.indexOf(t);~r&&e.splice(r,1),!e.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},t.prototype.updateObservers_=function(){var t=this.observers_.filter((function(t){return t.gatherActive(),t.hasActive()}));return t.forEach((function(t){return t.broadcastActive()})),t.length>0},t.prototype.connect_=function(){$n&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Kn?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){$n&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,r=void 0===e?"":e;Qn.some((function(t){return!!~r.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),Zn=function(t,e){for(var r=0,n=Object.keys(e);r<n.length;r++){var i=n[r];Object.defineProperty(t,i,{value:e[i],enumerable:!1,writable:!1,configurable:!0})}return t},ti=function(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView||Xn},ei=ai(0,0,0,0);function ri(t){return parseFloat(t)||0}function ni(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return e.reduce((function(e,r){return e+ri(t["border-"+r+"-width"])}),0)}function ii(t){var e=t.clientWidth,r=t.clientHeight;if(!e&&!r)return ei;var n=ti(t).getComputedStyle(t),i=function(t){for(var e={},r=0,n=["top","right","bottom","left"];r<n.length;r++){var i=n[r],o=t["padding-"+i];e[i]=ri(o)}return e}(n),o=i.left+i.right,s=i.top+i.bottom,a=ri(n.width),c=ri(n.height);if("border-box"===n.boxSizing&&(Math.round(a+o)!==e&&(a-=ni(n,"left","right")+o),Math.round(c+s)!==r&&(c-=ni(n,"top","bottom")+s)),!function(t){return t===ti(t).document.documentElement}(t)){var l=Math.round(a+o)-e,u=Math.round(c+s)-r;1!==Math.abs(l)&&(a-=l),1!==Math.abs(u)&&(c-=u)}return ai(i.left,i.top,a,c)}var oi="undefined"!=typeof SVGGraphicsElement?function(t){return t instanceof ti(t).SVGGraphicsElement}:function(t){return t instanceof ti(t).SVGElement&&"function"==typeof t.getBBox};function si(t){return $n?oi(t)?function(t){var e=t.getBBox();return ai(0,0,e.width,e.height)}(t):ii(t):ei}function ai(t,e,r,n){return{x:t,y:e,width:r,height:n}}var ci=function(){function t(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=ai(0,0,0,0),this.target=t}return t.prototype.isActive=function(){var t=si(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},t}(),li=function(t,e){var r,n,i,o,s,a,c,l=(n=(r=e).x,i=r.y,o=r.width,s=r.height,a="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(a.prototype),Zn(c,{x:n,y:i,width:o,height:s,top:i,right:n+o,bottom:s+i,left:n}),c);Zn(this,{target:t,contentRect:l})},ui=function(){function t(t,e,r){if(this.activeObservations_=[],this.observations_=new qn,"function"!=typeof t)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=e,this.callbackCtx_=r}return t.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof ti(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)||(e.set(t,new ci(t)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof ti(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach((function(e){e.isActive()&&t.activeObservations_.push(e)}))},t.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map((function(t){return new li(t.target,t.broadcastRect())}));this.callback_.call(t,e,t),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),fi="undefined"!=typeof WeakMap?new WeakMap:new qn,hi=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=Jn.getInstance(),n=new ui(e,r,this);fi.set(this,n)};["observe","unobserve","disconnect"].forEach((function(t){hi.prototype[t]=function(){var e;return(e=fi.get(this))[t].apply(e,arguments)}}));var di=void 0!==Xn.ResizeObserver?Xn.ResizeObserver:hi,pi=null,vi=null;function gi(){if(null===pi){if("undefined"==typeof document)return pi=0;var t=document.body,e=document.createElement("div");e.classList.add("simplebar-hide-scrollbar"),t.appendChild(e);var r=e.getBoundingClientRect().right;t.removeChild(e),pi=r}return pi}Yt&&window.addEventListener("resize",(function(){vi!==window.devicePixelRatio&&(vi=window.devicePixelRatio,pi=null)}));var yi=function(t){return function(e,r,n,i){kt(r);var o=Mt(e),s=y(o),a=st(o.length),c=t?a-1:0,l=t?-1:1;if(n<2)for(;;){if(c in s){i=s[c],c+=l;break}if(c+=l,t?c<0:a<=c)throw TypeError("Reduce of empty array with no initial value")}for(;t?c>=0:a>c;c+=l)c in s&&(i=r(i,s[c],c,o));return i}},bi={left:yi(!1),right:yi(!0)}.left;At({target:"Array",proto:!0,forced:Vt("reduce")},{reduce:function(t){return bi(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}});var mi=R.f,xi=Function.prototype,Ei=xi.toString,wi=/^\s*function ([^ (]*)/;!l||"name"in xi||mi(xi,"name",{configurable:!0,get:function(){try{return Ei.call(this).match(wi)[1]}catch(t){return""}}});var Oi,_i,Si=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e},Ai=RegExp.prototype.exec,ki=String.prototype.replace,Li=Ai,Mi=(Oi=/a/,_i=/b*/g,Ai.call(Oi,"a"),Ai.call(_i,"a"),0!==Oi.lastIndex||0!==_i.lastIndex),Ti=void 0!==/()??/.exec("")[1];(Mi||Ti)&&(Li=function(t){var e,r,n,i,o=this;return Ti&&(r=new RegExp("^"+o.source+"$(?!\\s)",Si.call(o))),Mi&&(e=o.lastIndex),n=Ai.call(o,t),Mi&&n&&(o.lastIndex=o.global?n.index+n[0].length:e),Ti&&n&&n.length>1&&ki.call(n[0],r,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(n[i]=void 0)})),n});var ji=Li;At({target:"RegExp",proto:!0,forced:/./.exec!==ji},{exec:ji});var Ri=zt("species"),Wi=!c((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),zi=!c((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Ci=function(t,e,r,n){var i=zt(t),o=!c((function(){var e={};return e[i]=function(){return 7},7!=""[t](e)})),s=o&&!c((function(){var e=!1,r=/a/;return r.exec=function(){return e=!0,null},"split"===t&&(r.constructor={},r.constructor[Ri]=function(){return r}),r[i](""),!e}));if(!o||!s||"replace"===t&&!Wi||"split"===t&&!zi){var a=/./[i],l=r(i,""[t],(function(t,e,r,n,i){return e.exec===ji?o&&!i?{done:!0,value:a.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}})),u=l[0],f=l[1];J(String.prototype,t,u),J(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}),n&&W(RegExp.prototype[i],"sham",!0)}},Ni=Ue.charAt,Ii=function(t,e,r){return e+(r?Ni(t,e).length:1)},Di=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==v(t))throw TypeError("RegExp#exec called on incompatible receiver");return ji.call(t,e)};Ci("match",1,(function(t,e,r){return[function(e){var r=b(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var i=T(t),o=String(this);if(!i.global)return Di(i,o);var s=i.unicode;i.lastIndex=0;for(var a,c=[],l=0;null!==(a=Di(i,o));){var u=String(a[0]);c[l]=u,""===u&&(i.lastIndex=Ii(o,st(i.lastIndex),s)),l++}return 0===l?null:c}]}));var Pi=Math.max,Vi=Math.min,Fi=Math.floor,Bi=/\$([$&'`]|\d\d?|<[^>]*>)/g,Hi=/\$([$&'`]|\d\d?)/g;Ci("replace",2,(function(t,e,r){return[function(r,n){var i=b(this),o=null==r?void 0:r[t];return void 0!==o?o.call(r,i,n):e.call(String(i),r,n)},function(t,i){var o=r(e,t,this,i);if(o.done)return o.value;var s=T(t),a=String(this),c="function"==typeof i;c||(i=String(i));var l=s.global;if(l){var u=s.unicode;s.lastIndex=0}for(var f=[];;){var h=Di(s,a);if(null===h)break;if(f.push(h),!l)break;""===String(h[0])&&(s.lastIndex=Ii(a,st(s.lastIndex),u))}for(var d,p="",v=0,g=0;g<f.length;g++){h=f[g];for(var y=String(h[0]),b=Pi(Vi(it(h.index),a.length),0),m=[],x=1;x<h.length;x++)m.push(void 0===(d=h[x])?d:String(d));var E=h.groups;if(c){var w=[y].concat(m,b,a);void 0!==E&&w.push(E);var O=String(i.apply(void 0,w))}else O=n(y,a,b,m,E,i);b>=v&&(p+=a.slice(v,b)+O,v=b+y.length)}return p+a.slice(v)}];function n(t,r,n,i,o,s){var a=n+t.length,c=i.length,l=Hi;return void 0!==o&&(o=Mt(o),l=Bi),e.call(s,l,(function(e,s){var l;switch(s.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(a);case"<":l=o[s.slice(1,-1)];break;default:var u=+s;if(0===u)return e;if(u>c){var f=Fi(u/10);return 0===f?e:f<=c?void 0===i[f-1]?s.charAt(1):i[f-1]+s.charAt(1):e}l=i[u-1]}return void 0===l?"":l}))}}));var qi=function(t){return Array.prototype.reduce.call(t,(function(t,e){var r=e.name.match(/data-simplebar-(.+)/);if(r){var n=r[1].replace(/\W+(.)/g,(function(t,e){return e.toUpperCase()}));switch(e.value){case"true":t[n]=!0;break;case"false":t[n]=!1;break;case void 0:t[n]=!0;break;default:t[n]=e.value}}return t}),{})};function $i(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView?t.ownerDocument.defaultView:window}function Xi(t){return t&&t.ownerDocument?t.ownerDocument:document}var Yi=function(){function t(e,r){var n=this;this.onScroll=function(){var t=$i(n.el);n.scrollXTicking||(t.requestAnimationFrame(n.scrollX),n.scrollXTicking=!0),n.scrollYTicking||(t.requestAnimationFrame(n.scrollY),n.scrollYTicking=!0)},this.scrollX=function(){n.axis.x.isOverflowing&&(n.showScrollbar("x"),n.positionScrollbar("x")),n.scrollXTicking=!1},this.scrollY=function(){n.axis.y.isOverflowing&&(n.showScrollbar("y"),n.positionScrollbar("y")),n.scrollYTicking=!1},this.onMouseEnter=function(){n.showScrollbar("x"),n.showScrollbar("y")},this.onMouseMove=function(t){n.mouseX=t.clientX,n.mouseY=t.clientY,(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&n.onMouseMoveForAxis("x"),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&n.onMouseMoveForAxis("y")},this.onMouseLeave=function(){n.onMouseMove.cancel(),(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&n.onMouseLeaveForAxis("x"),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&n.onMouseLeaveForAxis("y"),n.mouseX=-1,n.mouseY=-1},this.onWindowResize=function(){n.scrollbarWidth=n.getScrollbarWidth(),n.hideNativeScrollbar()},this.hideScrollbars=function(){n.axis.x.track.rect=n.axis.x.track.el.getBoundingClientRect(),n.axis.y.track.rect=n.axis.y.track.el.getBoundingClientRect(),n.isWithinBounds(n.axis.y.track.rect)||(n.axis.y.scrollbar.el.classList.remove(n.classNames.visible),n.axis.y.isVisible=!1),n.isWithinBounds(n.axis.x.track.rect)||(n.axis.x.scrollbar.el.classList.remove(n.classNames.visible),n.axis.x.isVisible=!1)},this.onPointerEvent=function(t){var e,r;n.axis.x.track.rect=n.axis.x.track.el.getBoundingClientRect(),n.axis.y.track.rect=n.axis.y.track.el.getBoundingClientRect(),(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&(e=n.isWithinBounds(n.axis.x.track.rect)),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&(r=n.isWithinBounds(n.axis.y.track.rect)),(e||r)&&(t.preventDefault(),t.stopPropagation(),"mousedown"===t.type&&(e&&(n.axis.x.scrollbar.rect=n.axis.x.scrollbar.el.getBoundingClientRect(),n.isWithinBounds(n.axis.x.scrollbar.rect)?n.onDragStart(t,"x"):n.onTrackClick(t,"x")),r&&(n.axis.y.scrollbar.rect=n.axis.y.scrollbar.el.getBoundingClientRect(),n.isWithinBounds(n.axis.y.scrollbar.rect)?n.onDragStart(t,"y"):n.onTrackClick(t,"y"))))},this.drag=function(e){var r=n.axis[n.draggedAxis].track,i=r.rect[n.axis[n.draggedAxis].sizeAttr],o=n.axis[n.draggedAxis].scrollbar,s=n.contentWrapperEl[n.axis[n.draggedAxis].scrollSizeAttr],a=parseInt(n.elStyles[n.axis[n.draggedAxis].sizeAttr],10);e.preventDefault(),e.stopPropagation();var c=(("y"===n.draggedAxis?e.pageY:e.pageX)-r.rect[n.axis[n.draggedAxis].offsetAttr]-n.axis[n.draggedAxis].dragOffset)/(i-o.size)*(s-a);"x"===n.draggedAxis&&(c=n.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c-(i+o.size):c,c=n.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-c:c),n.contentWrapperEl[n.axis[n.draggedAxis].scrollOffsetAttr]=c},this.onEndDrag=function(t){var e=Xi(n.el),r=$i(n.el);t.preventDefault(),t.stopPropagation(),n.el.classList.remove(n.classNames.dragging),e.removeEventListener("mousemove",n.drag,!0),e.removeEventListener("mouseup",n.onEndDrag,!0),n.removePreventClickId=r.setTimeout((function(){e.removeEventListener("click",n.preventClick,!0),e.removeEventListener("dblclick",n.preventClick,!0),n.removePreventClickId=null}))},this.preventClick=function(t){t.preventDefault(),t.stopPropagation()},this.el=e,this.minScrollbarWidth=20,this.options=Object.assign({},t.defaultOptions,{},r),this.classNames=Object.assign({},t.defaultOptions.classNames,{},this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,t.instances.has(this.el)||(this.recalculate=Gr(this.recalculate.bind(this),64),this.onMouseMove=Gr(this.onMouseMove.bind(this),64),this.hideScrollbars=dn(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=dn(this.onWindowResize.bind(this),64,{leading:!0}),t.getRtlHelpers=Hn(t.getRtlHelpers),this.init())}t.getRtlHelpers=function(){var e=document.createElement("div");e.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var r=e.firstElementChild;document.body.appendChild(r);var n=r.firstElementChild;r.scrollLeft=0;var i=t.getOffset(r),o=t.getOffset(n);r.scrollLeft=999;var s=t.getOffset(n);return{isRtlScrollingInverted:i.left!==o.left&&o.left-s.left!=0,isRtlScrollbarInverted:i.left!==o.left}},t.getOffset=function(t){var e=t.getBoundingClientRect(),r=Xi(t),n=$i(t);return{top:e.top+(n.pageYOffset||r.documentElement.scrollTop),left:e.left+(n.pageXOffset||r.documentElement.scrollLeft)}};var e=t.prototype;return e.init=function(){t.instances.set(this.el,this),Yt&&(this.initDOM(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},e.initDOM=function(){var t=this;if(Array.prototype.filter.call(this.el.children,(function(e){return e.classList.contains(t.classNames.wrapper)})).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var e=document.createElement("div"),r=document.createElement("div");e.classList.add(this.classNames.track),r.classList.add(this.classNames.scrollbar),e.appendChild(r),this.axis.x.track.el=e.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=e.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},e.initListeners=function(){var t=this,e=$i(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),e.addEventListener("resize",this.onWindowResize);var r=!1,n=e.ResizeObserver||di;this.resizeObserver=new n((function(){r&&t.recalculate()})),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),e.requestAnimationFrame((function(){r=!0})),this.mutationObserver=new e.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},e.recalculate=function(){var t=$i(this.el);this.elStyles=t.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var e=this.heightAutoObserverEl.offsetHeight<=1,r=this.heightAutoObserverEl.offsetWidth<=1,n=this.contentEl.offsetWidth,i=this.contentWrapperEl.offsetWidth,o=this.elStyles.overflowX,s=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var a=this.contentEl.scrollHeight,c=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=e?"auto":"100%",this.placeholderEl.style.width=r?n+"px":"auto",this.placeholderEl.style.height=a+"px";var l=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=c>n,this.axis.y.isOverflowing=a>l,this.axis.x.isOverflowing="hidden"!==o&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==s&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var u=this.axis.x.isOverflowing?this.scrollbarWidth:0,f=this.axis.y.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&c>i-f,this.axis.y.isOverflowing=this.axis.y.isOverflowing&&a>l-u,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},e.getScrollbarSize=function(t){if(void 0===t&&(t="y"),!this.axis[t].isOverflowing)return 0;var e,r=this.contentEl[this.axis[t].scrollSizeAttr],n=this.axis[t].track.el[this.axis[t].offsetSizeAttr],i=n/r;return e=Math.max(~~(i*n),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(e=Math.min(e,this.options.scrollbarMaxSize)),e},e.positionScrollbar=function(e){if(void 0===e&&(e="y"),this.axis[e].isOverflowing){var r=this.contentWrapperEl[this.axis[e].scrollSizeAttr],n=this.axis[e].track.el[this.axis[e].offsetSizeAttr],i=parseInt(this.elStyles[this.axis[e].sizeAttr],10),o=this.axis[e].scrollbar,s=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],a=(s="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-s:s)/(r-i),c=~~((n-o.size)*a);c="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c+(n-o.size):c,o.el.style.transform="x"===e?"translate3d("+c+"px, 0, 0)":"translate3d(0, "+c+"px, 0)"}},e.toggleTrackVisibility=function(t){void 0===t&&(t="y");var e=this.axis[t].track.el,r=this.axis[t].scrollbar.el;this.axis[t].isOverflowing||this.axis[t].forceVisible?(e.style.visibility="visible",this.contentWrapperEl.style[this.axis[t].overflowAttr]="scroll"):(e.style.visibility="hidden",this.contentWrapperEl.style[this.axis[t].overflowAttr]="hidden"),this.axis[t].isOverflowing?r.style.display="block":r.style.display="none"},e.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},e.onMouseMoveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.rect=this.axis[t].track.el.getBoundingClientRect(),this.axis[t].scrollbar.rect=this.axis[t].scrollbar.el.getBoundingClientRect(),this.isWithinBounds(this.axis[t].scrollbar.rect)?this.axis[t].scrollbar.el.classList.add(this.classNames.hover):this.axis[t].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[t].track.rect)?(this.showScrollbar(t),this.axis[t].track.el.classList.add(this.classNames.hover)):this.axis[t].track.el.classList.remove(this.classNames.hover)},e.onMouseLeaveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.el.classList.remove(this.classNames.hover),this.axis[t].scrollbar.el.classList.remove(this.classNames.hover)},e.showScrollbar=function(t){void 0===t&&(t="y");var e=this.axis[t].scrollbar.el;this.axis[t].isVisible||(e.classList.add(this.classNames.visible),this.axis[t].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},e.onDragStart=function(t,e){void 0===e&&(e="y");var r=Xi(this.el),n=$i(this.el),i=this.axis[e].scrollbar,o="y"===e?t.pageY:t.pageX;this.axis[e].dragOffset=o-i.rect[this.axis[e].offsetAttr],this.draggedAxis=e,this.el.classList.add(this.classNames.dragging),r.addEventListener("mousemove",this.drag,!0),r.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(r.addEventListener("click",this.preventClick,!0),r.addEventListener("dblclick",this.preventClick,!0)):(n.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},e.onTrackClick=function(t,e){var r=this;if(void 0===e&&(e="y"),this.options.clickOnTrack){var n=$i(this.el);this.axis[e].scrollbar.rect=this.axis[e].scrollbar.el.getBoundingClientRect();var i=this.axis[e].scrollbar.rect[this.axis[e].offsetAttr],o=parseInt(this.elStyles[this.axis[e].sizeAttr],10),s=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],a=("y"===e?this.mouseY-i:this.mouseX-i)<0?-1:1,c=-1===a?s-o:s+o;!function t(){var i,o;-1===a?s>c&&(s-=r.options.clickOnTrackSpeed,r.contentWrapperEl.scrollTo(((i={})[r.axis[e].offsetAttr]=s,i)),n.requestAnimationFrame(t)):s<c&&(s+=r.options.clickOnTrackSpeed,r.contentWrapperEl.scrollTo(((o={})[r.axis[e].offsetAttr]=s,o)),n.requestAnimationFrame(t))}()}},e.getContentElement=function(){return this.contentEl},e.getScrollElement=function(){return this.contentWrapperEl},e.getScrollbarWidth=function(){try{return"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:gi()}catch(t){return gi()}},e.removeListeners=function(){var t=this,e=$i(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl&&this.contentWrapperEl.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onWindowResize),this.mutationObserver&&this.mutationObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},e.unMount=function(){this.removeListeners(),t.instances.delete(this.el)},e.isWithinBounds=function(t){return this.mouseX>=t.left&&this.mouseX<=t.left+t.width&&this.mouseY>=t.top&&this.mouseY<=t.top+t.height},e.findChild=function(t,e){var r=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;return Array.prototype.filter.call(t.children,(function(t){return r.call(t,e)}))[0]},t}();return Yi.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,clickOnTrackSpeed:40,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3},Yi.instances=new WeakMap,Yi.initDOMLoadedElements=function(){document.removeEventListener("DOMContentLoaded",this.initDOMLoadedElements),window.removeEventListener("load",this.initDOMLoadedElements),Array.prototype.forEach.call(document.querySelectorAll("[data-simplebar]"),(function(t){"init"===t.getAttribute("data-simplebar")||Yi.instances.has(t)||new Yi(t,qi(t.attributes))}))},Yi.removeObserver=function(){this.globalObserver.disconnect()},Yi.initHtmlApi=function(){this.initDOMLoadedElements=this.initDOMLoadedElements.bind(this),"undefined"!=typeof MutationObserver&&(this.globalObserver=new MutationObserver(Yi.handleMutations),this.globalObserver.observe(document,{childList:!0,subtree:!0})),"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(this.initDOMLoadedElements):(document.addEventListener("DOMContentLoaded",this.initDOMLoadedElements),window.addEventListener("load",this.initDOMLoadedElements))},Yi.handleMutations=function(t){t.forEach((function(t){Array.prototype.forEach.call(t.addedNodes,(function(t){1===t.nodeType&&(t.hasAttribute("data-simplebar")?!Yi.instances.has(t)&&new Yi(t,qi(t.attributes)):Array.prototype.forEach.call(t.querySelectorAll("[data-simplebar]"),(function(t){"init"===t.getAttribute("data-simplebar")||Yi.instances.has(t)||new Yi(t,qi(t.attributes))})))})),Array.prototype.forEach.call(t.removedNodes,(function(t){1===t.nodeType&&(t.hasAttribute('[data-simplebar="init"]')?Yi.instances.has(t)&&Yi.instances.get(t).unMount():Array.prototype.forEach.call(t.querySelectorAll('[data-simplebar="init"]'),(function(t){Yi.instances.has(t)&&Yi.instances.get(t).unMount()})))}))}))},Yi.getOptions=qi,Yt&&Yi.initHtmlApi(),Yi}));
assets/vendor/simplebar/simplebar.min.js DELETED
@@ -1,10 +0,0 @@
1
- /**
2
- * SimpleBar.js - v5.2.1
3
- * Scrollbars, simpler.
4
- * https://grsmto.github.io/simplebar/
5
- *
6
- * Made by Adrien Denat from a fork by Jonathan Nicol
7
- * Under MIT License
8
- */
9
-
10
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).SimpleBar=e()}(this,(function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n,i,o="object",s=function(t){return t&&t.Math==Math&&t},a=s(typeof globalThis==o&&globalThis)||s(typeof window==o&&window)||s(typeof self==o&&self)||s(typeof t==o&&t)||Function("return this")(),c=function(t){try{return!!t()}catch(t){return!0}},l=!c((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,h={f:f&&!u.call({1:2},1)?function(t){var e=f(this,t);return!!e&&e.enumerable}:u},d=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},p={}.toString,v=function(t){return p.call(t).slice(8,-1)},g="".split,y=c((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==v(t)?g.call(t,""):Object(t)}:Object,b=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return y(b(t))},x=function(t){return"object"==typeof t?null!==t:"function"==typeof t},E=function(t,e){if(!x(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!x(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!x(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!x(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},w={}.hasOwnProperty,O=function(t,e){return w.call(t,e)},_=a.document,S=x(_)&&x(_.createElement),A=function(t){return S?_.createElement(t):{}},k=!l&&!c((function(){return 7!=Object.defineProperty(A("div"),"a",{get:function(){return 7}}).a})),L=Object.getOwnPropertyDescriptor,M={f:l?L:function(t,e){if(t=m(t),e=E(e,!0),k)try{return L(t,e)}catch(t){}if(O(t,e))return d(!h.f.call(t,e),t[e])}},T=function(t){if(!x(t))throw TypeError(String(t)+" is not an object");return t},j=Object.defineProperty,R={f:l?j:function(t,e,r){if(T(t),e=E(e,!0),T(r),k)try{return j(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},W=l?function(t,e,r){return R.f(t,e,d(1,r))}:function(t,e,r){return t[e]=r,t},z=function(t,e){try{W(a,t,e)}catch(r){a[t]=e}return e},C=e((function(t){var e=a["__core-js_shared__"]||z("__core-js_shared__",{});(t.exports=function(t,r){return e[t]||(e[t]=void 0!==r?r:{})})("versions",[]).push({version:"3.2.1",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),N=C("native-function-to-string",Function.toString),I=a.WeakMap,D="function"==typeof I&&/native code/.test(N.call(I)),P=0,V=Math.random(),F=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++P+V).toString(36)},B=C("keys"),H=function(t){return B[t]||(B[t]=F(t))},q={},$=a.WeakMap;if(D){var X=new $,Y=X.get,G=X.has,U=X.set;r=function(t,e){return U.call(X,t,e),e},n=function(t){return Y.call(X,t)||{}},i=function(t){return G.call(X,t)}}else{var Q=H("state");q[Q]=!0,r=function(t,e){return W(t,Q,e),e},n=function(t){return O(t,Q)?t[Q]:{}},i=function(t){return O(t,Q)}}var K={set:r,get:n,has:i,enforce:function(t){return i(t)?n(t):r(t,{})},getterFor:function(t){return function(e){var r;if(!x(e)||(r=n(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},J=e((function(t){var e=K.get,r=K.enforce,n=String(N).split("toString");C("inspectSource",(function(t){return N.call(t)})),(t.exports=function(t,e,i,o){var s=!!o&&!!o.unsafe,c=!!o&&!!o.enumerable,l=!!o&&!!o.noTargetGet;"function"==typeof i&&("string"!=typeof e||O(i,"name")||W(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==a?(s?!l&&t[e]&&(c=!0):delete t[e],c?t[e]=i:W(t,e,i)):c?t[e]=i:z(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||N.call(this)}))})),Z=a,tt=function(t){return"function"==typeof t?t:void 0},et=function(t,e){return arguments.length<2?tt(Z[t])||tt(a[t]):Z[t]&&Z[t][e]||a[t]&&a[t][e]},rt=Math.ceil,nt=Math.floor,it=function(t){return isNaN(t=+t)?0:(t>0?nt:rt)(t)},ot=Math.min,st=function(t){return t>0?ot(it(t),9007199254740991):0},at=Math.max,ct=Math.min,lt=function(t){return function(e,r,n){var i,o=m(e),s=st(o.length),a=function(t,e){var r=it(t);return r<0?at(r+e,0):ct(r,e)}(n,s);if(t&&r!=r){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===r)return t||a||0;return!t&&-1}},ut={includes:lt(!0),indexOf:lt(!1)}.indexOf,ft=function(t,e){var r,n=m(t),i=0,o=[];for(r in n)!O(q,r)&&O(n,r)&&o.push(r);for(;e.length>i;)O(n,r=e[i++])&&(~ut(o,r)||o.push(r));return o},ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],dt=ht.concat("length","prototype"),pt={f:Object.getOwnPropertyNames||function(t){return ft(t,dt)}},vt={f:Object.getOwnPropertySymbols},gt=et("Reflect","ownKeys")||function(t){var e=pt.f(T(t)),r=vt.f;return r?e.concat(r(t)):e},yt=function(t,e){for(var r=gt(e),n=R.f,i=M.f,o=0;o<r.length;o++){var s=r[o];O(t,s)||n(t,s,i(e,s))}},bt=/#|\.prototype\./,mt=function(t,e){var r=Et[xt(t)];return r==Ot||r!=wt&&("function"==typeof e?c(e):!!e)},xt=mt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Et=mt.data={},wt=mt.NATIVE="N",Ot=mt.POLYFILL="P",_t=mt,St=M.f,At=function(t,e){var r,n,i,o,s,c=t.target,l=t.global,u=t.stat;if(r=l?a:u?a[c]||z(c,{}):(a[c]||{}).prototype)for(n in e){if(o=e[n],i=t.noTargetGet?(s=St(r,n))&&s.value:r[n],!_t(l?n:c+(u?".":"#")+n,t.forced)&&void 0!==i){if(typeof o==typeof i)continue;yt(o,i)}(t.sham||i&&i.sham)&&W(o,"sham",!0),J(r,n,o,t)}},kt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},Lt=function(t,e,r){if(kt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}},Mt=function(t){return Object(b(t))},Tt=Array.isArray||function(t){return"Array"==v(t)},jt=!!Object.getOwnPropertySymbols&&!c((function(){return!String(Symbol())})),Rt=a.Symbol,Wt=C("wks"),zt=function(t){return Wt[t]||(Wt[t]=jt&&Rt[t]||(jt?Rt:F)("Symbol."+t))},Ct=zt("species"),Nt=function(t,e){var r;return Tt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Tt(r.prototype)?x(r)&&null===(r=r[Ct])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},It=[].push,Dt=function(t){var e=1==t,r=2==t,n=3==t,i=4==t,o=6==t,s=5==t||o;return function(a,c,l,u){for(var f,h,d=Mt(a),p=y(d),v=Lt(c,l,3),g=st(p.length),b=0,m=u||Nt,x=e?m(a,g):r?m(a,0):void 0;g>b;b++)if((s||b in p)&&(h=v(f=p[b],b,d),t))if(e)x[b]=h;else if(h)switch(t){case 3:return!0;case 5:return f;case 6:return b;case 2:It.call(x,f)}else if(i)return!1;return o?-1:n||i?i:x}},Pt={forEach:Dt(0),map:Dt(1),filter:Dt(2),some:Dt(3),every:Dt(4),find:Dt(5),findIndex:Dt(6)},Vt=function(t,e){var r=[][t];return!r||!c((function(){r.call(null,e||function(){throw 1},1)}))},Ft=Pt.forEach,Bt=Vt("forEach")?function(t){return Ft(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;At({target:"Array",proto:!0,forced:[].forEach!=Bt},{forEach:Bt});var Ht={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};for(var qt in Ht){var $t=a[qt],Xt=$t&&$t.prototype;if(Xt&&Xt.forEach!==Bt)try{W(Xt,"forEach",Bt)}catch(t){Xt.forEach=Bt}}var Yt=!("undefined"==typeof window||!window.document||!window.document.createElement),Gt=zt("species"),Ut=Pt.filter;At({target:"Array",proto:!0,forced:!function(t){return!c((function(){var e=[];return(e.constructor={})[Gt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}("filter")},{filter:function(t){return Ut(this,t,arguments.length>1?arguments[1]:void 0)}});var Qt=Object.keys||function(t){return ft(t,ht)},Kt=l?Object.defineProperties:function(t,e){T(t);for(var r,n=Qt(e),i=n.length,o=0;i>o;)R.f(t,r=n[o++],e[r]);return t},Jt=et("document","documentElement"),Zt=H("IE_PROTO"),te=function(){},ee=function(){var t,e=A("iframe"),r=ht.length;for(e.style.display="none",Jt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),ee=t.F;r--;)delete ee.prototype[ht[r]];return ee()},re=Object.create||function(t,e){var r;return null!==t?(te.prototype=T(t),r=new te,te.prototype=null,r[Zt]=t):r=ee(),void 0===e?r:Kt(r,e)};q[Zt]=!0;var ne=zt("unscopables"),ie=Array.prototype;null==ie[ne]&&W(ie,ne,re(null));var oe,se,ae,ce=function(t){ie[ne][t]=!0},le={},ue=!c((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),fe=H("IE_PROTO"),he=Object.prototype,de=ue?Object.getPrototypeOf:function(t){return t=Mt(t),O(t,fe)?t[fe]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?he:null},pe=zt("iterator"),ve=!1;[].keys&&("next"in(ae=[].keys())?(se=de(de(ae)))!==Object.prototype&&(oe=se):ve=!0),null==oe&&(oe={}),O(oe,pe)||W(oe,pe,(function(){return this}));var ge={IteratorPrototype:oe,BUGGY_SAFARI_ITERATORS:ve},ye=R.f,be=zt("toStringTag"),me=function(t,e,r){t&&!O(t=r?t:t.prototype,be)&&ye(t,be,{configurable:!0,value:e})},xe=ge.IteratorPrototype,Ee=function(){return this},we=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return T(r),function(t){if(!x(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),Oe=ge.IteratorPrototype,_e=ge.BUGGY_SAFARI_ITERATORS,Se=zt("iterator"),Ae=function(){return this},ke=function(t,e,r,n,i,o,s){!function(t,e,r){var n=e+" Iterator";t.prototype=re(xe,{next:d(1,r)}),me(t,n,!1),le[n]=Ee}(r,e,n);var a,c,l,u=function(t){if(t===i&&g)return g;if(!_e&&t in p)return p[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},f=e+" Iterator",h=!1,p=t.prototype,v=p[Se]||p["@@iterator"]||i&&p[i],g=!_e&&v||u(i),y="Array"==e&&p.entries||v;if(y&&(a=de(y.call(new t)),Oe!==Object.prototype&&a.next&&(de(a)!==Oe&&(we?we(a,Oe):"function"!=typeof a[Se]&&W(a,Se,Ae)),me(a,f,!0))),"values"==i&&v&&"values"!==v.name&&(h=!0,g=function(){return v.call(this)}),p[Se]!==g&&W(p,Se,g),le[e]=g,i)if(c={values:u("values"),keys:o?g:u("keys"),entries:u("entries")},s)for(l in c)!_e&&!h&&l in p||J(p,l,c[l]);else At({target:e,proto:!0,forced:_e||h},c);return c},Le=K.set,Me=K.getterFor("Array Iterator"),Te=ke(Array,"Array",(function(t,e){Le(this,{type:"Array Iterator",target:m(t),index:0,kind:e})}),(function(){var t=Me(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");le.Arguments=le.Array,ce("keys"),ce("values"),ce("entries");var je=Object.assign,Re=!je||c((function(){var t={},e={},r=Symbol();return t[r]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=je({},t)[r]||"abcdefghijklmnopqrst"!=Qt(je({},e)).join("")}))?function(t,e){for(var r=Mt(t),n=arguments.length,i=1,o=vt.f,s=h.f;n>i;)for(var a,c=y(arguments[i++]),u=o?Qt(c).concat(o(c)):Qt(c),f=u.length,d=0;f>d;)a=u[d++],l&&!s.call(c,a)||(r[a]=c[a]);return r}:je;At({target:"Object",stat:!0,forced:Object.assign!==Re},{assign:Re});var We=zt("toStringTag"),ze="Arguments"==v(function(){return arguments}()),Ce=function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),We))?r:ze?v(e):"Object"==(n=v(e))&&"function"==typeof e.callee?"Arguments":n},Ne={};Ne[zt("toStringTag")]="z";var Ie="[object z]"!==String(Ne)?function(){return"[object "+Ce(this)+"]"}:Ne.toString,De=Object.prototype;Ie!==De.toString&&J(De,"toString",Ie,{unsafe:!0});var Pe="\t\n\v\f\r                \u2028\u2029\ufeff",Ve="["+Pe+"]",Fe=RegExp("^"+Ve+Ve+"*"),Be=RegExp(Ve+Ve+"*$"),He=function(t){return function(e){var r=String(b(e));return 1&t&&(r=r.replace(Fe,"")),2&t&&(r=r.replace(Be,"")),r}},qe={start:He(1),end:He(2),trim:He(3)}.trim,$e=a.parseInt,Xe=/^[+-]?0[Xx]/,Ye=8!==$e(Pe+"08")||22!==$e(Pe+"0x16")?function(t,e){var r=qe(String(t));return $e(r,e>>>0||(Xe.test(r)?16:10))}:$e;At({global:!0,forced:parseInt!=Ye},{parseInt:Ye});var Ge=function(t){return function(e,r){var n,i,o=String(b(e)),s=it(r),a=o.length;return s<0||s>=a?t?"":void 0:(n=o.charCodeAt(s))<55296||n>56319||s+1===a||(i=o.charCodeAt(s+1))<56320||i>57343?t?o.charAt(s):n:t?o.slice(s,s+2):i-56320+(n-55296<<10)+65536}},Ue={codeAt:Ge(!1),charAt:Ge(!0)},Qe=Ue.charAt,Ke=K.set,Je=K.getterFor("String Iterator");ke(String,"String",(function(t){Ke(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=Je(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Qe(r,n),e.index+=t.length,{value:t,done:!1})}));var Ze=function(t,e,r){for(var n in e)J(t,n,e[n],r);return t},tr=!c((function(){return Object.isExtensible(Object.preventExtensions({}))})),er=e((function(t){var e=R.f,r=F("meta"),n=0,i=Object.isExtensible||function(){return!0},o=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},s=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!x(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!O(t,r)){if(!i(t))return"F";if(!e)return"E";o(t)}return t[r].objectID},getWeakData:function(t,e){if(!O(t,r)){if(!i(t))return!0;if(!e)return!1;o(t)}return t[r].weakData},onFreeze:function(t){return tr&&s.REQUIRED&&i(t)&&!O(t,r)&&o(t),t}};q[r]=!0})),rr=(er.REQUIRED,er.fastKey,er.getWeakData,er.onFreeze,zt("iterator")),nr=Array.prototype,ir=zt("iterator"),or=function(t,e,r,n){try{return n?e(T(r)[0],r[1]):e(r)}catch(e){var i=t.return;throw void 0!==i&&T(i.call(t)),e}},sr=e((function(t){var e=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,r,n,i,o){var s,a,c,l,u,f,h,d=Lt(r,n,i?2:1);if(o)s=t;else{if("function"!=typeof(a=function(t){if(null!=t)return t[ir]||t["@@iterator"]||le[Ce(t)]}(t)))throw TypeError("Target is not iterable");if(void 0!==(h=a)&&(le.Array===h||nr[rr]===h)){for(c=0,l=st(t.length);l>c;c++)if((u=i?d(T(f=t[c])[0],f[1]):d(t[c]))&&u instanceof e)return u;return new e(!1)}s=a.call(t)}for(;!(f=s.next()).done;)if((u=or(s,d,f.value,i))&&u instanceof e)return u;return new e(!1)}).stop=function(t){return new e(!0,t)}})),ar=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},cr=zt("iterator"),lr=!1;try{var ur=0,fr={next:function(){return{done:!!ur++}},return:function(){lr=!0}};fr[cr]=function(){return this},Array.from(fr,(function(){throw 2}))}catch(t){}var hr=function(t,e,r,n,i){var o=a[t],s=o&&o.prototype,l=o,u=n?"set":"add",f={},h=function(t){var e=s[t];J(s,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(i&&!x(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return i&&!x(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(i&&!x(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(_t(t,"function"!=typeof o||!(i||s.forEach&&!c((function(){(new o).entries().next()})))))l=r.getConstructor(e,t,n,u),er.REQUIRED=!0;else if(_t(t,!0)){var d=new l,p=d[u](i?{}:-0,1)!=d,v=c((function(){d.has(1)})),g=function(t,e){if(!e&&!lr)return!1;var r=!1;try{var n={};n[cr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r}((function(t){new o(t)})),y=!i&&c((function(){for(var t=new o,e=5;e--;)t[u](e,e);return!t.has(-0)}));g||((l=e((function(e,r){ar(e,l,t);var i=function(t,e,r){var n,i;return we&&"function"==typeof(n=e.constructor)&&n!==r&&x(i=n.prototype)&&i!==r.prototype&&we(t,i),t}(new o,e,l);return null!=r&&sr(r,i[u],i,n),i}))).prototype=s,s.constructor=l),(v||y)&&(h("delete"),h("has"),n&&h("get")),(y||p)&&h(u),i&&s.clear&&delete s.clear}return f[t]=l,At({global:!0,forced:l!=o},f),me(l,t),i||r.setStrong(l,t,n),l},dr=er.getWeakData,pr=K.set,vr=K.getterFor,gr=Pt.find,yr=Pt.findIndex,br=0,mr=function(t){return t.frozen||(t.frozen=new xr)},xr=function(){this.entries=[]},Er=function(t,e){return gr(t.entries,(function(t){return t[0]===e}))};xr.prototype={get:function(t){var e=Er(this,t);if(e)return e[1]},has:function(t){return!!Er(this,t)},set:function(t,e){var r=Er(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=yr(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}};var wr={getConstructor:function(t,e,r,n){var i=t((function(t,o){ar(t,i,e),pr(t,{type:e,id:br++,frozen:void 0}),null!=o&&sr(o,t[n],t,r)})),o=vr(e),s=function(t,e,r){var n=o(t),i=dr(T(e),!0);return!0===i?mr(n).set(e,r):i[n.id]=r,t};return Ze(i.prototype,{delete:function(t){var e=o(this);if(!x(t))return!1;var r=dr(t);return!0===r?mr(e).delete(t):r&&O(r,e.id)&&delete r[e.id]},has:function(t){var e=o(this);if(!x(t))return!1;var r=dr(t);return!0===r?mr(e).has(t):r&&O(r,e.id)}}),Ze(i.prototype,r?{get:function(t){var e=o(this);if(x(t)){var r=dr(t);return!0===r?mr(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return s(this,t,e)}}:{add:function(t){return s(this,t,!0)}}),i}},Or=(e((function(t){var e,r=K.enforce,n=!a.ActiveXObject&&"ActiveXObject"in a,i=Object.isExtensible,o=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},s=t.exports=hr("WeakMap",o,wr,!0,!0);if(D&&n){e=wr.getConstructor(o,"WeakMap",!0),er.REQUIRED=!0;var c=s.prototype,l=c.delete,u=c.has,f=c.get,h=c.set;Ze(c,{delete:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),l.call(this,t)||n.frozen.delete(t)}return l.call(this,t)},has:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),u.call(this,t)||n.frozen.has(t)}return u.call(this,t)},get:function(t){if(x(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),u.call(this,t)?f.call(this,t):n.frozen.get(t)}return f.call(this,t)},set:function(t,n){if(x(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),u.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}})),zt("iterator")),_r=zt("toStringTag"),Sr=Te.values;for(var Ar in Ht){var kr=a[Ar],Lr=kr&&kr.prototype;if(Lr){if(Lr[Or]!==Sr)try{W(Lr,Or,Sr)}catch(t){Lr[Or]=Sr}if(Lr[_r]||W(Lr,_r,Ar),Ht[Ar])for(var Mr in Te)if(Lr[Mr]!==Te[Mr])try{W(Lr,Mr,Te[Mr])}catch(t){Lr[Mr]=Te[Mr]}}}var Tr="Expected a function",jr=NaN,Rr="[object Symbol]",Wr=/^\s+|\s+$/g,zr=/^[-+]0x[0-9a-f]+$/i,Cr=/^0b[01]+$/i,Nr=/^0o[0-7]+$/i,Ir=parseInt,Dr="object"==typeof t&&t&&t.Object===Object&&t,Pr="object"==typeof self&&self&&self.Object===Object&&self,Vr=Dr||Pr||Function("return this")(),Fr=Object.prototype.toString,Br=Math.max,Hr=Math.min,qr=function(){return Vr.Date.now()};function $r(t,e,r){var n,i,o,s,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof t)throw new TypeError(Tr);function d(e){var r=n,o=i;return n=i=void 0,l=e,s=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||f&&t-l>=o}function v(){var t=qr();if(p(t))return g(t);a=setTimeout(v,function(t){var r=e-(t-c);return f?Hr(r,o-(t-l)):r}(t))}function g(t){return a=void 0,h&&n?d(t):(n=i=void 0,s)}function y(){var t=qr(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(v,e),u?d(t):s}(c);if(f)return a=setTimeout(v,e),d(c)}return void 0===a&&(a=setTimeout(v,e)),s}return e=Yr(e)||0,Xr(r)&&(u=!!r.leading,o=(f="maxWait"in r)?Br(Yr(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},y.flush=function(){return void 0===a?s:g(qr())},y}function Xr(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Yr(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&Fr.call(t)==Rr}(t))return jr;if(Xr(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Xr(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Wr,"");var r=Cr.test(t);return r||Nr.test(t)?Ir(t.slice(2),r?2:8):zr.test(t)?jr:+t}var Gr=function(t,e,r){var n=!0,i=!0;if("function"!=typeof t)throw new TypeError(Tr);return Xr(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),$r(t,e,{leading:n,maxWait:e,trailing:i})},Ur="Expected a function",Qr=NaN,Kr="[object Symbol]",Jr=/^\s+|\s+$/g,Zr=/^[-+]0x[0-9a-f]+$/i,tn=/^0b[01]+$/i,en=/^0o[0-7]+$/i,rn=parseInt,nn="object"==typeof t&&t&&t.Object===Object&&t,on="object"==typeof self&&self&&self.Object===Object&&self,sn=nn||on||Function("return this")(),an=Object.prototype.toString,cn=Math.max,ln=Math.min,un=function(){return sn.Date.now()};function fn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function hn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&an.call(t)==Kr}(t))return Qr;if(fn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=fn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Jr,"");var r=tn.test(t);return r||en.test(t)?rn(t.slice(2),r?2:8):Zr.test(t)?Qr:+t}var dn=function(t,e,r){var n,i,o,s,a,c,l=0,u=!1,f=!1,h=!0;if("function"!=typeof t)throw new TypeError(Ur);function d(e){var r=n,o=i;return n=i=void 0,l=e,s=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||f&&t-l>=o}function v(){var t=un();if(p(t))return g(t);a=setTimeout(v,function(t){var r=e-(t-c);return f?ln(r,o-(t-l)):r}(t))}function g(t){return a=void 0,h&&n?d(t):(n=i=void 0,s)}function y(){var t=un(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===a)return function(t){return l=t,a=setTimeout(v,e),u?d(t):s}(c);if(f)return a=setTimeout(v,e),d(c)}return void 0===a&&(a=setTimeout(v,e)),s}return e=hn(e)||0,fn(r)&&(u=!!r.leading,o=(f="maxWait"in r)?cn(hn(r.maxWait)||0,e):o,h="trailing"in r?!!r.trailing:h),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,n=c=i=a=void 0},y.flush=function(){return void 0===a?s:g(un())},y},pn="Expected a function",vn="__lodash_hash_undefined__",gn="[object Function]",yn="[object GeneratorFunction]",bn=/^\[object .+?Constructor\]$/,mn="object"==typeof t&&t&&t.Object===Object&&t,xn="object"==typeof self&&self&&self.Object===Object&&self,En=mn||xn||Function("return this")();var wn=Array.prototype,On=Function.prototype,_n=Object.prototype,Sn=En["__core-js_shared__"],An=function(){var t=/[^.]+$/.exec(Sn&&Sn.keys&&Sn.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),kn=On.toString,Ln=_n.hasOwnProperty,Mn=_n.toString,Tn=RegExp("^"+kn.call(Ln).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),jn=wn.splice,Rn=Vn(En,"Map"),Wn=Vn(Object,"create");function zn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Cn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Nn(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function In(t,e){for(var r,n,i=t.length;i--;)if((r=t[i][0])===(n=e)||r!=r&&n!=n)return i;return-1}function Dn(t){return!(!Bn(t)||(e=t,An&&An in e))&&(function(t){var e=Bn(t)?Mn.call(t):"";return e==gn||e==yn}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?Tn:bn).test(function(t){if(null!=t){try{return kn.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t));var e}function Pn(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Vn(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return Dn(r)?r:void 0}function Fn(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError(pn);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s),s};return r.cache=new(Fn.Cache||Nn),r}function Bn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}zn.prototype.clear=function(){this.__data__=Wn?Wn(null):{}},zn.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},zn.prototype.get=function(t){var e=this.__data__;if(Wn){var r=e[t];return r===vn?void 0:r}return Ln.call(e,t)?e[t]:void 0},zn.prototype.has=function(t){var e=this.__data__;return Wn?void 0!==e[t]:Ln.call(e,t)},zn.prototype.set=function(t,e){return this.__data__[t]=Wn&&void 0===e?vn:e,this},Cn.prototype.clear=function(){this.__data__=[]},Cn.prototype.delete=function(t){var e=this.__data__,r=In(e,t);return!(r<0)&&(r==e.length-1?e.pop():jn.call(e,r,1),!0)},Cn.prototype.get=function(t){var e=this.__data__,r=In(e,t);return r<0?void 0:e[r][1]},Cn.prototype.has=function(t){return In(this.__data__,t)>-1},Cn.prototype.set=function(t,e){var r=this.__data__,n=In(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},Nn.prototype.clear=function(){this.__data__={hash:new zn,map:new(Rn||Cn),string:new zn}},Nn.prototype.delete=function(t){return Pn(this,t).delete(t)},Nn.prototype.get=function(t){return Pn(this,t).get(t)},Nn.prototype.has=function(t){return Pn(this,t).has(t)},Nn.prototype.set=function(t,e){return Pn(this,t).set(t,e),this},Fn.Cache=Nn;var Hn=Fn,qn=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var r=-1;return t.some((function(t,n){return t[0]===e&&(r=n,!0)})),r}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var r=t(this.__entries__,e),n=this.__entries__[r];return n&&n[1]},e.prototype.set=function(e,r){var n=t(this.__entries__,e);~n?this.__entries__[n][1]=r:this.__entries__.push([e,r])},e.prototype.delete=function(e){var r=this.__entries__,n=t(r,e);~n&&r.splice(n,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var r=0,n=this.__entries__;r<n.length;r++){var i=n[r];t.call(e,i[1],i[0])}},e}()}(),$n="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,Xn="undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),Yn="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(Xn):function(t){return setTimeout((function(){return t(Date.now())}),1e3/60)},Gn=2;var Un=20,Qn=["top","right","bottom","left","width","height","size","weight"],Kn="undefined"!=typeof MutationObserver,Jn=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(t,e){var r=!1,n=!1,i=0;function o(){r&&(r=!1,t()),n&&a()}function s(){Yn(o)}function a(){var t=Date.now();if(r){if(t-i<Gn)return;n=!0}else r=!0,n=!1,setTimeout(s,e);i=t}return a}(this.refresh.bind(this),Un)}return t.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},t.prototype.removeObserver=function(t){var e=this.observers_,r=e.indexOf(t);~r&&e.splice(r,1),!e.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},t.prototype.updateObservers_=function(){var t=this.observers_.filter((function(t){return t.gatherActive(),t.hasActive()}));return t.forEach((function(t){return t.broadcastActive()})),t.length>0},t.prototype.connect_=function(){$n&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Kn?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){$n&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,r=void 0===e?"":e;Qn.some((function(t){return!!~r.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),Zn=function(t,e){for(var r=0,n=Object.keys(e);r<n.length;r++){var i=n[r];Object.defineProperty(t,i,{value:e[i],enumerable:!1,writable:!1,configurable:!0})}return t},ti=function(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView||Xn},ei=ai(0,0,0,0);function ri(t){return parseFloat(t)||0}function ni(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return e.reduce((function(e,r){return e+ri(t["border-"+r+"-width"])}),0)}function ii(t){var e=t.clientWidth,r=t.clientHeight;if(!e&&!r)return ei;var n=ti(t).getComputedStyle(t),i=function(t){for(var e={},r=0,n=["top","right","bottom","left"];r<n.length;r++){var i=n[r],o=t["padding-"+i];e[i]=ri(o)}return e}(n),o=i.left+i.right,s=i.top+i.bottom,a=ri(n.width),c=ri(n.height);if("border-box"===n.boxSizing&&(Math.round(a+o)!==e&&(a-=ni(n,"left","right")+o),Math.round(c+s)!==r&&(c-=ni(n,"top","bottom")+s)),!function(t){return t===ti(t).document.documentElement}(t)){var l=Math.round(a+o)-e,u=Math.round(c+s)-r;1!==Math.abs(l)&&(a-=l),1!==Math.abs(u)&&(c-=u)}return ai(i.left,i.top,a,c)}var oi="undefined"!=typeof SVGGraphicsElement?function(t){return t instanceof ti(t).SVGGraphicsElement}:function(t){return t instanceof ti(t).SVGElement&&"function"==typeof t.getBBox};function si(t){return $n?oi(t)?function(t){var e=t.getBBox();return ai(0,0,e.width,e.height)}(t):ii(t):ei}function ai(t,e,r,n){return{x:t,y:e,width:r,height:n}}var ci=function(){function t(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=ai(0,0,0,0),this.target=t}return t.prototype.isActive=function(){var t=si(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},t}(),li=function(t,e){var r,n,i,o,s,a,c,l=(n=(r=e).x,i=r.y,o=r.width,s=r.height,a="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(a.prototype),Zn(c,{x:n,y:i,width:o,height:s,top:i,right:n+o,bottom:s+i,left:n}),c);Zn(this,{target:t,contentRect:l})},ui=function(){function t(t,e,r){if(this.activeObservations_=[],this.observations_=new qn,"function"!=typeof t)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=e,this.callbackCtx_=r}return t.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof ti(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)||(e.set(t,new ci(t)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof ti(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach((function(e){e.isActive()&&t.activeObservations_.push(e)}))},t.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map((function(t){return new li(t.target,t.broadcastRect())}));this.callback_.call(t,e,t),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),fi="undefined"!=typeof WeakMap?new WeakMap:new qn,hi=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=Jn.getInstance(),n=new ui(e,r,this);fi.set(this,n)};["observe","unobserve","disconnect"].forEach((function(t){hi.prototype[t]=function(){var e;return(e=fi.get(this))[t].apply(e,arguments)}}));var di=void 0!==Xn.ResizeObserver?Xn.ResizeObserver:hi,pi=null,vi=null;function gi(){if(null===pi){if("undefined"==typeof document)return pi=0;var t=document.body,e=document.createElement("div");e.classList.add("simplebar-hide-scrollbar"),t.appendChild(e);var r=e.getBoundingClientRect().right;t.removeChild(e),pi=r}return pi}Yt&&window.addEventListener("resize",(function(){vi!==window.devicePixelRatio&&(vi=window.devicePixelRatio,pi=null)}));var yi=function(t){return function(e,r,n,i){kt(r);var o=Mt(e),s=y(o),a=st(o.length),c=t?a-1:0,l=t?-1:1;if(n<2)for(;;){if(c in s){i=s[c],c+=l;break}if(c+=l,t?c<0:a<=c)throw TypeError("Reduce of empty array with no initial value")}for(;t?c>=0:a>c;c+=l)c in s&&(i=r(i,s[c],c,o));return i}},bi={left:yi(!1),right:yi(!0)}.left;At({target:"Array",proto:!0,forced:Vt("reduce")},{reduce:function(t){return bi(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}});var mi=R.f,xi=Function.prototype,Ei=xi.toString,wi=/^\s*function ([^ (]*)/;!l||"name"in xi||mi(xi,"name",{configurable:!0,get:function(){try{return Ei.call(this).match(wi)[1]}catch(t){return""}}});var Oi,_i,Si=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e},Ai=RegExp.prototype.exec,ki=String.prototype.replace,Li=Ai,Mi=(Oi=/a/,_i=/b*/g,Ai.call(Oi,"a"),Ai.call(_i,"a"),0!==Oi.lastIndex||0!==_i.lastIndex),Ti=void 0!==/()??/.exec("")[1];(Mi||Ti)&&(Li=function(t){var e,r,n,i,o=this;return Ti&&(r=new RegExp("^"+o.source+"$(?!\\s)",Si.call(o))),Mi&&(e=o.lastIndex),n=Ai.call(o,t),Mi&&n&&(o.lastIndex=o.global?n.index+n[0].length:e),Ti&&n&&n.length>1&&ki.call(n[0],r,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(n[i]=void 0)})),n});var ji=Li;At({target:"RegExp",proto:!0,forced:/./.exec!==ji},{exec:ji});var Ri=zt("species"),Wi=!c((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),zi=!c((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Ci=function(t,e,r,n){var i=zt(t),o=!c((function(){var e={};return e[i]=function(){return 7},7!=""[t](e)})),s=o&&!c((function(){var e=!1,r=/a/;return r.exec=function(){return e=!0,null},"split"===t&&(r.constructor={},r.constructor[Ri]=function(){return r}),r[i](""),!e}));if(!o||!s||"replace"===t&&!Wi||"split"===t&&!zi){var a=/./[i],l=r(i,""[t],(function(t,e,r,n,i){return e.exec===ji?o&&!i?{done:!0,value:a.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}})),u=l[0],f=l[1];J(String.prototype,t,u),J(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}),n&&W(RegExp.prototype[i],"sham",!0)}},Ni=Ue.charAt,Ii=function(t,e,r){return e+(r?Ni(t,e).length:1)},Di=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==v(t))throw TypeError("RegExp#exec called on incompatible receiver");return ji.call(t,e)};Ci("match",1,(function(t,e,r){return[function(e){var r=b(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var i=T(t),o=String(this);if(!i.global)return Di(i,o);var s=i.unicode;i.lastIndex=0;for(var a,c=[],l=0;null!==(a=Di(i,o));){var u=String(a[0]);c[l]=u,""===u&&(i.lastIndex=Ii(o,st(i.lastIndex),s)),l++}return 0===l?null:c}]}));var Pi=Math.max,Vi=Math.min,Fi=Math.floor,Bi=/\$([$&'`]|\d\d?|<[^>]*>)/g,Hi=/\$([$&'`]|\d\d?)/g;Ci("replace",2,(function(t,e,r){return[function(r,n){var i=b(this),o=null==r?void 0:r[t];return void 0!==o?o.call(r,i,n):e.call(String(i),r,n)},function(t,i){var o=r(e,t,this,i);if(o.done)return o.value;var s=T(t),a=String(this),c="function"==typeof i;c||(i=String(i));var l=s.global;if(l){var u=s.unicode;s.lastIndex=0}for(var f=[];;){var h=Di(s,a);if(null===h)break;if(f.push(h),!l)break;""===String(h[0])&&(s.lastIndex=Ii(a,st(s.lastIndex),u))}for(var d,p="",v=0,g=0;g<f.length;g++){h=f[g];for(var y=String(h[0]),b=Pi(Vi(it(h.index),a.length),0),m=[],x=1;x<h.length;x++)m.push(void 0===(d=h[x])?d:String(d));var E=h.groups;if(c){var w=[y].concat(m,b,a);void 0!==E&&w.push(E);var O=String(i.apply(void 0,w))}else O=n(y,a,b,m,E,i);b>=v&&(p+=a.slice(v,b)+O,v=b+y.length)}return p+a.slice(v)}];function n(t,r,n,i,o,s){var a=n+t.length,c=i.length,l=Hi;return void 0!==o&&(o=Mt(o),l=Bi),e.call(s,l,(function(e,s){var l;switch(s.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(a);case"<":l=o[s.slice(1,-1)];break;default:var u=+s;if(0===u)return e;if(u>c){var f=Fi(u/10);return 0===f?e:f<=c?void 0===i[f-1]?s.charAt(1):i[f-1]+s.charAt(1):e}l=i[u-1]}return void 0===l?"":l}))}}));var qi=function(t){return Array.prototype.reduce.call(t,(function(t,e){var r=e.name.match(/data-simplebar-(.+)/);if(r){var n=r[1].replace(/\W+(.)/g,(function(t,e){return e.toUpperCase()}));switch(e.value){case"true":t[n]=!0;break;case"false":t[n]=!1;break;case void 0:t[n]=!0;break;default:t[n]=e.value}}return t}),{})};function $i(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView?t.ownerDocument.defaultView:window}function Xi(t){return t&&t.ownerDocument?t.ownerDocument:document}var Yi=function(){function t(e,r){var n=this;this.onScroll=function(){var t=$i(n.el);n.scrollXTicking||(t.requestAnimationFrame(n.scrollX),n.scrollXTicking=!0),n.scrollYTicking||(t.requestAnimationFrame(n.scrollY),n.scrollYTicking=!0)},this.scrollX=function(){n.axis.x.isOverflowing&&(n.showScrollbar("x"),n.positionScrollbar("x")),n.scrollXTicking=!1},this.scrollY=function(){n.axis.y.isOverflowing&&(n.showScrollbar("y"),n.positionScrollbar("y")),n.scrollYTicking=!1},this.onMouseEnter=function(){n.showScrollbar("x"),n.showScrollbar("y")},this.onMouseMove=function(t){n.mouseX=t.clientX,n.mouseY=t.clientY,(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&n.onMouseMoveForAxis("x"),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&n.onMouseMoveForAxis("y")},this.onMouseLeave=function(){n.onMouseMove.cancel(),(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&n.onMouseLeaveForAxis("x"),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&n.onMouseLeaveForAxis("y"),n.mouseX=-1,n.mouseY=-1},this.onWindowResize=function(){n.scrollbarWidth=n.getScrollbarWidth(),n.hideNativeScrollbar()},this.hideScrollbars=function(){n.axis.x.track.rect=n.axis.x.track.el.getBoundingClientRect(),n.axis.y.track.rect=n.axis.y.track.el.getBoundingClientRect(),n.isWithinBounds(n.axis.y.track.rect)||(n.axis.y.scrollbar.el.classList.remove(n.classNames.visible),n.axis.y.isVisible=!1),n.isWithinBounds(n.axis.x.track.rect)||(n.axis.x.scrollbar.el.classList.remove(n.classNames.visible),n.axis.x.isVisible=!1)},this.onPointerEvent=function(t){var e,r;n.axis.x.track.rect=n.axis.x.track.el.getBoundingClientRect(),n.axis.y.track.rect=n.axis.y.track.el.getBoundingClientRect(),(n.axis.x.isOverflowing||n.axis.x.forceVisible)&&(e=n.isWithinBounds(n.axis.x.track.rect)),(n.axis.y.isOverflowing||n.axis.y.forceVisible)&&(r=n.isWithinBounds(n.axis.y.track.rect)),(e||r)&&(t.preventDefault(),t.stopPropagation(),"mousedown"===t.type&&(e&&(n.axis.x.scrollbar.rect=n.axis.x.scrollbar.el.getBoundingClientRect(),n.isWithinBounds(n.axis.x.scrollbar.rect)?n.onDragStart(t,"x"):n.onTrackClick(t,"x")),r&&(n.axis.y.scrollbar.rect=n.axis.y.scrollbar.el.getBoundingClientRect(),n.isWithinBounds(n.axis.y.scrollbar.rect)?n.onDragStart(t,"y"):n.onTrackClick(t,"y"))))},this.drag=function(e){var r=n.axis[n.draggedAxis].track,i=r.rect[n.axis[n.draggedAxis].sizeAttr],o=n.axis[n.draggedAxis].scrollbar,s=n.contentWrapperEl[n.axis[n.draggedAxis].scrollSizeAttr],a=parseInt(n.elStyles[n.axis[n.draggedAxis].sizeAttr],10);e.preventDefault(),e.stopPropagation();var c=(("y"===n.draggedAxis?e.pageY:e.pageX)-r.rect[n.axis[n.draggedAxis].offsetAttr]-n.axis[n.draggedAxis].dragOffset)/(i-o.size)*(s-a);"x"===n.draggedAxis&&(c=n.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c-(i+o.size):c,c=n.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-c:c),n.contentWrapperEl[n.axis[n.draggedAxis].scrollOffsetAttr]=c},this.onEndDrag=function(t){var e=Xi(n.el),r=$i(n.el);t.preventDefault(),t.stopPropagation(),n.el.classList.remove(n.classNames.dragging),e.removeEventListener("mousemove",n.drag,!0),e.removeEventListener("mouseup",n.onEndDrag,!0),n.removePreventClickId=r.setTimeout((function(){e.removeEventListener("click",n.preventClick,!0),e.removeEventListener("dblclick",n.preventClick,!0),n.removePreventClickId=null}))},this.preventClick=function(t){t.preventDefault(),t.stopPropagation()},this.el=e,this.minScrollbarWidth=20,this.options=Object.assign({},t.defaultOptions,{},r),this.classNames=Object.assign({},t.defaultOptions.classNames,{},this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,t.instances.has(this.el)||(this.recalculate=Gr(this.recalculate.bind(this),64),this.onMouseMove=Gr(this.onMouseMove.bind(this),64),this.hideScrollbars=dn(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=dn(this.onWindowResize.bind(this),64,{leading:!0}),t.getRtlHelpers=Hn(t.getRtlHelpers),this.init())}t.getRtlHelpers=function(){var e=document.createElement("div");e.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var r=e.firstElementChild;document.body.appendChild(r);var n=r.firstElementChild;r.scrollLeft=0;var i=t.getOffset(r),o=t.getOffset(n);r.scrollLeft=999;var s=t.getOffset(n);return{isRtlScrollingInverted:i.left!==o.left&&o.left-s.left!=0,isRtlScrollbarInverted:i.left!==o.left}},t.getOffset=function(t){var e=t.getBoundingClientRect(),r=Xi(t),n=$i(t);return{top:e.top+(n.pageYOffset||r.documentElement.scrollTop),left:e.left+(n.pageXOffset||r.documentElement.scrollLeft)}};var e=t.prototype;return e.init=function(){t.instances.set(this.el,this),Yt&&(this.initDOM(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},e.initDOM=function(){var t=this;if(Array.prototype.filter.call(this.el.children,(function(e){return e.classList.contains(t.classNames.wrapper)})).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var e=document.createElement("div"),r=document.createElement("div");e.classList.add(this.classNames.track),r.classList.add(this.classNames.scrollbar),e.appendChild(r),this.axis.x.track.el=e.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=e.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},e.initListeners=function(){var t=this,e=$i(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.addEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),e.addEventListener("resize",this.onWindowResize);var r=!1,n=e.ResizeObserver||di;this.resizeObserver=new n((function(){r&&t.recalculate()})),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),e.requestAnimationFrame((function(){r=!0})),this.mutationObserver=new e.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},e.recalculate=function(){var t=$i(this.el);this.elStyles=t.getComputedStyle(this.el),this.isRtl="rtl"===this.elStyles.direction;var e=this.contentEl.offsetWidth,r=this.heightAutoObserverEl.offsetHeight<=1,n=this.heightAutoObserverEl.offsetWidth<=1||e>0,i=this.contentWrapperEl.offsetWidth,o=this.elStyles.overflowX,s=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var a=this.contentEl.scrollHeight,c=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=r?"auto":"100%",this.placeholderEl.style.width=n?(e||c)+"px":"auto",this.placeholderEl.style.height=a+"px";var l=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=0!==e&&c>e,this.axis.y.isOverflowing=a>l,this.axis.x.isOverflowing="hidden"!==o&&this.axis.x.isOverflowing,this.axis.y.isOverflowing="hidden"!==s&&this.axis.y.isOverflowing,this.axis.x.forceVisible="x"===this.options.forceVisible||!0===this.options.forceVisible,this.axis.y.forceVisible="y"===this.options.forceVisible||!0===this.options.forceVisible,this.hideNativeScrollbar();var u=this.axis.x.isOverflowing?this.scrollbarWidth:0,f=this.axis.y.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&c>i-f,this.axis.y.isOverflowing=this.axis.y.isOverflowing&&a>l-u,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},e.getScrollbarSize=function(t){if(void 0===t&&(t="y"),!this.axis[t].isOverflowing)return 0;var e,r=this.contentEl[this.axis[t].scrollSizeAttr],n=this.axis[t].track.el[this.axis[t].offsetSizeAttr],i=n/r;return e=Math.max(~~(i*n),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(e=Math.min(e,this.options.scrollbarMaxSize)),e},e.positionScrollbar=function(e){if(void 0===e&&(e="y"),this.axis[e].isOverflowing){var r=this.contentWrapperEl[this.axis[e].scrollSizeAttr],n=this.axis[e].track.el[this.axis[e].offsetSizeAttr],i=parseInt(this.elStyles[this.axis[e].sizeAttr],10),o=this.axis[e].scrollbar,s=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],a=(s="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollingInverted?-s:s)/(r-i),c=~~((n-o.size)*a);c="x"===e&&this.isRtl&&t.getRtlHelpers().isRtlScrollbarInverted?c+(n-o.size):c,o.el.style.transform="x"===e?"translate3d("+c+"px, 0, 0)":"translate3d(0, "+c+"px, 0)"}},e.toggleTrackVisibility=function(t){void 0===t&&(t="y");var e=this.axis[t].track.el,r=this.axis[t].scrollbar.el;this.axis[t].isOverflowing||this.axis[t].forceVisible?(e.style.visibility="visible",this.contentWrapperEl.style[this.axis[t].overflowAttr]="scroll"):(e.style.visibility="hidden",this.contentWrapperEl.style[this.axis[t].overflowAttr]="hidden"),this.axis[t].isOverflowing?r.style.display="block":r.style.display="none"},e.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},e.onMouseMoveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.rect=this.axis[t].track.el.getBoundingClientRect(),this.axis[t].scrollbar.rect=this.axis[t].scrollbar.el.getBoundingClientRect(),this.isWithinBounds(this.axis[t].scrollbar.rect)?this.axis[t].scrollbar.el.classList.add(this.classNames.hover):this.axis[t].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[t].track.rect)?(this.showScrollbar(t),this.axis[t].track.el.classList.add(this.classNames.hover)):this.axis[t].track.el.classList.remove(this.classNames.hover)},e.onMouseLeaveForAxis=function(t){void 0===t&&(t="y"),this.axis[t].track.el.classList.remove(this.classNames.hover),this.axis[t].scrollbar.el.classList.remove(this.classNames.hover)},e.showScrollbar=function(t){void 0===t&&(t="y");var e=this.axis[t].scrollbar.el;this.axis[t].isVisible||(e.classList.add(this.classNames.visible),this.axis[t].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},e.onDragStart=function(t,e){void 0===e&&(e="y");var r=Xi(this.el),n=$i(this.el),i=this.axis[e].scrollbar,o="y"===e?t.pageY:t.pageX;this.axis[e].dragOffset=o-i.rect[this.axis[e].offsetAttr],this.draggedAxis=e,this.el.classList.add(this.classNames.dragging),r.addEventListener("mousemove",this.drag,!0),r.addEventListener("mouseup",this.onEndDrag,!0),null===this.removePreventClickId?(r.addEventListener("click",this.preventClick,!0),r.addEventListener("dblclick",this.preventClick,!0)):(n.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},e.onTrackClick=function(t,e){var r=this;if(void 0===e&&(e="y"),this.options.clickOnTrack){var n=$i(this.el);this.axis[e].scrollbar.rect=this.axis[e].scrollbar.el.getBoundingClientRect();var i=this.axis[e].scrollbar.rect[this.axis[e].offsetAttr],o=parseInt(this.elStyles[this.axis[e].sizeAttr],10),s=this.contentWrapperEl[this.axis[e].scrollOffsetAttr],a=("y"===e?this.mouseY-i:this.mouseX-i)<0?-1:1,c=-1===a?s-o:s+o;!function t(){var i,o;-1===a?s>c&&(s-=40,r.contentWrapperEl.scrollTo(((i={})[r.axis[e].offsetAttr]=s,i)),n.requestAnimationFrame(t)):s<c&&(s+=40,r.contentWrapperEl.scrollTo(((o={})[r.axis[e].offsetAttr]=s,o)),n.requestAnimationFrame(t))}()}},e.getContentElement=function(){return this.contentEl},e.getScrollElement=function(){return this.contentWrapperEl},e.getScrollbarWidth=function(){try{return"none"===getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:gi()}catch(t){return gi()}},e.removeListeners=function(){var t=this,e=$i(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,!0)})),["touchstart","touchend","touchmove"].forEach((function(e){t.el.removeEventListener(e,t.onPointerEvent,{capture:!0,passive:!0})})),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onWindowResize),this.mutationObserver.disconnect(),this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},e.unMount=function(){this.removeListeners(),t.instances.delete(this.el)},e.isWithinBounds=function(t){return this.mouseX>=t.left&&this.mouseX<=t.left+t.width&&this.mouseY>=t.top&&this.mouseY<=t.top+t.height},e.findChild=function(t,e){var r=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;return Array.prototype.filter.call(t.children,(function(t){return r.call(t,e)}))[0]},t}();return Yi.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3},Yi.instances=new WeakMap,Yi.initDOMLoadedElements=function(){document.removeEventListener("DOMContentLoaded",this.initDOMLoadedElements),window.removeEventListener("load",this.initDOMLoadedElements),Array.prototype.forEach.call(document.querySelectorAll("[data-simplebar]"),(function(t){"init"===t.getAttribute("data-simplebar")||Yi.instances.has(t)||new Yi(t,qi(t.attributes))}))},Yi.removeObserver=function(){this.globalObserver.disconnect()},Yi.initHtmlApi=function(){this.initDOMLoadedElements=this.initDOMLoadedElements.bind(this),"undefined"!=typeof MutationObserver&&(this.globalObserver=new MutationObserver(Yi.handleMutations),this.globalObserver.observe(document,{childList:!0,subtree:!0})),"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(this.initDOMLoadedElements):(document.addEventListener("DOMContentLoaded",this.initDOMLoadedElements),window.addEventListener("load",this.initDOMLoadedElements))},Yi.handleMutations=function(t){t.forEach((function(t){Array.prototype.forEach.call(t.addedNodes,(function(t){1===t.nodeType&&(t.hasAttribute("data-simplebar")?!Yi.instances.has(t)&&new Yi(t,qi(t.attributes)):Array.prototype.forEach.call(t.querySelectorAll("[data-simplebar]"),(function(t){"init"===t.getAttribute("data-simplebar")||Yi.instances.has(t)||new Yi(t,qi(t.attributes))})))})),Array.prototype.forEach.call(t.removedNodes,(function(t){1===t.nodeType&&(t.hasAttribute('[data-simplebar="init"]')?Yi.instances.has(t)&&Yi.instances.get(t).unMount():Array.prototype.forEach.call(t.querySelectorAll('[data-simplebar="init"]'),(function(t){Yi.instances.has(t)&&Yi.instances.get(t).unMount()})))}))}))},Yi.getOptions=qi,Yt&&Yi.initHtmlApi(),Yi}));
 
 
 
 
 
 
 
 
 
 
assets/vendor/swiper/css/swiper.min.css DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * Swiper 5.0.4
3
- * Most modern mobile touch slider and framework with hardware accelerated transitions
4
- * http://swiperjs.com
5
- *
6
- * Copyright 2014-2019 Vladimir Kharlampidi
7
- *
8
- * Released under the MIT License
9
- *
10
- * Released on: September 30, 2019
11
- */
12
-
13
- @font-face{font-family:swiper-icons;src:url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-3d{perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(-1 * var(--swiper-navigation-size)/ 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size)}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white{--swiper-navigation-color:#ffffff}.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black{--swiper-navigation-color:#000000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#ffffff}.swiper-pagination-black{--swiper-pagination-color:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/vendor/swiper/js/swiper.min.js DELETED
@@ -1,14 +0,0 @@
1
- /**
2
- * Swiper 5.0.4
3
- * Most modern mobile touch slider and framework with hardware accelerated transitions
4
- * http://swiperjs.com
5
- *
6
- * Copyright 2014-2019 Vladimir Kharlampidi
7
- *
8
- * Released under the MIT License
9
- *
10
- * Released on: September 30, 2019
11
- */
12
-
13
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Swiper=t()}(this,(function(){"use strict";var e="undefined"==typeof document?{body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},location:{hash:""}}:document,t="undefined"==typeof window?{document:e,navigator:{userAgent:""},location:{},history:{},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){}}:window,i=function(e){for(var t=0;t<e.length;t+=1)this[t]=e[t];return this.length=e.length,this};function s(s,a){var r=[],n=0;if(s&&!a&&s instanceof i)return s;if(s)if("string"==typeof s){var o,l,d=s.trim();if(d.indexOf("<")>=0&&d.indexOf(">")>=0){var h="div";for(0===d.indexOf("<li")&&(h="ul"),0===d.indexOf("<tr")&&(h="tbody"),0!==d.indexOf("<td")&&0!==d.indexOf("<th")||(h="tr"),0===d.indexOf("<tbody")&&(h="table"),0===d.indexOf("<option")&&(h="select"),(l=e.createElement(h)).innerHTML=d,n=0;n<l.childNodes.length;n+=1)r.push(l.childNodes[n])}else for(o=a||"#"!==s[0]||s.match(/[ .<>:~]/)?(a||e).querySelectorAll(s.trim()):[e.getElementById(s.trim().split("#")[1])],n=0;n<o.length;n+=1)o[n]&&r.push(o[n])}else if(s.nodeType||s===t||s===e)r.push(s);else if(s.length>0&&s[0].nodeType)for(n=0;n<s.length;n+=1)r.push(s[n]);return new i(r)}function a(e){for(var t=[],i=0;i<e.length;i+=1)-1===t.indexOf(e[i])&&t.push(e[i]);return t}s.fn=i.prototype,s.Class=i,s.Dom7=i;var r={addClass:function(e){if(void 0===e)return this;for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.remove(t[i]);return this},hasClass:function(e){return!!this[0]&&this[0].classList.contains(e)},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.toggle(t[i]);return this},attr:function(e,t){var i=arguments;if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var s=0;s<this.length;s+=1)if(2===i.length)this[s].setAttribute(e,t);else for(var a in e)this[s][a]=e[a],this[s].setAttribute(a,e[a]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},data:function(e,t){var i;if(void 0!==t){for(var s=0;s<this.length;s+=1)(i=this[s]).dom7ElementDataStorage||(i.dom7ElementDataStorage={}),i.dom7ElementDataStorage[e]=t;return this}if(i=this[0]){if(i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage)return i.dom7ElementDataStorage[e];var a=i.getAttribute("data-"+e);return a||void 0}},transform:function(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e,i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e,i.transitionDuration=e}return this},on:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var a=t[0],r=t[1],n=t[2],o=t[3];function l(e){var t=e.target;if(t){var i=e.target.dom7EventData||[];if(i.indexOf(e)<0&&i.unshift(e),s(t).is(r))n.apply(t,i);else for(var a=s(t).parents(),o=0;o<a.length;o+=1)s(a[o]).is(r)&&n.apply(a[o],i)}}function d(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),n.apply(this,t)}"function"==typeof t[1]&&(a=(e=t)[0],n=e[1],o=e[2],r=void 0),o||(o=!1);for(var h,p=a.split(" "),c=0;c<this.length;c+=1){var u=this[c];if(r)for(h=0;h<p.length;h+=1){var v=p[h];u.dom7LiveListeners||(u.dom7LiveListeners={}),u.dom7LiveListeners[v]||(u.dom7LiveListeners[v]=[]),u.dom7LiveListeners[v].push({listener:n,proxyListener:l}),u.addEventListener(v,l,o)}else for(h=0;h<p.length;h+=1){var f=p[h];u.dom7Listeners||(u.dom7Listeners={}),u.dom7Listeners[f]||(u.dom7Listeners[f]=[]),u.dom7Listeners[f].push({listener:n,proxyListener:d}),u.addEventListener(f,d,o)}}return this},off:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],n=t[3];"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],n=e[2],a=void 0),n||(n=!1);for(var o=s.split(" "),l=0;l<o.length;l+=1)for(var d=o[l],h=0;h<this.length;h+=1){var p=this[h],c=void 0;if(!a&&p.dom7Listeners?c=p.dom7Listeners[d]:a&&p.dom7LiveListeners&&(c=p.dom7LiveListeners[d]),c&&c.length)for(var u=c.length-1;u>=0;u-=1){var v=c[u];r&&v.listener===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r&&v.listener&&v.listener.dom7proxy&&v.listener.dom7proxy===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r||(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1))}}return this},trigger:function(){for(var i=[],s=arguments.length;s--;)i[s]=arguments[s];for(var a=i[0].split(" "),r=i[1],n=0;n<a.length;n+=1)for(var o=a[n],l=0;l<this.length;l+=1){var d=this[l],h=void 0;try{h=new t.CustomEvent(o,{detail:r,bubbles:!0,cancelable:!0})}catch(t){(h=e.createEvent("Event")).initEvent(o,!0,!0),h.detail=r}d.dom7EventData=i.filter((function(e,t){return t>0})),d.dispatchEvent(h),d.dom7EventData=[],delete d.dom7EventData}return this},transitionEnd:function(e){var t,i=["webkitTransitionEnd","transitionend"],s=this;function a(r){if(r.target===this)for(e.call(this,r),t=0;t<i.length;t+=1)s.off(i[t],a)}if(e)for(t=0;t<i.length;t+=1)s.on(i[t],a);return this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(this.length>0){var i=this[0],s=i.getBoundingClientRect(),a=e.body,r=i.clientTop||a.clientTop||0,n=i.clientLeft||a.clientLeft||0,o=i===t?t.scrollY:i.scrollTop,l=i===t?t.scrollX:i.scrollLeft;return{top:s.top+o-r,left:s.left+l-n}}return null},css:function(e,i){var s;if(1===arguments.length){if("string"!=typeof e){for(s=0;s<this.length;s+=1)for(var a in e)this[s].style[a]=e[a];return this}if(this[0])return t.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(s=0;s<this.length;s+=1)this[s].style[e]=i;return this}return this},each:function(e){if(!e)return this;for(var t=0;t<this.length;t+=1)if(!1===e.call(this[t],t,this[t]))return this;return this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(var t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(a){var r,n,o=this[0];if(!o||void 0===a)return!1;if("string"==typeof a){if(o.matches)return o.matches(a);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(a);if(o.msMatchesSelector)return o.msMatchesSelector(a);for(r=s(a),n=0;n<r.length;n+=1)if(r[n]===o)return!0;return!1}if(a===e)return o===e;if(a===t)return o===t;if(a.nodeType||a instanceof i){for(r=a.nodeType?[a]:a,n=0;n<r.length;n+=1)if(r[n]===o)return!0;return!1}return!1},index:function(){var e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;var t,s=this.length;return new i(e>s-1?[]:e<0?(t=s+e)<0?[]:[this[t]]:[this[e]])},append:function(){for(var t,s=[],a=arguments.length;a--;)s[a]=arguments[a];for(var r=0;r<s.length;r+=1){t=s[r];for(var n=0;n<this.length;n+=1)if("string"==typeof t){var o=e.createElement("div");for(o.innerHTML=t;o.firstChild;)this[n].appendChild(o.firstChild)}else if(t instanceof i)for(var l=0;l<t.length;l+=1)this[n].appendChild(t[l]);else this[n].appendChild(t)}return this},prepend:function(t){var s,a;for(s=0;s<this.length;s+=1)if("string"==typeof t){var r=e.createElement("div");for(r.innerHTML=t,a=r.childNodes.length-1;a>=0;a-=1)this[s].insertBefore(r.childNodes[a],this[s].childNodes[0])}else if(t instanceof i)for(a=0;a<t.length;a+=1)this[s].insertBefore(t[a],this[s].childNodes[0]);else this[s].insertBefore(t,this[s].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&s(this[0].nextElementSibling).is(e)?new i([this[0].nextElementSibling]):new i([]):this[0].nextElementSibling?new i([this[0].nextElementSibling]):new i([]):new i([])},nextAll:function(e){var t=[],a=this[0];if(!a)return new i([]);for(;a.nextElementSibling;){var r=a.nextElementSibling;e?s(r).is(e)&&t.push(r):t.push(r),a=r}return new i(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&s(t.previousElementSibling).is(e)?new i([t.previousElementSibling]):new i([]):t.previousElementSibling?new i([t.previousElementSibling]):new i([])}return new i([])},prevAll:function(e){var t=[],a=this[0];if(!a)return new i([]);for(;a.previousElementSibling;){var r=a.previousElementSibling;e?s(r).is(e)&&t.push(r):t.push(r),a=r}return new i(t)},parent:function(e){for(var t=[],i=0;i<this.length;i+=1)null!==this[i].parentNode&&(e?s(this[i].parentNode).is(e)&&t.push(this[i].parentNode):t.push(this[i].parentNode));return s(a(t))},parents:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var r=this[i].parentNode;r;)e?s(r).is(e)&&t.push(r):t.push(r),r=r.parentNode;return s(a(t))},closest:function(e){var t=this;return void 0===e?new i([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){for(var t=[],s=0;s<this.length;s+=1)for(var a=this[s].querySelectorAll(e),r=0;r<a.length;r+=1)t.push(a[r]);return new i(t)},children:function(e){for(var t=[],r=0;r<this.length;r+=1)for(var n=this[r].childNodes,o=0;o<n.length;o+=1)e?1===n[o].nodeType&&s(n[o]).is(e)&&t.push(n[o]):1===n[o].nodeType&&t.push(n[o]);return new i(a(t))},filter:function(e){for(var t=[],s=0;s<this.length;s+=1)e.call(this[s],s,this[s])&&t.push(this[s]);return new i(t)},remove:function(){for(var e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,a;for(i=0;i<e.length;i+=1){var r=s(e[i]);for(a=0;a<r.length;a+=1)this[this.length]=r[a],this.length+=1}return this},styles:function(){return this[0]?t.getComputedStyle(this[0],null):{}}};Object.keys(r).forEach((function(e){s.fn[e]=s.fn[e]||r[e]}));var n={deleteProps:function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))},nextTick:function(e,t){return void 0===t&&(t=0),setTimeout(e,t)},now:function(){return Date.now()},getTranslate:function(e,i){var s,a,r;void 0===i&&(i="x");var n=t.getComputedStyle(e,null);return t.WebKitCSSMatrix?((a=n.transform||n.webkitTransform).split(",").length>6&&(a=a.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),r=new t.WebKitCSSMatrix("none"===a?"":a)):s=(r=n.MozTransform||n.OTransform||n.MsTransform||n.msTransform||n.transform||n.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===i&&(a=t.WebKitCSSMatrix?r.m41:16===s.length?parseFloat(s[12]):parseFloat(s[4])),"y"===i&&(a=t.WebKitCSSMatrix?r.m42:16===s.length?parseFloat(s[13]):parseFloat(s[5])),a||0},parseUrlQuery:function(e){var i,s,a,r,n={},o=e||t.location.href;if("string"==typeof o&&o.length)for(r=(s=(o=o.indexOf("?")>-1?o.replace(/\S*\?/,""):"").split("&").filter((function(e){return""!==e}))).length,i=0;i<r;i+=1)a=s[i].replace(/#\S+/g,"").split("="),n[decodeURIComponent(a[0])]=void 0===a[1]?void 0:decodeURIComponent(a[1])||"";return n},isObject:function(e){return"object"==typeof e&&null!==e&&e.constructor&&e.constructor===Object},extend:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var i=Object(e[0]),s=1;s<e.length;s+=1){var a=e[s];if(null!=a)for(var r=Object.keys(Object(a)),o=0,l=r.length;o<l;o+=1){var d=r[o],h=Object.getOwnPropertyDescriptor(a,d);void 0!==h&&h.enumerable&&(n.isObject(i[d])&&n.isObject(a[d])?n.extend(i[d],a[d]):!n.isObject(i[d])&&n.isObject(a[d])?(i[d]={},n.extend(i[d],a[d])):i[d]=a[d])}}return i}},o={touch:t.Modernizr&&!0===t.Modernizr.touch||!!(t.navigator.maxTouchPoints>0||"ontouchstart"in t||t.DocumentTouch&&e instanceof t.DocumentTouch),pointerEvents:!!t.PointerEvent&&"maxTouchPoints"in t.navigator&&t.navigator.maxTouchPoints>0,observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,i)}catch(e){}return e}(),gestures:"ongesturestart"in t},l=function(e){void 0===e&&(e={});var t=this;t.params=e,t.eventsListeners={},t.params&&t.params.on&&Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))},d={components:{configurable:!0}};l.prototype.on=function(e,t,i){var s=this;if("function"!=typeof t)return s;var a=i?"unshift":"push";return e.split(" ").forEach((function(e){s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][a](t)})),s},l.prototype.once=function(e,t,i){var s=this;if("function"!=typeof t)return s;function a(){for(var i=[],r=arguments.length;r--;)i[r]=arguments[r];t.apply(s,i),s.off(e,a),a.f7proxy&&delete a.f7proxy}return a.f7proxy=t,s.on(e,a,i)},l.prototype.off=function(e,t){var i=this;return i.eventsListeners?(e.split(" ").forEach((function(e){void 0===t?i.eventsListeners[e]=[]:i.eventsListeners[e]&&i.eventsListeners[e].length&&i.eventsListeners[e].forEach((function(s,a){(s===t||s.f7proxy&&s.f7proxy===t)&&i.eventsListeners[e].splice(a,1)}))})),i):i},l.prototype.emit=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a,r=this;if(!r.eventsListeners)return r;"string"==typeof e[0]||Array.isArray(e[0])?(i=e[0],s=e.slice(1,e.length),a=r):(i=e[0].events,s=e[0].data,a=e[0].context||r);var n=Array.isArray(i)?i:i.split(" ");return n.forEach((function(e){if(r.eventsListeners&&r.eventsListeners[e]){var t=[];r.eventsListeners[e].forEach((function(e){t.push(e)})),t.forEach((function(e){e.apply(a,s)}))}})),r},l.prototype.useModulesParams=function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i];s.params&&n.extend(e,s.params)}))},l.prototype.useModules=function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i],a=e[i]||{};s.instance&&Object.keys(s.instance).forEach((function(e){var i=s.instance[e];t[e]="function"==typeof i?i.bind(t):i})),s.on&&t.on&&Object.keys(s.on).forEach((function(e){t.on(e,s.on[e])})),s.create&&s.create.bind(t)(a)}))},d.components.set=function(e){this.use&&this.use(e)},l.installModule=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;s.prototype.modules||(s.prototype.modules={});var a=e.name||Object.keys(s.prototype.modules).length+"_"+n.now();return s.prototype.modules[a]=e,e.proto&&Object.keys(e.proto).forEach((function(t){s.prototype[t]=e.proto[t]})),e.static&&Object.keys(e.static).forEach((function(t){s[t]=e.static[t]})),e.install&&e.install.apply(s,t),s},l.use=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;return Array.isArray(e)?(e.forEach((function(e){return s.installModule(e)})),s):s.installModule.apply(s,[e].concat(t))},Object.defineProperties(l,d);var h={updateSize:function(){var e,t,i=this.$el;e=void 0!==this.params.width?this.params.width:i[0].clientWidth,t=void 0!==this.params.height?this.params.height:i[0].clientHeight,0===e&&this.isHorizontal()||0===t&&this.isVertical()||(e=e-parseInt(i.css("padding-left"),10)-parseInt(i.css("padding-right"),10),t=t-parseInt(i.css("padding-top"),10)-parseInt(i.css("padding-bottom"),10),n.extend(this,{width:e,height:t,size:this.isHorizontal()?e:t}))},updateSlides:function(){var e=this.params,i=this.$wrapperEl,s=this.size,a=this.rtlTranslate,r=this.wrongRTL,o=this.virtual&&e.virtual.enabled,l=o?this.virtual.slides.length:this.slides.length,d=i.children("."+this.params.slideClass),h=o?this.virtual.slides.length:d.length,p=[],c=[],u=[];function v(t){return!e.cssMode||t!==d.length-1}var f=e.slidesOffsetBefore;"function"==typeof f&&(f=e.slidesOffsetBefore.call(this));var m=e.slidesOffsetAfter;"function"==typeof m&&(m=e.slidesOffsetAfter.call(this));var g=this.snapGrid.length,b=this.snapGrid.length,w=e.spaceBetween,y=-f,x=0,E=0;if(void 0!==s){var T,C;"string"==typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*s),this.virtualSize=-w,a?d.css({marginLeft:"",marginTop:""}):d.css({marginRight:"",marginBottom:""}),e.slidesPerColumn>1&&(T=Math.floor(h/e.slidesPerColumn)===h/this.params.slidesPerColumn?h:Math.ceil(h/e.slidesPerColumn)*e.slidesPerColumn,"auto"!==e.slidesPerView&&"row"===e.slidesPerColumnFill&&(T=Math.max(T,e.slidesPerView*e.slidesPerColumn)));for(var S,M=e.slidesPerColumn,P=T/M,z=Math.floor(h/e.slidesPerColumn),k=0;k<h;k+=1){C=0;var $=d.eq(k);if(e.slidesPerColumn>1){var L=void 0,I=void 0,D=void 0;if("row"===e.slidesPerColumnFill&&e.slidesPerGroup>1){var O=Math.floor(k/(e.slidesPerGroup*e.slidesPerColumn)),A=k-e.slidesPerColumn*e.slidesPerGroup*O;L=(I=A-(D=Math.floor(A/e.slidesPerGroup))*e.slidesPerGroup+O*e.slidesPerGroup)+D*T/M,$.css({"-webkit-box-ordinal-group":L,"-moz-box-ordinal-group":L,"-ms-flex-order":L,"-webkit-order":L,order:L})}else"column"===e.slidesPerColumnFill?(D=k-(I=Math.floor(k/M))*M,(I>z||I===z&&D===M-1)&&(D+=1)>=M&&(D=0,I+=1)):I=k-(D=Math.floor(k/P))*P;$.css("margin-"+(this.isHorizontal()?"top":"left"),0!==D&&e.spaceBetween&&e.spaceBetween+"px")}if("none"!==$.css("display")){if("auto"===e.slidesPerView){var G=t.getComputedStyle($[0],null),H=$[0].style.transform,N=$[0].style.webkitTransform;if(H&&($[0].style.transform="none"),N&&($[0].style.webkitTransform="none"),e.roundLengths)C=this.isHorizontal()?$.outerWidth(!0):$.outerHeight(!0);else if(this.isHorizontal()){var B=parseFloat(G.getPropertyValue("width")),V=parseFloat(G.getPropertyValue("padding-left")),X=parseFloat(G.getPropertyValue("padding-right")),Y=parseFloat(G.getPropertyValue("margin-left")),F=parseFloat(G.getPropertyValue("margin-right")),R=G.getPropertyValue("box-sizing");C=R&&"border-box"===R?B+Y+F:B+V+X+Y+F}else{var q=parseFloat(G.getPropertyValue("height")),W=parseFloat(G.getPropertyValue("padding-top")),j=parseFloat(G.getPropertyValue("padding-bottom")),K=parseFloat(G.getPropertyValue("margin-top")),U=parseFloat(G.getPropertyValue("margin-bottom")),_=G.getPropertyValue("box-sizing");C=_&&"border-box"===_?q+K+U:q+W+j+K+U}H&&($[0].style.transform=H),N&&($[0].style.webkitTransform=N),e.roundLengths&&(C=Math.floor(C))}else C=(s-(e.slidesPerView-1)*w)/e.slidesPerView,e.roundLengths&&(C=Math.floor(C)),d[k]&&(this.isHorizontal()?d[k].style.width=C+"px":d[k].style.height=C+"px");d[k]&&(d[k].swiperSlideSize=C),u.push(C),e.centeredSlides?(y=y+C/2+x/2+w,0===x&&0!==k&&(y=y-s/2-w),0===k&&(y=y-s/2-w),Math.abs(y)<.001&&(y=0),e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y)):(e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y),y=y+C+w),this.virtualSize+=C+w,x=C,E+=1}}if(this.virtualSize=Math.max(this.virtualSize,s)+m,a&&r&&("slide"===e.effect||"coverflow"===e.effect)&&i.css({width:this.virtualSize+e.spaceBetween+"px"}),e.setWrapperSize&&(this.isHorizontal()?i.css({width:this.virtualSize+e.spaceBetween+"px"}):i.css({height:this.virtualSize+e.spaceBetween+"px"})),e.slidesPerColumn>1&&(this.virtualSize=(C+e.spaceBetween)*T,this.virtualSize=Math.ceil(this.virtualSize/e.slidesPerColumn)-e.spaceBetween,this.isHorizontal()?i.css({width:this.virtualSize+e.spaceBetween+"px"}):i.css({height:this.virtualSize+e.spaceBetween+"px"}),e.centeredSlides)){S=[];for(var Z=0;Z<p.length;Z+=1){var Q=p[Z];e.roundLengths&&(Q=Math.floor(Q)),p[Z]<this.virtualSize+p[0]&&S.push(Q)}p=S}if(!e.centeredSlides){S=[];for(var J=0;J<p.length;J+=1){var ee=p[J];e.roundLengths&&(ee=Math.floor(ee)),p[J]<=this.virtualSize-s&&S.push(ee)}p=S,Math.floor(this.virtualSize-s)-Math.floor(p[p.length-1])>1&&p.push(this.virtualSize-s)}if(0===p.length&&(p=[0]),0!==e.spaceBetween&&(this.isHorizontal()?a?d.filter(v).css({marginLeft:w+"px"}):d.filter(v).css({marginRight:w+"px"}):d.filter(v).css({marginBottom:w+"px"})),e.centerInsufficientSlides){var te=0;if(u.forEach((function(t){te+=t+(e.spaceBetween?e.spaceBetween:0)})),(te-=e.spaceBetween)<s){var ie=(s-te)/2;p.forEach((function(e,t){p[t]=e-ie})),c.forEach((function(e,t){c[t]=e+ie}))}}n.extend(this,{slides:d,snapGrid:p,slidesGrid:c,slidesSizesGrid:u}),h!==l&&this.emit("slidesLengthChange"),p.length!==g&&(this.params.watchOverflow&&this.checkOverflow(),this.emit("snapGridLengthChange")),c.length!==b&&this.emit("slidesGridLengthChange"),(e.watchSlidesProgress||e.watchSlidesVisibility)&&this.updateSlidesOffset()}},updateAutoHeight:function(e){var t,i=[],s=0;if("number"==typeof e?this.setTransition(e):!0===e&&this.setTransition(this.params.speed),"auto"!==this.params.slidesPerView&&this.params.slidesPerView>1)for(t=0;t<Math.ceil(this.params.slidesPerView);t+=1){var a=this.activeIndex+t;if(a>this.slides.length)break;i.push(this.slides.eq(a)[0])}else i.push(this.slides.eq(this.activeIndex)[0]);for(t=0;t<i.length;t+=1)if(void 0!==i[t]){var r=i[t].offsetHeight;s=r>s?r:s}s&&this.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t<e.length;t+=1)e[t].swiperSlideOffset=this.isHorizontal()?e[t].offsetLeft:e[t].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this.params,i=this.slides,a=this.rtlTranslate;if(0!==i.length){void 0===i[0].swiperSlideOffset&&this.updateSlidesOffset();var r=-e;a&&(r=e),i.removeClass(t.slideVisibleClass),this.visibleSlidesIndexes=[],this.visibleSlides=[];for(var n=0;n<i.length;n+=1){var o=i[n],l=(r+(t.centeredSlides?this.minTranslate():0)-o.swiperSlideOffset)/(o.swiperSlideSize+t.spaceBetween);if(t.watchSlidesVisibility){var d=-(r-o.swiperSlideOffset),h=d+this.slidesSizesGrid[n];(d>=0&&d<this.size-1||h>1&&h<=this.size||d<=0&&h>=this.size)&&(this.visibleSlides.push(o),this.visibleSlidesIndexes.push(n),i.eq(n).addClass(t.slideVisibleClass))}o.progress=a?-l:l}this.visibleSlides=s(this.visibleSlides)}},updateProgress:function(e){if(void 0===e){var t=this.rtlTranslate?-1:1;e=this&&this.translate&&this.translate*t||0}var i=this.params,s=this.maxTranslate()-this.minTranslate(),a=this.progress,r=this.isBeginning,o=this.isEnd,l=r,d=o;0===s?(a=0,r=!0,o=!0):(r=(a=(e-this.minTranslate())/s)<=0,o=a>=1),n.extend(this,{progress:a,isBeginning:r,isEnd:o}),(i.watchSlidesProgress||i.watchSlidesVisibility)&&this.updateSlidesProgress(e),r&&!l&&this.emit("reachBeginning toEdge"),o&&!d&&this.emit("reachEnd toEdge"),(l&&!r||d&&!o)&&this.emit("fromEdge"),this.emit("progress",a)},updateSlidesClasses:function(){var e,t=this.slides,i=this.params,s=this.$wrapperEl,a=this.activeIndex,r=this.realIndex,n=this.virtual&&i.virtual.enabled;t.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=n?this.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+a+'"]'):t.eq(a)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass));var o=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===o.length&&(o=t.eq(0)).addClass(i.slideNextClass);var l=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===l.length&&(l=t.eq(-1)).addClass(i.slidePrevClass),i.loop&&(o.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),l.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,i=this.rtlTranslate?this.translate:-this.translate,s=this.slidesGrid,a=this.snapGrid,r=this.params,o=this.activeIndex,l=this.realIndex,d=this.snapIndex,h=e;if(void 0===h){for(var p=0;p<s.length;p+=1)void 0!==s[p+1]?i>=s[p]&&i<s[p+1]-(s[p+1]-s[p])/2?h=p:i>=s[p]&&i<s[p+1]&&(h=p+1):i>=s[p]&&(h=p);r.normalizeSlideIndex&&(h<0||void 0===h)&&(h=0)}if((t=a.indexOf(i)>=0?a.indexOf(i):Math.floor(h/r.slidesPerGroup))>=a.length&&(t=a.length-1),h!==o){var c=parseInt(this.slides.eq(h).attr("data-swiper-slide-index")||h,10);n.extend(this,{snapIndex:t,realIndex:c,previousIndex:o,activeIndex:h}),this.emit("activeIndexChange"),this.emit("snapIndexChange"),l!==c&&this.emit("realIndexChange"),(this.initialized||this.runCallbacksOnInit)&&this.emit("slideChange")}else t!==d&&(this.snapIndex=t,this.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this.params,i=s(e.target).closest("."+t.slideClass)[0],a=!1;if(i)for(var r=0;r<this.slides.length;r+=1)this.slides[r]===i&&(a=!0);if(!i||!a)return this.clickedSlide=void 0,void(this.clickedIndex=void 0);this.clickedSlide=i,this.virtual&&this.params.virtual.enabled?this.clickedIndex=parseInt(s(i).attr("data-swiper-slide-index"),10):this.clickedIndex=s(i).index(),t.slideToClickedSlide&&void 0!==this.clickedIndex&&this.clickedIndex!==this.activeIndex&&this.slideToClickedSlide()}};var p={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");var t=this.params,i=this.rtlTranslate,s=this.translate,a=this.$wrapperEl;if(t.virtualTranslate)return i?-s:s;if(t.cssMode)return s;var r=n.getTranslate(a[0],e);return i&&(r=-r),r||0},setTranslate:function(e,t){var i=this.rtlTranslate,s=this.params,a=this.$wrapperEl,r=this.wrapperEl,n=this.progress,o=0,l=0;this.isHorizontal()?o=i?-e:e:l=e,s.roundLengths&&(o=Math.floor(o),l=Math.floor(l)),s.cssMode?r[this.isHorizontal()?"scrollLeft":"scrollTop"]=this.isHorizontal()?-o:-l:s.virtualTranslate||a.transform("translate3d("+o+"px, "+l+"px, 0px)"),this.previousTranslate=this.translate,this.translate=this.isHorizontal()?o:l;var d=this.maxTranslate()-this.minTranslate();(0===d?0:(e-this.minTranslate())/d)!==n&&this.updateProgress(e),this.emit("setTranslate",this.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]}};var c={setTransition:function(e,t){this.params.cssMode||this.$wrapperEl.transition(e),this.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.params,a=this.previousIndex;if(!s.cssMode){s.autoHeight&&this.updateAutoHeight();var r=t;if(r||(r=i>a?"next":i<a?"prev":"reset"),this.emit("transitionStart"),e&&i!==a){if("reset"===r)return void this.emit("slideResetTransitionStart");this.emit("slideChangeTransitionStart"),"next"===r?this.emit("slideNextTransitionStart"):this.emit("slidePrevTransitionStart")}}},transitionEnd:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.previousIndex,a=this.params;if(this.animating=!1,!a.cssMode){this.setTransition(0);var r=t;if(r||(r=i>s?"next":i<s?"prev":"reset"),this.emit("transitionEnd"),e&&i!==s){if("reset"===r)return void this.emit("slideResetTransitionEnd");this.emit("slideChangeTransitionEnd"),"next"===r?this.emit("slideNextTransitionEnd"):this.emit("slidePrevTransitionEnd")}}}};var u={slideTo:function(e,t,i,s){var a;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var r=this,n=e;n<0&&(n=0);var o=r.params,l=r.snapGrid,d=r.slidesGrid,h=r.previousIndex,p=r.activeIndex,c=r.rtlTranslate,u=r.wrapperEl;if(r.animating&&o.preventInteractionOnTransition)return!1;var v=Math.floor(n/o.slidesPerGroup);v>=l.length&&(v=l.length-1),(p||o.initialSlide||0)===(h||0)&&i&&r.emit("beforeSlideChangeStart");var f,m=-l[v];if(r.updateProgress(m),o.normalizeSlideIndex)for(var g=0;g<d.length;g+=1)-Math.floor(100*m)>=Math.floor(100*d[g])&&(n=g);if(r.initialized&&n!==p){if(!r.allowSlideNext&&m<r.translate&&m<r.minTranslate())return!1;if(!r.allowSlidePrev&&m>r.translate&&m>r.maxTranslate()&&(p||0)!==n)return!1}if(f=n>p?"next":n<p?"prev":"reset",c&&-m===r.translate||!c&&m===r.translate)return r.updateActiveIndex(n),o.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==o.effect&&r.setTranslate(m),"reset"!==f&&(r.transitionStart(i,f),r.transitionEnd(i,f)),!1;if(o.cssMode){var b=r.isHorizontal();return 0===t?u[b?"scrollLeft":"scrollTop"]=-m:u.scrollTo?u.scrollTo(((a={})[b?"left":"top"]=-m,a.behavior="smooth",a)):u[b?"scrollLeft":"scrollTop"]=-m,!0}return 0===t?(r.setTransition(0),r.setTranslate(m),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,f),r.transitionEnd(i,f)):(r.setTransition(t),r.setTranslate(m),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,f),r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(i,f))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd))),!0},slideToLoop:function(e,t,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var a=e;return this.params.loop&&(a+=this.loopedSlides),this.slideTo(a,t,i,s)},slideNext:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating;return s.loop?!a&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,this.slideTo(this.activeIndex+s.slidesPerGroup,e,t,i)):this.slideTo(this.activeIndex+s.slidesPerGroup,e,t,i)},slidePrev:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.snapGrid,n=this.slidesGrid,o=this.rtlTranslate;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}function l(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var d,h=l(o?this.translate:-this.translate),p=r.map((function(e){return l(e)})),c=(n.map((function(e){return l(e)})),r[p.indexOf(h)],r[p.indexOf(h)-1]);return void 0===c&&s.cssMode&&r.forEach((function(e){!c&&h>=e&&(c=e)})),void 0!==c&&(d=n.indexOf(c))<0&&(d=this.activeIndex-1),this.slideTo(d,e,t,i)},slideReset:function(e,t,i){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,i)},slideToClosest:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.activeIndex,a=Math.floor(s/this.params.slidesPerGroup);if(a<this.snapGrid.length-1){var r=this.rtlTranslate?this.translate:-this.translate,n=this.snapGrid[a];r-n>(this.snapGrid[a+1]-n)/2&&(s=this.params.slidesPerGroup)}return this.slideTo(s,e,t,i)},slideToClickedSlide:function(){var e,t=this,i=t.params,a=t.$wrapperEl,r="auto"===i.slidesPerView?t.slidesPerViewDynamic():i.slidesPerView,o=t.clickedIndex;if(i.loop){if(t.animating)return;e=parseInt(s(t.clickedSlide).attr("data-swiper-slide-index"),10),i.centeredSlides?o<t.loopedSlides-r/2||o>t.slides.length-t.loopedSlides+r/2?(t.loopFix(),o=a.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),n.nextTick((function(){t.slideTo(o)}))):t.slideTo(o):o>t.slides.length-r?(t.loopFix(),o=a.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),n.nextTick((function(){t.slideTo(o)}))):t.slideTo(o)}else t.slideTo(o)}};var v={loopCreate:function(){var t=this,i=t.params,a=t.$wrapperEl;a.children("."+i.slideClass+"."+i.slideDuplicateClass).remove();var r=a.children("."+i.slideClass);if(i.loopFillGroupWithBlank){var n=i.slidesPerGroup-r.length%i.slidesPerGroup;if(n!==i.slidesPerGroup){for(var o=0;o<n;o+=1){var l=s(e.createElement("div")).addClass(i.slideClass+" "+i.slideBlankClass);a.append(l)}r=a.children("."+i.slideClass)}}"auto"!==i.slidesPerView||i.loopedSlides||(i.loopedSlides=r.length),t.loopedSlides=Math.ceil(parseFloat(i.loopedSlides||i.slidesPerView,10)),t.loopedSlides+=i.loopAdditionalSlides,t.loopedSlides>r.length&&(t.loopedSlides=r.length);var d=[],h=[];r.each((function(e,i){var a=s(i);e<t.loopedSlides&&h.push(i),e<r.length&&e>=r.length-t.loopedSlides&&d.push(i),a.attr("data-swiper-slide-index",e)}));for(var p=0;p<h.length;p+=1)a.append(s(h[p].cloneNode(!0)).addClass(i.slideDuplicateClass));for(var c=d.length-1;c>=0;c-=1)a.prepend(s(d[c].cloneNode(!0)).addClass(i.slideDuplicateClass))},loopFix:function(){var e,t=this.params,i=this.activeIndex,s=this.slides,a=this.loopedSlides,r=this.allowSlidePrev,n=this.allowSlideNext,o=this.snapGrid,l=this.rtlTranslate;this.allowSlidePrev=!0,this.allowSlideNext=!0;var d=-o[i]-this.getTranslate();if(i<a)e=s.length-3*a+i,e+=a,this.slideTo(e,0,!1,!0)&&0!==d&&this.setTranslate((l?-this.translate:this.translate)-d);else if("auto"===t.slidesPerView&&i>=2*a||i>=s.length-a){e=-s.length+i+a,e+=a,this.slideTo(e,0,!1,!0)&&0!==d&&this.setTranslate((l?-this.translate:this.translate)-d)}this.allowSlidePrev=r,this.allowSlideNext=n},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,i=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}};var f={setGrabCursor:function(e){if(!(o.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked||this.params.cssMode)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){o.touch||this.params.watchOverflow&&this.isLocked||this.params.cssMode||(this.el.style.cursor="")}};var m,g,b,w,y,x,E,T,C,S,M,P,z,k,$,L={appendSlide:function(e){var t=this.$wrapperEl,i=this.params;if(i.loop&&this.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s<e.length;s+=1)e[s]&&t.append(e[s]);else t.append(e);i.loop&&this.loopCreate(),i.observer&&o.observer||this.update()},prependSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&this.loopDestroy();var a=s+1;if("object"==typeof e&&"length"in e){for(var r=0;r<e.length;r+=1)e[r]&&i.prepend(e[r]);a=s+e.length}else i.prepend(e);t.loop&&this.loopCreate(),t.observer&&o.observer||this.update(),this.slideTo(a,0,!1)},addSlide:function(e,t){var i=this.$wrapperEl,s=this.params,a=this.activeIndex;s.loop&&(a-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+s.slideClass));var r=this.slides.length;if(e<=0)this.prependSlide(t);else if(e>=r)this.appendSlide(t);else{for(var n=a>e?a+1:a,l=[],d=r-1;d>=e;d-=1){var h=this.slides.eq(d);h.remove(),l.unshift(h)}if("object"==typeof t&&"length"in t){for(var p=0;p<t.length;p+=1)t[p]&&i.append(t[p]);n=a>e?a+t.length:a}else i.append(t);for(var c=0;c<l.length;c+=1)i.append(l[c]);s.loop&&this.loopCreate(),s.observer&&o.observer||this.update(),s.loop?this.slideTo(n+this.loopedSlides,0,!1):this.slideTo(n,0,!1)}},removeSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&(s-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+t.slideClass));var a,r=s;if("object"==typeof e&&"length"in e){for(var n=0;n<e.length;n+=1)a=e[n],this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1);r=Math.max(r,0)}else a=e,this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1),r=Math.max(r,0);t.loop&&this.loopCreate(),t.observer&&o.observer||this.update(),t.loop?this.slideTo(r+this.loopedSlides,0,!1):this.slideTo(r,0,!1)},removeAllSlides:function(){for(var e=[],t=0;t<this.slides.length;t+=1)e.push(t);this.removeSlide(e)}},I=(m=t.navigator.platform,g=t.navigator.userAgent,b={ios:!1,android:!1,androidChrome:!1,desktop:!1,iphone:!1,ipod:!1,ipad:!1,edge:!1,ie:!1,firefox:!1,macos:!1,windows:!1,cordova:!(!t.cordova&&!t.phonegap),phonegap:!(!t.cordova&&!t.phonegap),electron:!1},w=t.screen.width,y=t.screen.height,x=g.match(/(Android);?[\s\/]+([\d.]+)?/),E=g.match(/(iPad).*OS\s([\d_]+)/),T=g.match(/(iPod)(.*OS\s([\d_]+))?/),C=!E&&g.match(/(iPhone\sOS|iOS)\s([\d_]+)/),S=g.indexOf("MSIE ")>=0||g.indexOf("Trident/")>=0,M=g.indexOf("Edge/")>=0,P=g.indexOf("Gecko/")>=0&&g.indexOf("Firefox/")>=0,z="Win32"===m,k=g.toLowerCase().indexOf("electron")>=0,$="MacIntel"===m,!E&&$&&o.touch&&(1024===w&&1366===y||834===w&&1194===y||834===w&&1112===y||768===w&&1024===y)&&(E=g.match(/(Version)\/([\d.]+)/),$=!1),b.ie=S,b.edge=M,b.firefox=P,x&&!z&&(b.os="android",b.osVersion=x[2],b.android=!0,b.androidChrome=g.toLowerCase().indexOf("chrome")>=0),(E||C||T)&&(b.os="ios",b.ios=!0),C&&!T&&(b.osVersion=C[2].replace(/_/g,"."),b.iphone=!0),E&&(b.osVersion=E[2].replace(/_/g,"."),b.ipad=!0),T&&(b.osVersion=T[3]?T[3].replace(/_/g,"."):null,b.ipod=!0),b.ios&&b.osVersion&&g.indexOf("Version/")>=0&&"10"===b.osVersion.split(".")[0]&&(b.osVersion=g.toLowerCase().split("version/")[1].split(" ")[0]),b.webView=!(!(C||E||T)||!g.match(/.*AppleWebKit(?!.*Safari)/i)&&!t.navigator.standalone)||t.matchMedia&&t.matchMedia("(display-mode: standalone)").matches,b.webview=b.webView,b.standalone=b.webView,b.desktop=!(b.ios||b.android)||k,b.desktop&&(b.electron=k,b.macos=$,b.windows=z,b.macos&&(b.os="macos"),b.windows&&(b.os="windows")),b.pixelRatio=t.devicePixelRatio||1,b);function D(i){var a=this.touchEventsData,r=this.params,o=this.touches;if(!this.animating||!r.preventInteractionOnTransition){var l=i;l.originalEvent&&(l=l.originalEvent);var d=s(l.target);if(("wrapper"!==r.touchEventsTarget||d.closest(this.wrapperEl).length)&&(a.isTouchEvent="touchstart"===l.type,(a.isTouchEvent||!("which"in l)||3!==l.which)&&!(!a.isTouchEvent&&"button"in l&&l.button>0||a.isTouched&&a.isMoved)))if(r.noSwiping&&d.closest(r.noSwipingSelector?r.noSwipingSelector:"."+r.noSwipingClass)[0])this.allowClick=!0;else if(!r.swipeHandler||d.closest(r.swipeHandler)[0]){o.currentX="touchstart"===l.type?l.targetTouches[0].pageX:l.pageX,o.currentY="touchstart"===l.type?l.targetTouches[0].pageY:l.pageY;var h=o.currentX,p=o.currentY,c=r.edgeSwipeDetection||r.iOSEdgeSwipeDetection,u=r.edgeSwipeThreshold||r.iOSEdgeSwipeThreshold;if(!c||!(h<=u||h>=t.screen.width-u)){if(n.extend(a,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=h,o.startY=p,a.touchStartTime=n.now(),this.allowClick=!0,this.updateSize(),this.swipeDirection=void 0,r.threshold>0&&(a.allowThresholdMove=!1),"touchstart"!==l.type){var v=!0;d.is(a.formElements)&&(v=!1),e.activeElement&&s(e.activeElement).is(a.formElements)&&e.activeElement!==d[0]&&e.activeElement.blur();var f=v&&this.allowTouchMove&&r.touchStartPreventDefault;(r.touchStartForcePreventDefault||f)&&l.preventDefault()}this.emit("touchStart",l)}}}}function O(t){var i=this.touchEventsData,a=this.params,r=this.touches,o=this.rtlTranslate,l=t;if(l.originalEvent&&(l=l.originalEvent),i.isTouched){if(!i.isTouchEvent||"mousemove"!==l.type){var d="touchmove"===l.type?l.targetTouches[0].pageX:l.pageX,h="touchmove"===l.type?l.targetTouches[0].pageY:l.pageY;if(l.preventedByNestedSwiper)return r.startX=d,void(r.startY=h);if(!this.allowTouchMove)return this.allowClick=!1,void(i.isTouched&&(n.extend(r,{startX:d,startY:h,currentX:d,currentY:h}),i.touchStartTime=n.now()));if(i.isTouchEvent&&a.touchReleaseOnEdges&&!a.loop)if(this.isVertical()){if(h<r.startY&&this.translate<=this.maxTranslate()||h>r.startY&&this.translate>=this.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(d<r.startX&&this.translate<=this.maxTranslate()||d>r.startX&&this.translate>=this.minTranslate())return;if(i.isTouchEvent&&e.activeElement&&l.target===e.activeElement&&s(l.target).is(i.formElements))return i.isMoved=!0,void(this.allowClick=!1);if(i.allowTouchCallbacks&&this.emit("touchMove",l),!(l.targetTouches&&l.targetTouches.length>1)){r.currentX=d,r.currentY=h;var p=r.currentX-r.startX,c=r.currentY-r.startY;if(!(this.params.threshold&&Math.sqrt(Math.pow(p,2)+Math.pow(c,2))<this.params.threshold)){var u;if(void 0===i.isScrolling)this.isHorizontal()&&r.currentY===r.startY||this.isVertical()&&r.currentX===r.startX?i.isScrolling=!1:p*p+c*c>=25&&(u=180*Math.atan2(Math.abs(c),Math.abs(p))/Math.PI,i.isScrolling=this.isHorizontal()?u>a.touchAngle:90-u>a.touchAngle);if(i.isScrolling&&this.emit("touchMoveOpposite",l),void 0===i.startMoving&&(r.currentX===r.startX&&r.currentY===r.startY||(i.startMoving=!0)),i.isScrolling)i.isTouched=!1;else if(i.startMoving){this.allowClick=!1,a.cssMode||l.preventDefault(),a.touchMoveStopPropagation&&!a.nested&&l.stopPropagation(),i.isMoved||(a.loop&&this.loopFix(),i.startTranslate=this.getTranslate(),this.setTransition(0),this.animating&&this.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!a.grabCursor||!0!==this.allowSlideNext&&!0!==this.allowSlidePrev||this.setGrabCursor(!0),this.emit("sliderFirstMove",l)),this.emit("sliderMove",l),i.isMoved=!0;var v=this.isHorizontal()?p:c;r.diff=v,v*=a.touchRatio,o&&(v=-v),this.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;var f=!0,m=a.resistanceRatio;if(a.touchReleaseOnEdges&&(m=0),v>0&&i.currentTranslate>this.minTranslate()?(f=!1,a.resistance&&(i.currentTranslate=this.minTranslate()-1+Math.pow(-this.minTranslate()+i.startTranslate+v,m))):v<0&&i.currentTranslate<this.maxTranslate()&&(f=!1,a.resistance&&(i.currentTranslate=this.maxTranslate()+1-Math.pow(this.maxTranslate()-i.startTranslate-v,m))),f&&(l.preventedByNestedSwiper=!0),!this.allowSlideNext&&"next"===this.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!this.allowSlidePrev&&"prev"===this.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),a.threshold>0){if(!(Math.abs(v)>a.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,r.startX=r.currentX,r.startY=r.currentY,i.currentTranslate=i.startTranslate,void(r.diff=this.isHorizontal()?r.currentX-r.startX:r.currentY-r.startY)}a.followFinger&&!a.cssMode&&((a.freeMode||a.watchSlidesProgress||a.watchSlidesVisibility)&&(this.updateActiveIndex(),this.updateSlidesClasses()),a.freeMode&&(0===i.velocities.length&&i.velocities.push({position:r[this.isHorizontal()?"startX":"startY"],time:i.touchStartTime}),i.velocities.push({position:r[this.isHorizontal()?"currentX":"currentY"],time:n.now()})),this.updateProgress(i.currentTranslate),this.setTranslate(i.currentTranslate))}}}}}else i.startMoving&&i.isScrolling&&this.emit("touchMoveOpposite",l)}function A(e){var t=this,i=t.touchEventsData,s=t.params,a=t.touches,r=t.rtlTranslate,o=t.$wrapperEl,l=t.slidesGrid,d=t.snapGrid,h=e;if(h.originalEvent&&(h=h.originalEvent),i.allowTouchCallbacks&&t.emit("touchEnd",h),i.allowTouchCallbacks=!1,!i.isTouched)return i.isMoved&&s.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,void(i.startMoving=!1);s.grabCursor&&i.isMoved&&i.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,c=n.now(),u=c-i.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(h),t.emit("tap click",h),u<300&&c-i.lastClickTime<300&&t.emit("doubleTap doubleClick",h)),i.lastClickTime=n.now(),n.nextTick((function(){t.destroyed||(t.allowClick=!0)})),!i.isTouched||!i.isMoved||!t.swipeDirection||0===a.diff||i.currentTranslate===i.startTranslate)return i.isTouched=!1,i.isMoved=!1,void(i.startMoving=!1);if(i.isTouched=!1,i.isMoved=!1,i.startMoving=!1,p=s.followFinger?r?t.translate:-t.translate:-i.currentTranslate,!s.cssMode)if(s.freeMode){if(p<-t.minTranslate())return void t.slideTo(t.activeIndex);if(p>-t.maxTranslate())return void(t.slides.length<d.length?t.slideTo(d.length-1):t.slideTo(t.slides.length-1));if(s.freeModeMomentum){if(i.velocities.length>1){var v=i.velocities.pop(),f=i.velocities.pop(),m=v.position-f.position,g=v.time-f.time;t.velocity=m/g,t.velocity/=2,Math.abs(t.velocity)<s.freeModeMinimumVelocity&&(t.velocity=0),(g>150||n.now()-v.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=s.freeModeMomentumVelocityRatio,i.velocities.length=0;var b=1e3*s.freeModeMomentumRatio,w=t.velocity*b,y=t.translate+w;r&&(y=-y);var x,E,T=!1,C=20*Math.abs(t.velocity)*s.freeModeMomentumBounceRatio;if(y<t.maxTranslate())s.freeModeMomentumBounce?(y+t.maxTranslate()<-C&&(y=t.maxTranslate()-C),x=t.maxTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.maxTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(y>t.minTranslate())s.freeModeMomentumBounce?(y-t.minTranslate()>C&&(y=t.minTranslate()+C),x=t.minTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.minTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(s.freeModeSticky){for(var S,M=0;M<d.length;M+=1)if(d[M]>-y){S=M;break}y=-(y=Math.abs(d[S]-y)<Math.abs(d[S-1]-y)||"next"===t.swipeDirection?d[S]:d[S-1])}if(E&&t.once("transitionEnd",(function(){t.loopFix()})),0!==t.velocity)b=r?Math.abs((-y-t.translate)/t.velocity):Math.abs((y-t.translate)/t.velocity);else if(s.freeModeSticky)return void t.slideToClosest();s.freeModeMomentumBounce&&T?(t.updateProgress(x),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating=!0,o.transitionEnd((function(){t&&!t.destroyed&&i.allowMomentumBounce&&(t.emit("momentumBounce"),t.setTransition(s.speed),t.setTranslate(x),o.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))}))):t.velocity?(t.updateProgress(y),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,o.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(y),t.updateActiveIndex(),t.updateSlidesClasses()}else if(s.freeModeSticky)return void t.slideToClosest();(!s.freeModeMomentum||u>=s.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var P=0,z=t.slidesSizesGrid[0],k=0;k<l.length;k+=s.slidesPerGroup)void 0!==l[k+s.slidesPerGroup]?p>=l[k]&&p<l[k+s.slidesPerGroup]&&(P=k,z=l[k+s.slidesPerGroup]-l[k]):p>=l[k]&&(P=k,z=l[l.length-1]-l[l.length-2]);var $=(p-l[P])/z;if(u>s.longSwipesMs){if(!s.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&($>=s.longSwipesRatio?t.slideTo(P+s.slidesPerGroup):t.slideTo(P)),"prev"===t.swipeDirection&&($>1-s.longSwipesRatio?t.slideTo(P+s.slidesPerGroup):t.slideTo(P))}else{if(!s.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(h.target===t.navigation.nextEl||h.target===t.navigation.prevEl)?h.target===t.navigation.nextEl?t.slideTo(P+s.slidesPerGroup):t.slideTo(P):("next"===t.swipeDirection&&t.slideTo(P+s.slidesPerGroup),"prev"===t.swipeDirection&&t.slideTo(P))}}}function G(){var e=this.params,t=this.el;if(!t||0!==t.offsetWidth){e.breakpoints&&this.setBreakpoint();var i=this.allowSlideNext,s=this.allowSlidePrev,a=this.snapGrid;if(this.allowSlideNext=!0,this.allowSlidePrev=!0,this.updateSize(),this.updateSlides(),e.freeMode){var r=Math.min(Math.max(this.translate,this.maxTranslate()),this.minTranslate());this.setTranslate(r),this.updateActiveIndex(),this.updateSlidesClasses(),e.autoHeight&&this.updateAutoHeight()}else this.updateSlidesClasses(),("auto"===e.slidesPerView||e.slidesPerView>1)&&this.isEnd&&!this.params.centeredSlides?this.slideTo(this.slides.length-1,0,!1,!0):this.slideTo(this.activeIndex,0,!1,!0);this.autoplay&&this.autoplay.running&&this.autoplay.paused&&this.autoplay.run(),this.allowSlidePrev=s,this.allowSlideNext=i,this.params.watchOverflow&&a!==this.snapGrid&&this.checkOverflow()}}function H(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function N(){var e=this.wrapperEl;this.previousTranslate=this.translate,this.translate=this.isHorizontal()?-e.scrollLeft:-e.scrollTop,-0===this.translate&&(this.translate=0),this.updateActiveIndex(),this.updateSlidesClasses();var t=this.maxTranslate()-this.minTranslate();(0===t?0:(this.translate-this.minTranslate())/t)!==this.progress&&this.updateProgress(this.translate),this.emit("setTranslate",this.translate,!1)}var B={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,preventInteractionOnTransition:!1,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0},V={update:h,translate:p,transition:c,slide:u,loop:v,grabCursor:f,manipulation:L,events:{attachEvents:function(){var t=this.params,i=this.touchEvents,s=this.el,a=this.wrapperEl;this.onTouchStart=D.bind(this),this.onTouchMove=O.bind(this),this.onTouchEnd=A.bind(this),t.cssMode&&(this.onScroll=N.bind(this)),this.onClick=H.bind(this);var r=!!t.nested;if(!o.touch&&o.pointerEvents)s.addEventListener(i.start,this.onTouchStart,!1),e.addEventListener(i.move,this.onTouchMove,r),e.addEventListener(i.end,this.onTouchEnd,!1);else{if(o.touch){var n=!("touchstart"!==i.start||!o.passiveListener||!t.passiveListeners)&&{passive:!0,capture:!1};s.addEventListener(i.start,this.onTouchStart,n),s.addEventListener(i.move,this.onTouchMove,o.passiveListener?{passive:!1,capture:r}:r),s.addEventListener(i.end,this.onTouchEnd,n),i.cancel&&s.addEventListener(i.cancel,this.onTouchEnd,n)}(t.simulateTouch&&!I.ios&&!I.android||t.simulateTouch&&!o.touch&&I.ios)&&(s.addEventListener("mousedown",this.onTouchStart,!1),e.addEventListener("mousemove",this.onTouchMove,r),e.addEventListener("mouseup",this.onTouchEnd,!1))}(t.preventClicks||t.preventClicksPropagation)&&s.addEventListener("click",this.onClick,!0),t.cssMode&&a.addEventListener("scroll",this.onScroll),this.on(I.ios||I.android?"resize orientationchange observerUpdate":"resize observerUpdate",G,!0)},detachEvents:function(){var t=this.params,i=this.touchEvents,s=this.el,a=this.wrapperEl,r=!!t.nested;if(!o.touch&&o.pointerEvents)s.removeEventListener(i.start,this.onTouchStart,!1),e.removeEventListener(i.move,this.onTouchMove,r),e.removeEventListener(i.end,this.onTouchEnd,!1);else{if(o.touch){var n=!("onTouchStart"!==i.start||!o.passiveListener||!t.passiveListeners)&&{passive:!0,capture:!1};s.removeEventListener(i.start,this.onTouchStart,n),s.removeEventListener(i.move,this.onTouchMove,r),s.removeEventListener(i.end,this.onTouchEnd,n),i.cancel&&s.removeEventListener(i.cancel,this.onTouchEnd,n)}(t.simulateTouch&&!I.ios&&!I.android||t.simulateTouch&&!o.touch&&I.ios)&&(s.removeEventListener("mousedown",this.onTouchStart,!1),e.removeEventListener("mousemove",this.onTouchMove,r),e.removeEventListener("mouseup",this.onTouchEnd,!1))}(t.preventClicks||t.preventClicksPropagation)&&s.removeEventListener("click",this.onClick,!0),t.cssMode&&a.removeEventListener("scroll",this.onScroll),this.off(I.ios||I.android?"resize orientationchange observerUpdate":"resize observerUpdate",G)}},breakpoints:{setBreakpoint:function(){var e=this.activeIndex,t=this.initialized,i=this.loopedSlides;void 0===i&&(i=0);var s=this.params,a=this.$el,r=s.breakpoints;if(r&&(!r||0!==Object.keys(r).length)){var o=this.getBreakpoint(r);if(o&&this.currentBreakpoint!==o){var l=o in r?r[o]:void 0;l&&["slidesPerView","spaceBetween","slidesPerGroup","slidesPerColumn"].forEach((function(e){var t=l[e];void 0!==t&&(l[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var d=l||this.originalParams,h=s.slidesPerColumn>1,p=d.slidesPerColumn>1;h&&!p?a.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"):!h&&p&&(a.addClass(s.containerModifierClass+"multirow"),"column"===d.slidesPerColumnFill&&a.addClass(s.containerModifierClass+"multirow-column"));var c=d.direction&&d.direction!==s.direction,u=s.loop&&(d.slidesPerView!==s.slidesPerView||c);c&&t&&this.changeDirection(),n.extend(this.params,d),n.extend(this,{allowTouchMove:this.params.allowTouchMove,allowSlideNext:this.params.allowSlideNext,allowSlidePrev:this.params.allowSlidePrev}),this.currentBreakpoint=o,u&&t&&(this.loopDestroy(),this.loopCreate(),this.updateSlides(),this.slideTo(e-i+this.loopedSlides,0,!1)),this.emit("breakpoint",d)}}},getBreakpoint:function(e){if(e){var i=!1,s=[];Object.keys(e).forEach((function(e){s.push(e)})),s.sort((function(e,t){return parseInt(e,10)-parseInt(t,10)}));for(var a=0;a<s.length;a+=1){var r=s[a];r<=t.innerWidth&&(i=r)}return i||"max"}}},checkOverflow:{checkOverflow:function(){var e=this.isLocked;this.isLocked=1===this.snapGrid.length,this.allowSlideNext=!this.isLocked,this.allowSlidePrev=!this.isLocked,e!==this.isLocked&&this.emit(this.isLocked?"lock":"unlock"),e&&e!==this.isLocked&&(this.isEnd=!1,this.navigation.update())}},classes:{addClasses:function(){var e=this.classNames,t=this.params,i=this.rtl,s=this.$el,a=[];a.push("initialized"),a.push(t.direction),t.freeMode&&a.push("free-mode"),t.autoHeight&&a.push("autoheight"),i&&a.push("rtl"),t.slidesPerColumn>1&&(a.push("multirow"),"column"===t.slidesPerColumnFill&&a.push("multirow-column")),I.android&&a.push("android"),I.ios&&a.push("ios"),t.cssMode&&a.push("css-mode"),a.forEach((function(i){e.push(t.containerModifierClass+i)})),s.addClass(e.join(" "))},removeClasses:function(){var e=this.$el,t=this.classNames;e.removeClass(t.join(" "))}},images:{loadImage:function(e,i,s,a,r,n){var o;function l(){n&&n()}e.complete&&r?l():i?((o=new t.Image).onload=l,o.onerror=l,a&&(o.sizes=a),s&&(o.srcset=s),i&&(o.src=i)):l()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var i=0;i<e.imagesToLoad.length;i+=1){var s=e.imagesToLoad[i];e.loadImage(s,s.currentSrc||s.getAttribute("src"),s.srcset||s.getAttribute("srcset"),s.sizes||s.getAttribute("sizes"),!0,t)}}}},X={},Y=function(e){function t(){for(var i,a,r,l=[],d=arguments.length;d--;)l[d]=arguments[d];1===l.length&&l[0].constructor&&l[0].constructor===Object?r=l[0]:(a=(i=l)[0],r=i[1]),r||(r={}),r=n.extend({},r),a&&!r.el&&(r.el=a),e.call(this,r),Object.keys(V).forEach((function(e){Object.keys(V[e]).forEach((function(i){t.prototype[i]||(t.prototype[i]=V[e][i])}))}));var h=this;void 0===h.modules&&(h.modules={}),Object.keys(h.modules).forEach((function(e){var t=h.modules[e];if(t.params){var i=Object.keys(t.params)[0],s=t.params[i];if("object"!=typeof s||null===s)return;if(!(i in r&&"enabled"in s))return;!0===r[i]&&(r[i]={enabled:!0}),"object"!=typeof r[i]||"enabled"in r[i]||(r[i].enabled=!0),r[i]||(r[i]={enabled:!1})}}));var p=n.extend({},B);h.useModulesParams(p),h.params=n.extend({},p,X,r),h.originalParams=n.extend({},h.params),h.passedParams=n.extend({},r),h.$=s;var c=s(h.params.el);if(a=c[0]){if(c.length>1){var u=[];return c.each((function(e,i){var s=n.extend({},r,{el:i});u.push(new t(s))})),u}var v,f,m;return a.swiper=h,c.data("swiper",h),a&&a.shadowRoot&&a.shadowRoot.querySelector?(v=s(a.shadowRoot.querySelector("."+h.params.wrapperClass))).children=function(e){return c.children(e)}:v=c.children("."+h.params.wrapperClass),n.extend(h,{$el:c,el:a,$wrapperEl:v,wrapperEl:v[0],classNames:[],slides:s(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===h.params.direction},isVertical:function(){return"vertical"===h.params.direction},rtl:"rtl"===a.dir.toLowerCase()||"rtl"===c.css("direction"),rtlTranslate:"horizontal"===h.params.direction&&("rtl"===a.dir.toLowerCase()||"rtl"===c.css("direction")),wrongRTL:"-webkit-box"===v.css("display"),activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:h.params.allowSlideNext,allowSlidePrev:h.params.allowSlidePrev,touchEvents:(f=["touchstart","touchmove","touchend","touchcancel"],m=["mousedown","mousemove","mouseup"],o.pointerEvents&&(m=["pointerdown","pointermove","pointerup"]),h.touchEventsTouch={start:f[0],move:f[1],end:f[2],cancel:f[3]},h.touchEventsDesktop={start:m[0],move:m[1],end:m[2]},o.touch||!h.params.simulateTouch?h.touchEventsTouch:h.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,formElements:"input, select, option, textarea, button, video",lastClickTime:n.now(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:h.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),h.useModules(),h.params.init&&h.init(),h}}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var i={extendedDefaults:{configurable:!0},defaults:{configurable:!0},Class:{configurable:!0},$:{configurable:!0}};return t.prototype.slidesPerViewDynamic=function(){var e=this.params,t=this.slides,i=this.slidesGrid,s=this.size,a=this.activeIndex,r=1;if(e.centeredSlides){for(var n,o=t[a].swiperSlideSize,l=a+1;l<t.length;l+=1)t[l]&&!n&&(r+=1,(o+=t[l].swiperSlideSize)>s&&(n=!0));for(var d=a-1;d>=0;d-=1)t[d]&&!n&&(r+=1,(o+=t[d].swiperSlideSize)>s&&(n=!0))}else for(var h=a+1;h<t.length;h+=1)i[h]-i[a]<s&&(r+=1);return r},t.prototype.update=function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,i=e.params;i.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode?(s(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||s(),i.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function s(){var t=e.rtlTranslate?-1*e.translate:e.translate,i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i),e.updateActiveIndex(),e.updateSlidesClasses()}},t.prototype.changeDirection=function(e,t){void 0===t&&(t=!0);var i=this.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e?this:(this.$el.removeClass(""+this.params.containerModifierClass+i).addClass(""+this.params.containerModifierClass+e),this.params.direction=e,this.slides.each((function(t,i){"vertical"===e?i.style.width="":i.style.height=""})),this.emit("changeDirection"),t&&this.update(),this)},t.prototype.init=function(){this.initialized||(this.emit("beforeInit"),this.params.breakpoints&&this.setBreakpoint(),this.addClasses(),this.params.loop&&this.loopCreate(),this.updateSize(),this.updateSlides(),this.params.watchOverflow&&this.checkOverflow(),this.params.grabCursor&&this.setGrabCursor(),this.params.preloadImages&&this.preloadImages(),this.params.loop?this.slideTo(this.params.initialSlide+this.loopedSlides,0,this.params.runCallbacksOnInit):this.slideTo(this.params.initialSlide,0,this.params.runCallbacksOnInit),this.attachEvents(),this.initialized=!0,this.emit("init"))},t.prototype.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var i=this,s=i.params,a=i.$el,r=i.$wrapperEl,o=i.slides;return void 0===i.params||i.destroyed?null:(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),a.removeAttr("style"),r.removeAttr("style"),o&&o.length&&o.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,i.$el.data("swiper",null),n.deleteProps(i)),i.destroyed=!0,null)},t.extendDefaults=function(e){n.extend(X,e)},i.extendedDefaults.get=function(){return X},i.defaults.get=function(){return B},i.Class.get=function(){return e},i.$.get=function(){return s},Object.defineProperties(t,i),t}(l),F={name:"device",proto:{device:I},static:{device:I}},R={name:"support",proto:{support:o},static:{support:o}},q={isEdge:!!t.navigator.userAgent.match(/Edge/g),isSafari:function(){var e=t.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)},W={name:"browser",proto:{browser:q},static:{browser:q}},j={name:"resize",create:function(){var e=this;n.extend(e,{resize:{resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(){t.addEventListener("resize",this.resize.resizeHandler),t.addEventListener("orientationchange",this.resize.orientationChangeHandler)},destroy:function(){t.removeEventListener("resize",this.resize.resizeHandler),t.removeEventListener("orientationchange",this.resize.orientationChangeHandler)}}},K={func:t.MutationObserver||t.WebkitMutationObserver,attach:function(e,i){void 0===i&&(i={});var s=this,a=new(0,K.func)((function(e){if(1!==e.length){var i=function(){s.emit("observerUpdate",e[0])};t.requestAnimationFrame?t.requestAnimationFrame(i):t.setTimeout(i,0)}else s.emit("observerUpdate",e[0])}));a.observe(e,{attributes:void 0===i.attributes||i.attributes,childList:void 0===i.childList||i.childList,characterData:void 0===i.characterData||i.characterData}),s.observer.observers.push(a)},init:function(){if(o.observer&&this.params.observer){if(this.params.observeParents)for(var e=this.$el.parents(),t=0;t<e.length;t+=1)this.observer.attach(e[t]);this.observer.attach(this.$el[0],{childList:this.params.observeSlideChildren}),this.observer.attach(this.$wrapperEl[0],{attributes:!1})}},destroy:function(){this.observer.observers.forEach((function(e){e.disconnect()})),this.observer.observers=[]}},U={name:"observer",params:{observer:!1,observeParents:!1,observeSlideChildren:!1},create:function(){n.extend(this,{observer:{init:K.init.bind(this),attach:K.attach.bind(this),destroy:K.destroy.bind(this),observers:[]}})},on:{init:function(){this.observer.init()},destroy:function(){this.observer.destroy()}}},_={update:function(e){var t=this,i=t.params,s=i.slidesPerView,a=i.slidesPerGroup,r=i.centeredSlides,o=t.params.virtual,l=o.addSlidesBefore,d=o.addSlidesAfter,h=t.virtual,p=h.from,c=h.to,u=h.slides,v=h.slidesGrid,f=h.renderSlide,m=h.offset;t.updateActiveIndex();var g,b,w,y=t.activeIndex||0;g=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",r?(b=Math.floor(s/2)+a+l,w=Math.floor(s/2)+a+d):(b=s+(a-1)+l,w=a+d);var x=Math.max((y||0)-w,0),E=Math.min((y||0)+b,u.length-1),T=(t.slidesGrid[x]||0)-(t.slidesGrid[0]||0);function C(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.lazy&&t.params.lazy.enabled&&t.lazy.load()}if(n.extend(t.virtual,{from:x,to:E,offset:T,slidesGrid:t.slidesGrid}),p===x&&c===E&&!e)return t.slidesGrid!==v&&T!==m&&t.slides.css(g,T+"px"),void t.updateProgress();if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:T,from:x,to:E,slides:function(){for(var e=[],t=x;t<=E;t+=1)e.push(u[t]);return e}()}),void C();var S=[],M=[];if(e)t.$wrapperEl.find("."+t.params.slideClass).remove();else for(var P=p;P<=c;P+=1)(P<x||P>E)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+P+'"]').remove();for(var z=0;z<u.length;z+=1)z>=x&&z<=E&&(void 0===c||e?M.push(z):(z>c&&M.push(z),z<p&&S.push(z)));M.forEach((function(e){t.$wrapperEl.append(f(u[e],e))})),S.sort((function(e,t){return t-e})).forEach((function(e){t.$wrapperEl.prepend(f(u[e],e))})),t.$wrapperEl.children(".swiper-slide").css(g,T+"px"),C()},renderSlide:function(e,t){var i=this.params.virtual;if(i.cache&&this.virtual.cache[t])return this.virtual.cache[t];var a=i.renderSlide?s(i.renderSlide.call(this,e,t)):s('<div class="'+this.params.slideClass+'" data-swiper-slide-index="'+t+'">'+e+"</div>");return a.attr("data-swiper-slide-index")||a.attr("data-swiper-slide-index",t),i.cache&&(this.virtual.cache[t]=a),a},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;t<e.length;t+=1)e[t]&&this.virtual.slides.push(e[t]);else this.virtual.slides.push(e);this.virtual.update(!0)},prependSlide:function(e){var t=this.activeIndex,i=t+1,s=1;if(Array.isArray(e)){for(var a=0;a<e.length;a+=1)e[a]&&this.virtual.slides.unshift(e[a]);i=t+e.length,s=e.length}else this.virtual.slides.unshift(e);if(this.params.virtual.cache){var r=this.virtual.cache,n={};Object.keys(r).forEach((function(e){var t=r[e],i=t.attr("data-swiper-slide-index");i&&t.attr("data-swiper-slide-index",parseInt(i,10)+1),n[parseInt(e,10)+s]=t})),this.virtual.cache=n}this.virtual.update(!0),this.slideTo(i,0)},removeSlide:function(e){if(null!=e){var t=this.activeIndex;if(Array.isArray(e))for(var i=e.length-1;i>=0;i-=1)this.virtual.slides.splice(e[i],1),this.params.virtual.cache&&delete this.virtual.cache[e[i]],e[i]<t&&(t-=1),t=Math.max(t,0);else this.virtual.slides.splice(e,1),this.params.virtual.cache&&delete this.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);this.virtual.update(!0),this.slideTo(t,0)}},removeAllSlides:function(){this.virtual.slides=[],this.params.virtual.cache&&(this.virtual.cache={}),this.virtual.update(!0),this.slideTo(0,0)}},Z={name:"virtual",params:{virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,addSlidesBefore:0,addSlidesAfter:0}},create:function(){n.extend(this,{virtual:{update:_.update.bind(this),appendSlide:_.appendSlide.bind(this),prependSlide:_.prependSlide.bind(this),removeSlide:_.removeSlide.bind(this),removeAllSlides:_.removeAllSlides.bind(this),renderSlide:_.renderSlide.bind(this),slides:this.params.virtual.slides,cache:{}}})},on:{beforeInit:function(){if(this.params.virtual.enabled){this.classNames.push(this.params.containerModifierClass+"virtual");var e={watchSlidesProgress:!0};n.extend(this.params,e),n.extend(this.originalParams,e),this.params.initialSlide||this.virtual.update()}},setTranslate:function(){this.params.virtual.enabled&&this.virtual.update()}}},Q={handle:function(i){var s=this.rtlTranslate,a=i;a.originalEvent&&(a=a.originalEvent);var r=a.keyCode||a.charCode;if(!this.allowSlideNext&&(this.isHorizontal()&&39===r||this.isVertical()&&40===r||34===r))return!1;if(!this.allowSlidePrev&&(this.isHorizontal()&&37===r||this.isVertical()&&38===r||33===r))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||e.activeElement&&e.activeElement.nodeName&&("input"===e.activeElement.nodeName.toLowerCase()||"textarea"===e.activeElement.nodeName.toLowerCase()))){if(this.params.keyboard.onlyInViewport&&(33===r||34===r||37===r||39===r||38===r||40===r)){var n=!1;if(this.$el.parents("."+this.params.slideClass).length>0&&0===this.$el.parents("."+this.params.slideActiveClass).length)return;var o=t.innerWidth,l=t.innerHeight,d=this.$el.offset();s&&(d.left-=this.$el[0].scrollLeft);for(var h=[[d.left,d.top],[d.left+this.width,d.top],[d.left,d.top+this.height],[d.left+this.width,d.top+this.height]],p=0;p<h.length;p+=1){var c=h[p];c[0]>=0&&c[0]<=o&&c[1]>=0&&c[1]<=l&&(n=!0)}if(!n)return}this.isHorizontal()?(33!==r&&34!==r&&37!==r&&39!==r||(a.preventDefault?a.preventDefault():a.returnValue=!1),(34!==r&&39!==r||s)&&(33!==r&&37!==r||!s)||this.slideNext(),(33!==r&&37!==r||s)&&(34!==r&&39!==r||!s)||this.slidePrev()):(33!==r&&34!==r&&38!==r&&40!==r||(a.preventDefault?a.preventDefault():a.returnValue=!1),34!==r&&40!==r||this.slideNext(),33!==r&&38!==r||this.slidePrev()),this.emit("keyPress",r)}},enable:function(){this.keyboard.enabled||(s(e).on("keydown",this.keyboard.handle),this.keyboard.enabled=!0)},disable:function(){this.keyboard.enabled&&(s(e).off("keydown",this.keyboard.handle),this.keyboard.enabled=!1)}},J={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0}},create:function(){n.extend(this,{keyboard:{enabled:!1,enable:Q.enable.bind(this),disable:Q.disable.bind(this),handle:Q.handle.bind(this)}})},on:{init:function(){this.params.keyboard.enabled&&this.keyboard.enable()},destroy:function(){this.keyboard.enabled&&this.keyboard.disable()}}};var ee={lastScrollTime:n.now(),event:function(){return t.navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var t="onwheel"in e;if(!t){var i=e.createElement("div");i.setAttribute("onwheel","return;"),t="function"==typeof i.onwheel}return!t&&e.implementation&&e.implementation.hasFeature&&!0!==e.implementation.hasFeature("","")&&(t=e.implementation.hasFeature("Events.wheel","3.0")),t}()?"wheel":"mousewheel"},normalize:function(e){var t=0,i=0,s=0,a=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),s=10*t,a=10*i,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=a,a=0),(s||a)&&e.deltaMode&&(1===e.deltaMode?(s*=40,a*=40):(s*=800,a*=800)),s&&!t&&(t=s<1?-1:1),a&&!i&&(i=a<1?-1:1),{spinX:t,spinY:i,pixelX:s,pixelY:a}},handleMouseEnter:function(){this.mouseEntered=!0},handleMouseLeave:function(){this.mouseEntered=!1},handle:function(e){var i=e,s=this,a=s.params.mousewheel;if(s.params.cssMode&&i.preventDefault(),!s.mouseEntered&&!a.releaseOnEdges)return!0;i.originalEvent&&(i=i.originalEvent);var r=0,o=s.rtlTranslate?-1:1,l=ee.normalize(i);if(a.forceToAxis)if(s.isHorizontal()){if(!(Math.abs(l.pixelX)>Math.abs(l.pixelY)))return!0;r=l.pixelX*o}else{if(!(Math.abs(l.pixelY)>Math.abs(l.pixelX)))return!0;r=l.pixelY}else r=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*o:-l.pixelY;if(0===r)return!0;if(a.invert&&(r=-r),s.params.freeMode){s.params.loop&&s.loopFix();var d=s.getTranslate()+r*a.sensitivity,h=s.isBeginning,p=s.isEnd;if(d>=s.minTranslate()&&(d=s.minTranslate()),d<=s.maxTranslate()&&(d=s.maxTranslate()),s.setTransition(0),s.setTranslate(d),s.updateProgress(),s.updateActiveIndex(),s.updateSlidesClasses(),(!h&&s.isBeginning||!p&&s.isEnd)&&s.updateSlidesClasses(),s.params.freeModeSticky&&(clearTimeout(s.mousewheel.timeout),s.mousewheel.timeout=n.nextTick((function(){s.slideToClosest()}),300)),s.emit("scroll",i),s.params.autoplay&&s.params.autoplayDisableOnInteraction&&s.autoplay.stop(),d===s.minTranslate()||d===s.maxTranslate())return!0}else{if(n.now()-s.mousewheel.lastScrollTime>60)if(r<0)if(s.isEnd&&!s.params.loop||s.animating){if(a.releaseOnEdges)return!0}else s.slideNext(),s.emit("scroll",i);else if(s.isBeginning&&!s.params.loop||s.animating){if(a.releaseOnEdges)return!0}else s.slidePrev(),s.emit("scroll",i);s.mousewheel.lastScrollTime=(new t.Date).getTime()}return i.preventDefault?i.preventDefault():i.returnValue=!1,!1},enable:function(){var e=ee.event();if(this.params.cssMode)return this.wrapperEl.removeEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=s(this.params.mousewheel.eventsTarged)),t.on("mouseenter",this.mousewheel.handleMouseEnter),t.on("mouseleave",this.mousewheel.handleMouseLeave),t.on(e,this.mousewheel.handle),this.mousewheel.enabled=!0,!0},disable:function(){var e=ee.event();if(this.params.cssMode)return this.wrapperEl.addEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(!this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=s(this.params.mousewheel.eventsTarged)),t.off(e,this.mousewheel.handle),this.mousewheel.enabled=!1,!0}},te={update:function(){var e=this.params.navigation;if(!this.params.loop){var t=this.navigation,i=t.$nextEl,s=t.$prevEl;s&&s.length>0&&(this.isBeginning?s.addClass(e.disabledClass):s.removeClass(e.disabledClass),s[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass)),i&&i.length>0&&(this.isEnd?i.addClass(e.disabledClass):i.removeClass(e.disabledClass),i[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(e){e.preventDefault(),this.isBeginning&&!this.params.loop||this.slidePrev()},onNextClick:function(e){e.preventDefault(),this.isEnd&&!this.params.loop||this.slideNext()},init:function(){var e,t,i=this.params.navigation;(i.nextEl||i.prevEl)&&(i.nextEl&&(e=s(i.nextEl),this.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===this.$el.find(i.nextEl).length&&(e=this.$el.find(i.nextEl))),i.prevEl&&(t=s(i.prevEl),this.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===this.$el.find(i.prevEl).length&&(t=this.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",this.navigation.onNextClick),t&&t.length>0&&t.on("click",this.navigation.onPrevClick),n.extend(this.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}))},destroy:function(){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;t&&t.length&&(t.off("click",this.navigation.onNextClick),t.removeClass(this.params.navigation.disabledClass)),i&&i.length&&(i.off("click",this.navigation.onPrevClick),i.removeClass(this.params.navigation.disabledClass))}},ie={update:function(){var e=this.rtl,t=this.params.pagination;if(t.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var i,a=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,r=this.pagination.$el,n=this.params.loop?Math.ceil((a-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length;if(this.params.loop?((i=Math.ceil((this.activeIndex-this.loopedSlides)/this.params.slidesPerGroup))>a-1-2*this.loopedSlides&&(i-=a-2*this.loopedSlides),i>n-1&&(i-=n),i<0&&"bullets"!==this.params.paginationType&&(i=n+i)):i=void 0!==this.snapIndex?this.snapIndex:this.activeIndex||0,"bullets"===t.type&&this.pagination.bullets&&this.pagination.bullets.length>0){var o,l,d,h=this.pagination.bullets;if(t.dynamicBullets&&(this.pagination.bulletSize=h.eq(0)[this.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(this.isHorizontal()?"width":"height",this.pagination.bulletSize*(t.dynamicMainBullets+4)+"px"),t.dynamicMainBullets>1&&void 0!==this.previousIndex&&(this.pagination.dynamicBulletIndex+=i-this.previousIndex,this.pagination.dynamicBulletIndex>t.dynamicMainBullets-1?this.pagination.dynamicBulletIndex=t.dynamicMainBullets-1:this.pagination.dynamicBulletIndex<0&&(this.pagination.dynamicBulletIndex=0)),o=i-this.pagination.dynamicBulletIndex,d=((l=o+(Math.min(h.length,t.dynamicMainBullets)-1))+o)/2),h.removeClass(t.bulletActiveClass+" "+t.bulletActiveClass+"-next "+t.bulletActiveClass+"-next-next "+t.bulletActiveClass+"-prev "+t.bulletActiveClass+"-prev-prev "+t.bulletActiveClass+"-main"),r.length>1)h.each((function(e,a){var r=s(a),n=r.index();n===i&&r.addClass(t.bulletActiveClass),t.dynamicBullets&&(n>=o&&n<=l&&r.addClass(t.bulletActiveClass+"-main"),n===o&&r.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),n===l&&r.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next"))}));else if(h.eq(i).addClass(t.bulletActiveClass),t.dynamicBullets){for(var p=h.eq(o),c=h.eq(l),u=o;u<=l;u+=1)h.eq(u).addClass(t.bulletActiveClass+"-main");p.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),c.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next")}if(t.dynamicBullets){var v=Math.min(h.length,t.dynamicMainBullets+4),f=(this.pagination.bulletSize*v-this.pagination.bulletSize)/2-d*this.pagination.bulletSize,m=e?"right":"left";h.css(this.isHorizontal()?m:"top",f+"px")}}if("fraction"===t.type&&(r.find("."+t.currentClass).text(t.formatFractionCurrent(i+1)),r.find("."+t.totalClass).text(t.formatFractionTotal(n))),"progressbar"===t.type){var g;g=t.progressbarOpposite?this.isHorizontal()?"vertical":"horizontal":this.isHorizontal()?"horizontal":"vertical";var b=(i+1)/n,w=1,y=1;"horizontal"===g?w=b:y=b,r.find("."+t.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+w+") scaleY("+y+")").transition(this.params.speed)}"custom"===t.type&&t.renderCustom?(r.html(t.renderCustom(this,i+1,n)),this.emit("paginationRender",this,r[0])):this.emit("paginationUpdate",this,r[0]),r[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](t.lockClass)}},render:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,i=this.pagination.$el,s="";if("bullets"===e.type){for(var a=this.params.loop?Math.ceil((t-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length,r=0;r<a;r+=1)e.renderBullet?s+=e.renderBullet.call(this,r,e.bulletClass):s+="<"+e.bulletElement+' class="'+e.bulletClass+'"></'+e.bulletElement+">";i.html(s),this.pagination.bullets=i.find("."+e.bulletClass)}"fraction"===e.type&&(s=e.renderFraction?e.renderFraction.call(this,e.currentClass,e.totalClass):'<span class="'+e.currentClass+'"></span> / <span class="'+e.totalClass+'"></span>',i.html(s)),"progressbar"===e.type&&(s=e.renderProgressbar?e.renderProgressbar.call(this,e.progressbarFillClass):'<span class="'+e.progressbarFillClass+'"></span>',i.html(s)),"custom"!==e.type&&this.emit("paginationRender",this.pagination.$el[0])}},init:function(){var e=this,t=e.params.pagination;if(t.el){var i=s(t.el);0!==i.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&i.length>1&&1===e.$el.find(t.el).length&&(i=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&i.addClass(t.clickableClass),i.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(i.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&i.addClass(t.progressbarOppositeClass),t.clickable&&i.on("click","."+t.bulletClass,(function(t){t.preventDefault();var i=s(this).index()*e.params.slidesPerGroup;e.params.loop&&(i+=e.loopedSlides),e.slideTo(i)})),n.extend(e.pagination,{$el:i,el:i[0]}))}},destroy:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.pagination.$el;t.removeClass(e.hiddenClass),t.removeClass(e.modifierClass+e.type),this.pagination.bullets&&this.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&t.off("click","."+e.bulletClass)}}},se={setTranslate:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=this.rtlTranslate,i=this.progress,s=e.dragSize,a=e.trackSize,r=e.$dragEl,n=e.$el,o=this.params.scrollbar,l=s,d=(a-s)*i;t?(d=-d)>0?(l=s-d,d=0):-d+s>a&&(l=a+d):d<0?(l=s+d,d=0):d+s>a&&(l=a-d),this.isHorizontal()?(r.transform("translate3d("+d+"px, 0, 0)"),r[0].style.width=l+"px"):(r.transform("translate3d(0px, "+d+"px, 0)"),r[0].style.height=l+"px"),o.hide&&(clearTimeout(this.scrollbar.timeout),n[0].style.opacity=1,this.scrollbar.timeout=setTimeout((function(){n[0].style.opacity=0,n.transition(400)}),1e3))}},setTransition:function(e){this.params.scrollbar.el&&this.scrollbar.el&&this.scrollbar.$dragEl.transition(e)},updateSize:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=e.$dragEl,i=e.$el;t[0].style.width="",t[0].style.height="";var s,a=this.isHorizontal()?i[0].offsetWidth:i[0].offsetHeight,r=this.size/this.virtualSize,o=r*(a/this.size);s="auto"===this.params.scrollbar.dragSize?a*r:parseInt(this.params.scrollbar.dragSize,10),this.isHorizontal()?t[0].style.width=s+"px":t[0].style.height=s+"px",i[0].style.display=r>=1?"none":"",this.params.scrollbar.hide&&(i[0].style.opacity=0),n.extend(e,{trackSize:a,divider:r,moveDivider:o,dragSize:s}),e.$el[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](this.params.scrollbar.lockClass)}},getPointerPosition:function(e){return this.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t,i=this.scrollbar,s=this.rtlTranslate,a=i.$el,r=i.dragSize,n=i.trackSize,o=i.dragStartPos;t=(i.getPointerPosition(e)-a.offset()[this.isHorizontal()?"left":"top"]-(null!==o?o:r/2))/(n-r),t=Math.max(Math.min(t,1),0),s&&(t=1-t);var l=this.minTranslate()+(this.maxTranslate()-this.minTranslate())*t;this.updateProgress(l),this.setTranslate(l),this.updateActiveIndex(),this.updateSlidesClasses()},onDragStart:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el,r=i.$dragEl;this.scrollbar.isTouched=!0,this.scrollbar.dragStartPos=e.target===r[0]||e.target===r?i.getPointerPosition(e)-e.target.getBoundingClientRect()[this.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),s.transition(100),r.transition(100),i.setDragPosition(e),clearTimeout(this.scrollbar.dragTimeout),a.transition(0),t.hide&&a.css("opacity",1),this.params.cssMode&&this.$wrapperEl.css("scroll-snap-type","none"),this.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this.scrollbar,i=this.$wrapperEl,s=t.$el,a=t.$dragEl;this.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t.setDragPosition(e),i.transition(0),s.transition(0),a.transition(0),this.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el;this.scrollbar.isTouched&&(this.scrollbar.isTouched=!1,this.params.cssMode&&(this.$wrapperEl.css("scroll-snap-type",""),s.transition("")),t.hide&&(clearTimeout(this.scrollbar.dragTimeout),this.scrollbar.dragTimeout=n.nextTick((function(){a.css("opacity",0),a.transition(400)}),1e3)),this.emit("scrollbarDragEnd",e),t.snapOnRelease&&this.slideToClosest())},enableDraggable:function(){if(this.params.scrollbar.el){var t=this.scrollbar,i=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=t.$el[0],n=!(!o.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},l=!(!o.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};o.touch?(r.addEventListener(i.start,this.scrollbar.onDragStart,n),r.addEventListener(i.move,this.scrollbar.onDragMove,n),r.addEventListener(i.end,this.scrollbar.onDragEnd,l)):(r.addEventListener(s.start,this.scrollbar.onDragStart,n),e.addEventListener(s.move,this.scrollbar.onDragMove,n),e.addEventListener(s.end,this.scrollbar.onDragEnd,l))}},disableDraggable:function(){if(this.params.scrollbar.el){var t=this.scrollbar,i=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=t.$el[0],n=!(!o.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},l=!(!o.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};o.touch?(r.removeEventListener(i.start,this.scrollbar.onDragStart,n),r.removeEventListener(i.move,this.scrollbar.onDragMove,n),r.removeEventListener(i.end,this.scrollbar.onDragEnd,l)):(r.removeEventListener(s.start,this.scrollbar.onDragStart,n),e.removeEventListener(s.move,this.scrollbar.onDragMove,n),e.removeEventListener(s.end,this.scrollbar.onDragEnd,l))}},init:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.$el,i=this.params.scrollbar,a=s(i.el);this.params.uniqueNavElements&&"string"==typeof i.el&&a.length>1&&1===t.find(i.el).length&&(a=t.find(i.el));var r=a.find("."+this.params.scrollbar.dragClass);0===r.length&&(r=s('<div class="'+this.params.scrollbar.dragClass+'"></div>'),a.append(r)),n.extend(e,{$el:a,el:a[0],$dragEl:r,dragEl:r[0]}),i.draggable&&e.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},ae={setTransform:function(e,t){var i=this.rtl,a=s(e),r=i?-1:1,n=a.attr("data-swiper-parallax")||"0",o=a.attr("data-swiper-parallax-x"),l=a.attr("data-swiper-parallax-y"),d=a.attr("data-swiper-parallax-scale"),h=a.attr("data-swiper-parallax-opacity");if(o||l?(o=o||"0",l=l||"0"):this.isHorizontal()?(o=n,l="0"):(l=n,o="0"),o=o.indexOf("%")>=0?parseInt(o,10)*t*r+"%":o*t*r+"px",l=l.indexOf("%")>=0?parseInt(l,10)*t+"%":l*t+"px",null!=h){var p=h-(h-1)*(1-Math.abs(t));a[0].style.opacity=p}if(null==d)a.transform("translate3d("+o+", "+l+", 0px)");else{var c=d-(d-1)*(1-Math.abs(t));a.transform("translate3d("+o+", "+l+", 0px) scale("+c+")")}},setTranslate:function(){var e=this,t=e.$el,i=e.slides,a=e.progress,r=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,a)})),i.each((function(t,i){var n=i.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(n+=Math.ceil(t/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),s(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,n)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed);this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){var a=s(i),r=parseInt(a.attr("data-swiper-parallax-duration"),10)||e;0===e&&(r=0),a.transition(r)}))}},re={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,i=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,a=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-t,2)+Math.pow(a-i,2))},onGestureStart:function(e){var t=this.params.zoom,i=this.zoom,a=i.gesture;if(i.fakeGestureTouched=!1,i.fakeGestureMoved=!1,!o.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;i.fakeGestureTouched=!0,a.scaleStart=re.getDistanceBetweenTouches(e)}a.$slideEl&&a.$slideEl.length||(a.$slideEl=s(e.target).closest(".swiper-slide"),0===a.$slideEl.length&&(a.$slideEl=this.slides.eq(this.activeIndex)),a.$imageEl=a.$slideEl.find("img, svg, canvas"),a.$imageWrapEl=a.$imageEl.parent("."+t.containerClass),a.maxRatio=a.$imageWrapEl.attr("data-swiper-zoom")||t.maxRatio,0!==a.$imageWrapEl.length)?(a.$imageEl.transition(0),this.zoom.isScaling=!0):a.$imageEl=void 0},onGestureChange:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!o.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;i.fakeGestureMoved=!0,s.scaleMove=re.getDistanceBetweenTouches(e)}s.$imageEl&&0!==s.$imageEl.length&&(o.gestures?i.scale=e.scale*i.currentScale:i.scale=s.scaleMove/s.scaleStart*i.currentScale,i.scale>s.maxRatio&&(i.scale=s.maxRatio-1+Math.pow(i.scale-s.maxRatio+1,.5)),i.scale<t.minRatio&&(i.scale=t.minRatio+1-Math.pow(t.minRatio-i.scale+1,.5)),s.$imageEl.transform("translate3d(0,0,0) scale("+i.scale+")"))},onGestureEnd:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!o.gestures){if(!i.fakeGestureTouched||!i.fakeGestureMoved)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!I.android)return;i.fakeGestureTouched=!1,i.fakeGestureMoved=!1}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=Math.max(Math.min(i.scale,s.maxRatio),t.minRatio),s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale("+i.scale+")"),i.currentScale=i.scale,i.isScaling=!1,1===i.scale&&(s.$slideEl=void 0))},onTouchStart:function(e){var t=this.zoom,i=t.gesture,s=t.image;i.$imageEl&&0!==i.$imageEl.length&&(s.isTouched||(I.android&&e.preventDefault(),s.isTouched=!0,s.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))},onTouchMove:function(e){var t=this.zoom,i=t.gesture,s=t.image,a=t.velocity;if(i.$imageEl&&0!==i.$imageEl.length&&(this.allowClick=!1,s.isTouched&&i.$slideEl)){s.isMoved||(s.width=i.$imageEl[0].offsetWidth,s.height=i.$imageEl[0].offsetHeight,s.startX=n.getTranslate(i.$imageWrapEl[0],"x")||0,s.startY=n.getTranslate(i.$imageWrapEl[0],"y")||0,i.slideWidth=i.$slideEl[0].offsetWidth,i.slideHeight=i.$slideEl[0].offsetHeight,i.$imageWrapEl.transition(0),this.rtl&&(s.startX=-s.startX,s.startY=-s.startY));var r=s.width*t.scale,o=s.height*t.scale;if(!(r<i.slideWidth&&o<i.slideHeight)){if(s.minX=Math.min(i.slideWidth/2-r/2,0),s.maxX=-s.minX,s.minY=Math.min(i.slideHeight/2-o/2,0),s.maxY=-s.minY,s.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!s.isMoved&&!t.isScaling){if(this.isHorizontal()&&(Math.floor(s.minX)===Math.floor(s.startX)&&s.touchesCurrent.x<s.touchesStart.x||Math.floor(s.maxX)===Math.floor(s.startX)&&s.touchesCurrent.x>s.touchesStart.x))return void(s.isTouched=!1);if(!this.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.y<s.touchesStart.y||Math.floor(s.maxY)===Math.floor(s.startY)&&s.touchesCurrent.y>s.touchesStart.y))return void(s.isTouched=!1)}e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentX<s.minX&&(s.currentX=s.minX+1-Math.pow(s.minX-s.currentX+1,.8)),s.currentX>s.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentY<s.minY&&(s.currentY=s.minY+1-Math.pow(s.minY-s.currentY+1,.8)),s.currentY>s.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),a.prevPositionX||(a.prevPositionX=s.touchesCurrent.x),a.prevPositionY||(a.prevPositionY=s.touchesCurrent.y),a.prevTime||(a.prevTime=Date.now()),a.x=(s.touchesCurrent.x-a.prevPositionX)/(Date.now()-a.prevTime)/2,a.y=(s.touchesCurrent.y-a.prevPositionY)/(Date.now()-a.prevTime)/2,Math.abs(s.touchesCurrent.x-a.prevPositionX)<2&&(a.x=0),Math.abs(s.touchesCurrent.y-a.prevPositionY)<2&&(a.y=0),a.prevPositionX=s.touchesCurrent.x,a.prevPositionY=s.touchesCurrent.y,a.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,s=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var a=300,r=300,n=s.x*a,o=i.currentX+n,l=s.y*r,d=i.currentY+l;0!==s.x&&(a=Math.abs((o-i.currentX)/s.x)),0!==s.y&&(r=Math.abs((d-i.currentY)/s.y));var h=Math.max(a,r);i.currentX=o,i.currentY=d;var p=i.width*e.scale,c=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-p/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-c/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(h).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,a,r,n,o,l,d,h,p,c,u,v,f,m,g,b=this.zoom,w=this.params.zoom,y=b.gesture,x=b.image;(y.$slideEl||(y.$slideEl=this.clickedSlide?s(this.clickedSlide):this.slides.eq(this.activeIndex),y.$imageEl=y.$slideEl.find("img, svg, canvas"),y.$imageWrapEl=y.$imageEl.parent("."+w.containerClass)),y.$imageEl&&0!==y.$imageEl.length)&&(y.$slideEl.addClass(""+w.zoomedSlideClass),void 0===x.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,i="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=x.touchesStart.x,i=x.touchesStart.y),b.scale=y.$imageWrapEl.attr("data-swiper-zoom")||w.maxRatio,b.currentScale=y.$imageWrapEl.attr("data-swiper-zoom")||w.maxRatio,e?(m=y.$slideEl[0].offsetWidth,g=y.$slideEl[0].offsetHeight,a=y.$slideEl.offset().left+m/2-t,r=y.$slideEl.offset().top+g/2-i,l=y.$imageEl[0].offsetWidth,d=y.$imageEl[0].offsetHeight,h=l*b.scale,p=d*b.scale,v=-(c=Math.min(m/2-h/2,0)),f=-(u=Math.min(g/2-p/2,0)),(n=a*b.scale)<c&&(n=c),n>v&&(n=v),(o=r*b.scale)<u&&(o=u),o>f&&(o=f)):(n=0,o=0),y.$imageWrapEl.transition(300).transform("translate3d("+n+"px, "+o+"px,0)"),y.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+b.scale+")"))},out:function(){var e=this.zoom,t=this.params.zoom,i=e.gesture;i.$slideEl||(i.$slideEl=this.clickedSlide?s(this.clickedSlide):this.slides.eq(this.activeIndex),i.$imageEl=i.$slideEl.find("img, svg, canvas"),i.$imageWrapEl=i.$imageEl.parent("."+t.containerClass)),i.$imageEl&&0!==i.$imageEl.length&&(e.scale=1,e.currentScale=1,i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),i.$slideEl.removeClass(""+t.zoomedSlideClass),i.$slideEl=void 0)},enable:function(){var e=this.zoom;if(!e.enabled){e.enabled=!0;var t=!("touchstart"!==this.touchEvents.start||!o.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!o.passiveListener||{passive:!1,capture:!0};o.gestures?(this.$wrapperEl.on("gesturestart",".swiper-slide",e.onGestureStart,t),this.$wrapperEl.on("gesturechange",".swiper-slide",e.onGestureChange,t),this.$wrapperEl.on("gestureend",".swiper-slide",e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.on(this.touchEvents.start,".swiper-slide",e.onGestureStart,t),this.$wrapperEl.on(this.touchEvents.move,".swiper-slide",e.onGestureChange,t),this.$wrapperEl.on(this.touchEvents.end,".swiper-slide",e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.on(this.touchEvents.cancel,".swiper-slide",e.onGestureEnd,t)),this.$wrapperEl.on(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}},disable:function(){var e=this.zoom;if(e.enabled){this.zoom.enabled=!1;var t=!("touchstart"!==this.touchEvents.start||!o.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!o.passiveListener||{passive:!1,capture:!0};o.gestures?(this.$wrapperEl.off("gesturestart",".swiper-slide",e.onGestureStart,t),this.$wrapperEl.off("gesturechange",".swiper-slide",e.onGestureChange,t),this.$wrapperEl.off("gestureend",".swiper-slide",e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.off(this.touchEvents.start,".swiper-slide",e.onGestureStart,t),this.$wrapperEl.off(this.touchEvents.move,".swiper-slide",e.onGestureChange,t),this.$wrapperEl.off(this.touchEvents.end,".swiper-slide",e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.off(this.touchEvents.cancel,".swiper-slide",e.onGestureEnd,t)),this.$wrapperEl.off(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}}},ne={loadInSlide:function(e,t){void 0===t&&(t=!0);var i=this,a=i.params.lazy;if(void 0!==e&&0!==i.slides.length){var r=i.virtual&&i.params.virtual.enabled?i.$wrapperEl.children("."+i.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):i.slides.eq(e),n=r.find("."+a.elementClass+":not(."+a.loadedClass+"):not(."+a.loadingClass+")");!r.hasClass(a.elementClass)||r.hasClass(a.loadedClass)||r.hasClass(a.loadingClass)||(n=n.add(r[0])),0!==n.length&&n.each((function(e,n){var o=s(n);o.addClass(a.loadingClass);var l=o.attr("data-background"),d=o.attr("data-src"),h=o.attr("data-srcset"),p=o.attr("data-sizes");i.loadImage(o[0],d||l,h,p,!1,(function(){if(null!=i&&i&&(!i||i.params)&&!i.destroyed){if(l?(o.css("background-image",'url("'+l+'")'),o.removeAttr("data-background")):(h&&(o.attr("srcset",h),o.removeAttr("data-srcset")),p&&(o.attr("sizes",p),o.removeAttr("data-sizes")),d&&(o.attr("src",d),o.removeAttr("data-src"))),o.addClass(a.loadedClass).removeClass(a.loadingClass),r.find("."+a.preloaderClass).remove(),i.params.loop&&t){var e=r.attr("data-swiper-slide-index");if(r.hasClass(i.params.slideDuplicateClass)){var s=i.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+i.params.slideDuplicateClass+")");i.lazy.loadInSlide(s.index(),!1)}else{var n=i.$wrapperEl.children("."+i.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');i.lazy.loadInSlide(n.index(),!1)}}i.emit("lazyImageReady",r[0],o[0])}})),i.emit("lazyImageLoad",r[0],o[0])}))}},load:function(){var e=this,t=e.$wrapperEl,i=e.params,a=e.slides,r=e.activeIndex,n=e.virtual&&i.virtual.enabled,o=i.lazy,l=i.slidesPerView;function d(e){if(n){if(t.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(a[e])return!0;return!1}function h(e){return n?s(e).attr("data-swiper-slide-index"):s(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+i.slideVisibleClass).each((function(t,i){var a=n?s(i).attr("data-swiper-slide-index"):s(i).index();e.lazy.loadInSlide(a)}));else if(l>1)for(var p=r;p<r+l;p+=1)d(p)&&e.lazy.loadInSlide(p);else e.lazy.loadInSlide(r);if(o.loadPrevNext)if(l>1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){for(var c=o.loadPrevNextAmount,u=l,v=Math.min(r+u+Math.max(c,u),a.length),f=Math.max(r-Math.max(u,c),0),m=r+l;m<v;m+=1)d(m)&&e.lazy.loadInSlide(m);for(var g=f;g<r;g+=1)d(g)&&e.lazy.loadInSlide(g)}else{var b=t.children("."+i.slideNextClass);b.length>0&&e.lazy.loadInSlide(h(b));var w=t.children("."+i.slidePrevClass);w.length>0&&e.lazy.loadInSlide(h(w))}}},oe={LinearSpline:function(e,t){var i,s,a,r,n,o=function(e,t){for(s=-1,i=e.length;i-s>1;)e[a=i+s>>1]<=t?s=a:i=a;return i};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=o(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){this.controller.spline||(this.controller.spline=this.params.loop?new oe.LinearSpline(this.slidesGrid,e.slidesGrid):new oe.LinearSpline(this.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,s,a=this,r=a.controller.control;function n(e){var t=a.rtlTranslate?-a.translate:a.translate;"slide"===a.params.controller.by&&(a.controller.getInterpolateFunction(e),s=-a.controller.spline.interpolate(-t)),s&&"container"!==a.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(a.maxTranslate()-a.minTranslate()),s=(t-a.minTranslate())*i+e.minTranslate()),a.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,a),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o<r.length;o+=1)r[o]!==t&&r[o]instanceof Y&&n(r[o]);else r instanceof Y&&t!==r&&n(r)},setTransition:function(e,t){var i,s=this,a=s.controller.control;function r(t){t.setTransition(e,s),0!==e&&(t.transitionStart(),t.params.autoHeight&&n.nextTick((function(){t.updateAutoHeight()})),t.$wrapperEl.transitionEnd((function(){a&&(t.params.loop&&"slide"===s.params.controller.by&&t.loopFix(),t.transitionEnd())})))}if(Array.isArray(a))for(i=0;i<a.length;i+=1)a[i]!==t&&a[i]instanceof Y&&r(a[i]);else a instanceof Y&&t!==a&&r(a)}},le={makeElFocusable:function(e){return e.attr("tabIndex","0"),e},addElRole:function(e,t){return e.attr("role",t),e},addElLabel:function(e,t){return e.attr("aria-label",t),e},disableEl:function(e){return e.attr("aria-disabled",!0),e},enableEl:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){var t=this.params.a11y;if(13===e.keyCode){var i=s(e.target);this.navigation&&this.navigation.$nextEl&&i.is(this.navigation.$nextEl)&&(this.isEnd&&!this.params.loop||this.slideNext(),this.isEnd?this.a11y.notify(t.lastSlideMessage):this.a11y.notify(t.nextSlideMessage)),this.navigation&&this.navigation.$prevEl&&i.is(this.navigation.$prevEl)&&(this.isBeginning&&!this.params.loop||this.slidePrev(),this.isBeginning?this.a11y.notify(t.firstSlideMessage):this.a11y.notify(t.prevSlideMessage)),this.pagination&&i.is("."+this.params.pagination.bulletClass)&&i[0].click()}},notify:function(e){var t=this.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},updateNavigation:function(){if(!this.params.loop){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;i&&i.length>0&&(this.isBeginning?this.a11y.disableEl(i):this.a11y.enableEl(i)),t&&t.length>0&&(this.isEnd?this.a11y.disableEl(t):this.a11y.enableEl(t))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(i,a){var r=s(a);e.a11y.makeElFocusable(r),e.a11y.addElRole(r,"button"),e.a11y.addElLabel(r,t.paginationBulletMessage.replace(/{{index}}/,r.index()+1))}))},init:function(){this.$el.append(this.a11y.liveRegion);var e,t,i=this.params.a11y;this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&(this.a11y.makeElFocusable(e),this.a11y.addElRole(e,"button"),this.a11y.addElLabel(e,i.nextSlideMessage),e.on("keydown",this.a11y.onEnterKey)),t&&(this.a11y.makeElFocusable(t),this.a11y.addElRole(t,"button"),this.a11y.addElLabel(t,i.prevSlideMessage),t.on("keydown",this.a11y.onEnterKey)),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.on("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)},destroy:function(){var e,t;this.a11y.liveRegion&&this.a11y.liveRegion.length>0&&this.a11y.liveRegion.remove(),this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&e.off("keydown",this.a11y.onEnterKey),t&&t.off("keydown",this.a11y.onEnterKey),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.off("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)}},de={init:function(){if(this.params.history){if(!t.history||!t.history.pushState)return this.params.history.enabled=!1,void(this.params.hashNavigation.enabled=!0);var e=this.history;e.initialized=!0,e.paths=de.getPathValues(),(e.paths.key||e.paths.value)&&(e.scrollToSlide(0,e.paths.value,this.params.runCallbacksOnInit),this.params.history.replaceState||t.addEventListener("popstate",this.history.setHistoryPopState))}},destroy:function(){this.params.history.replaceState||t.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){this.history.paths=de.getPathValues(),this.history.scrollToSlide(this.params.speed,this.history.paths.value,!1)},getPathValues:function(){var e=t.location.pathname.slice(1).split("/").filter((function(e){return""!==e})),i=e.length;return{key:e[i-2],value:e[i-1]}},setHistory:function(e,i){if(this.history.initialized&&this.params.history.enabled){var s=this.slides.eq(i),a=de.slugify(s.attr("data-history"));t.location.pathname.includes(e)||(a=e+"/"+a);var r=t.history.state;r&&r.value===a||(this.params.history.replaceState?t.history.replaceState({value:a},null,a):t.history.pushState({value:a},null,a))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,i){if(t)for(var s=0,a=this.slides.length;s<a;s+=1){var r=this.slides.eq(s);if(de.slugify(r.attr("data-history"))===t&&!r.hasClass(this.params.slideDuplicateClass)){var n=r.index();this.slideTo(n,e,i)}}else this.slideTo(0,e,i)}},he={onHashCange:function(){var t=e.location.hash.replace("#","");if(t!==this.slides.eq(this.activeIndex).attr("data-hash")){var i=this.$wrapperEl.children("."+this.params.slideClass+'[data-hash="'+t+'"]').index();if(void 0===i)return;this.slideTo(i)}},setHash:function(){if(this.hashNavigation.initialized&&this.params.hashNavigation.enabled)if(this.params.hashNavigation.replaceState&&t.history&&t.history.replaceState)t.history.replaceState(null,null,"#"+this.slides.eq(this.activeIndex).attr("data-hash")||"");else{var i=this.slides.eq(this.activeIndex),s=i.attr("data-hash")||i.attr("data-history");e.location.hash=s||""}},init:function(){if(!(!this.params.hashNavigation.enabled||this.params.history&&this.params.history.enabled)){this.hashNavigation.initialized=!0;var i=e.location.hash.replace("#","");if(i)for(var a=0,r=this.slides.length;a<r;a+=1){var n=this.slides.eq(a);if((n.attr("data-hash")||n.attr("data-history"))===i&&!n.hasClass(this.params.slideDuplicateClass)){var o=n.index();this.slideTo(o,0,this.params.runCallbacksOnInit,!0)}}this.params.hashNavigation.watchState&&s(t).on("hashchange",this.hashNavigation.onHashCange)}},destroy:function(){this.params.hashNavigation.watchState&&s(t).off("hashchange",this.hashNavigation.onHashCange)}},pe={run:function(){var e=this,t=e.slides.eq(e.activeIndex),i=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(i=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(e.autoplay.timeout),e.autoplay.timeout=n.nextTick((function(){e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(e.slides.length-1,e.params.speed,!0,!0),e.emit("autoplay")):(e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.params.loop?(e.loopFix(),e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(0,e.params.speed,!0,!0),e.emit("autoplay")):(e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")),e.params.cssMode&&e.autoplay.running&&e.autoplay.run()}),i)},start:function(){return void 0===this.autoplay.timeout&&(!this.autoplay.running&&(this.autoplay.running=!0,this.emit("autoplayStart"),this.autoplay.run(),!0))},stop:function(){return!!this.autoplay.running&&(void 0!==this.autoplay.timeout&&(this.autoplay.timeout&&(clearTimeout(this.autoplay.timeout),this.autoplay.timeout=void 0),this.autoplay.running=!1,this.emit("autoplayStop"),!0))},pause:function(e){this.autoplay.running&&(this.autoplay.paused||(this.autoplay.timeout&&clearTimeout(this.autoplay.timeout),this.autoplay.paused=!0,0!==e&&this.params.autoplay.waitForTransition?(this.$wrapperEl[0].addEventListener("transitionend",this.autoplay.onTransitionEnd),this.$wrapperEl[0].addEventListener("webkitTransitionEnd",this.autoplay.onTransitionEnd)):(this.autoplay.paused=!1,this.autoplay.run())))}},ce={setTranslate:function(){for(var e=this.slides,t=0;t<e.length;t+=1){var i=this.slides.eq(t),s=-i[0].swiperSlideOffset;this.params.virtualTranslate||(s-=this.translate);var a=0;this.isHorizontal()||(a=s,s=0);var r=this.params.fadeEffect.crossFade?Math.max(1-Math.abs(i[0].progress),0):1+Math.min(Math.max(i[0].progress,-1),0);i.css({opacity:r}).transform("translate3d("+s+"px, "+a+"px, 0px)")}},setTransition:function(e){var t=this,i=t.slides,s=t.$wrapperEl;if(i.transition(e),t.params.virtualTranslate&&0!==e){var a=!1;i.transitionEnd((function(){if(!a&&t&&!t.destroyed){a=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)s.trigger(e[i])}}))}}},ue={setTranslate:function(){var e,t=this.$el,i=this.$wrapperEl,a=this.slides,r=this.width,n=this.height,o=this.rtlTranslate,l=this.size,d=this.params.cubeEffect,h=this.isHorizontal(),p=this.virtual&&this.params.virtual.enabled,c=0;d.shadow&&(h?(0===(e=i.find(".swiper-cube-shadow")).length&&(e=s('<div class="swiper-cube-shadow"></div>'),i.append(e)),e.css({height:r+"px"})):0===(e=t.find(".swiper-cube-shadow")).length&&(e=s('<div class="swiper-cube-shadow"></div>'),t.append(e)));for(var u=0;u<a.length;u+=1){var v=a.eq(u),f=u;p&&(f=parseInt(v.attr("data-swiper-slide-index"),10));var m=90*f,g=Math.floor(m/360);o&&(m=-m,g=Math.floor(-m/360));var b=Math.max(Math.min(v[0].progress,1),-1),w=0,y=0,x=0;f%4==0?(w=4*-g*l,x=0):(f-1)%4==0?(w=0,x=4*-g*l):(f-2)%4==0?(w=l+4*g*l,x=l):(f-3)%4==0&&(w=-l,x=3*l+4*l*g),o&&(w=-w),h||(y=w,w=0);var E="rotateX("+(h?0:-m)+"deg) rotateY("+(h?m:0)+"deg) translate3d("+w+"px, "+y+"px, "+x+"px)";if(b<=1&&b>-1&&(c=90*f+90*b,o&&(c=90*-f-90*b)),v.transform(E),d.slideShadows){var T=h?v.find(".swiper-slide-shadow-left"):v.find(".swiper-slide-shadow-top"),C=h?v.find(".swiper-slide-shadow-right"):v.find(".swiper-slide-shadow-bottom");0===T.length&&(T=s('<div class="swiper-slide-shadow-'+(h?"left":"top")+'"></div>'),v.append(T)),0===C.length&&(C=s('<div class="swiper-slide-shadow-'+(h?"right":"bottom")+'"></div>'),v.append(C)),T.length&&(T[0].style.opacity=Math.max(-b,0)),C.length&&(C[0].style.opacity=Math.max(b,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow)if(h)e.transform("translate3d(0px, "+(r/2+d.shadowOffset)+"px, "+-r/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")");else{var S=Math.abs(c)-90*Math.floor(Math.abs(c)/90),M=1.5-(Math.sin(2*S*Math.PI/360)/2+Math.cos(2*S*Math.PI/360)/2),P=d.shadowScale,z=d.shadowScale/M,k=d.shadowOffset;e.transform("scale3d("+P+", 1, "+z+") translate3d(0px, "+(n/2+k)+"px, "+-n/2/z+"px) rotateX(-90deg)")}var $=q.isSafari||q.isUiWebView?-l/2:0;i.transform("translate3d(0px,0,"+$+"px) rotateX("+(this.isHorizontal()?0:c)+"deg) rotateY("+(this.isHorizontal()?-c:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},ve={setTranslate:function(){for(var e=this.slides,t=this.rtlTranslate,i=0;i<e.length;i+=1){var a=e.eq(i),r=a[0].progress;this.params.flipEffect.limitRotation&&(r=Math.max(Math.min(a[0].progress,1),-1));var n=-180*r,o=0,l=-a[0].swiperSlideOffset,d=0;if(this.isHorizontal()?t&&(n=-n):(d=l,l=0,o=-n,n=0),a[0].style.zIndex=-Math.abs(Math.round(r))+e.length,this.params.flipEffect.slideShadows){var h=this.isHorizontal()?a.find(".swiper-slide-shadow-left"):a.find(".swiper-slide-shadow-top"),p=this.isHorizontal()?a.find(".swiper-slide-shadow-right"):a.find(".swiper-slide-shadow-bottom");0===h.length&&(h=s('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"left":"top")+'"></div>'),a.append(h)),0===p.length&&(p=s('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"right":"bottom")+'"></div>'),a.append(p)),h.length&&(h[0].style.opacity=Math.max(-r,0)),p.length&&(p[0].style.opacity=Math.max(r,0))}a.transform("translate3d("+l+"px, "+d+"px, 0px) rotateX("+o+"deg) rotateY("+n+"deg)")}},setTransition:function(e){var t=this,i=t.slides,s=t.activeIndex,a=t.$wrapperEl;if(i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var r=!1;i.eq(s).transitionEnd((function(){if(!r&&t&&!t.destroyed){r=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)a.trigger(e[i])}}))}}},fe={setTranslate:function(){for(var e=this.width,t=this.height,i=this.slides,a=this.$wrapperEl,r=this.slidesSizesGrid,n=this.params.coverflowEffect,l=this.isHorizontal(),d=this.translate,h=l?e/2-d:t/2-d,p=l?n.rotate:-n.rotate,c=n.depth,u=0,v=i.length;u<v;u+=1){var f=i.eq(u),m=r[u],g=(h-f[0].swiperSlideOffset-m/2)/m*n.modifier,b=l?p*g:0,w=l?0:p*g,y=-c*Math.abs(g),x=l?0:n.stretch*g,E=l?n.stretch*g:0;Math.abs(E)<.001&&(E=0),Math.abs(x)<.001&&(x=0),Math.abs(y)<.001&&(y=0),Math.abs(b)<.001&&(b=0),Math.abs(w)<.001&&(w=0);var T="translate3d("+E+"px,"+x+"px,"+y+"px) rotateX("+w+"deg) rotateY("+b+"deg)";if(f.transform(T),f[0].style.zIndex=1-Math.abs(Math.round(g)),n.slideShadows){var C=l?f.find(".swiper-slide-shadow-left"):f.find(".swiper-slide-shadow-top"),S=l?f.find(".swiper-slide-shadow-right"):f.find(".swiper-slide-shadow-bottom");0===C.length&&(C=s('<div class="swiper-slide-shadow-'+(l?"left":"top")+'"></div>'),f.append(C)),0===S.length&&(S=s('<div class="swiper-slide-shadow-'+(l?"right":"bottom")+'"></div>'),f.append(S)),C.length&&(C[0].style.opacity=g>0?g:0),S.length&&(S[0].style.opacity=-g>0?-g:0)}}(o.pointerEvents||o.prefixedPointerEvents)&&(a[0].style.perspectiveOrigin=h+"px 50%")},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},me={init:function(){var e=this.params.thumbs,t=this.constructor;e.swiper instanceof t?(this.thumbs.swiper=e.swiper,n.extend(this.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),n.extend(this.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):n.isObject(e.swiper)&&(this.thumbs.swiper=new t(n.extend({},e.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),this.thumbs.swiperCreated=!0),this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass),this.thumbs.swiper.on("tap",this.thumbs.onThumbClick)},onThumbClick:function(){var e=this.thumbs.swiper;if(e){var t=e.clickedIndex,i=e.clickedSlide;if(!(i&&s(i).hasClass(this.params.thumbs.slideThumbActiveClass)||null==t)){var a;if(a=e.params.loop?parseInt(s(e.clickedSlide).attr("data-swiper-slide-index"),10):t,this.params.loop){var r=this.activeIndex;this.slides.eq(r).hasClass(this.params.slideDuplicateClass)&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,r=this.activeIndex);var n=this.slides.eq(r).prevAll('[data-swiper-slide-index="'+a+'"]').eq(0).index(),o=this.slides.eq(r).nextAll('[data-swiper-slide-index="'+a+'"]').eq(0).index();a=void 0===n?o:void 0===o?n:o-r<r-n?o:n}this.slideTo(a)}}},update:function(e){var t=this.thumbs.swiper;if(t){var i="auto"===t.params.slidesPerView?t.slidesPerViewDynamic():t.params.slidesPerView;if(this.realIndex!==t.realIndex){var s,a=t.activeIndex;if(t.params.loop){t.slides.eq(a).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,a=t.activeIndex);var r=t.slides.eq(a).prevAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index(),n=t.slides.eq(a).nextAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index();s=void 0===r?n:void 0===n?r:n-a==a-r?a:n-a<a-r?n:r}else s=this.realIndex;t.visibleSlidesIndexes&&t.visibleSlidesIndexes.indexOf(s)<0&&(t.params.centeredSlides?s=s>a?s-Math.floor(i/2)+1:s+Math.floor(i/2)-1:s>a&&(s=s-i+1),t.slideTo(s,e?0:void 0))}var o=1,l=this.params.thumbs.slideThumbActiveClass;if(this.params.slidesPerView>1&&!this.params.centeredSlides&&(o=this.params.slidesPerView),t.slides.removeClass(l),t.params.loop||t.params.virtual&&t.params.virtual.enabled)for(var d=0;d<o;d+=1)t.$wrapperEl.children('[data-swiper-slide-index="'+(this.realIndex+d)+'"]').addClass(l);else for(var h=0;h<o;h+=1)t.slides.eq(this.realIndex+h).addClass(l)}}},ge=[F,R,W,j,U,Z,J,{name:"mousewheel",params:{mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarged:"container"}},create:function(){n.extend(this,{mousewheel:{enabled:!1,enable:ee.enable.bind(this),disable:ee.disable.bind(this),handle:ee.handle.bind(this),handleMouseEnter:ee.handleMouseEnter.bind(this),handleMouseLeave:ee.handleMouseLeave.bind(this),lastScrollTime:n.now()}})},on:{init:function(){!this.params.mousewheel.enabled&&this.params.cssMode&&this.mousewheel.disable(),this.params.mousewheel.enabled&&this.mousewheel.enable()},destroy:function(){this.params.cssMode&&this.mousewheel.enable(),this.mousewheel.enabled&&this.mousewheel.disable()}}},{name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){n.extend(this,{navigation:{init:te.init.bind(this),update:te.update.bind(this),destroy:te.destroy.bind(this),onNextClick:te.onNextClick.bind(this),onPrevClick:te.onPrevClick.bind(this)}})},on:{init:function(){this.navigation.init(),this.navigation.update()},toEdge:function(){this.navigation.update()},fromEdge:function(){this.navigation.update()},destroy:function(){this.navigation.destroy()},click:function(e){var t,i=this.navigation,a=i.$nextEl,r=i.$prevEl;!this.params.navigation.hideOnClick||s(e.target).is(r)||s(e.target).is(a)||(a?t=a.hasClass(this.params.navigation.hiddenClass):r&&(t=r.hasClass(this.params.navigation.hiddenClass)),!0===t?this.emit("navigationShow",this):this.emit("navigationHide",this),a&&a.toggleClass(this.params.navigation.hiddenClass),r&&r.toggleClass(this.params.navigation.hiddenClass))}}},{name:"pagination",params:{pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",modifierClass:"swiper-pagination-",currentClass:"swiper-pagination-current",totalClass:"swiper-pagination-total",hiddenClass:"swiper-pagination-hidden",progressbarFillClass:"swiper-pagination-progressbar-fill",progressbarOppositeClass:"swiper-pagination-progressbar-opposite",clickableClass:"swiper-pagination-clickable",lockClass:"swiper-pagination-lock"}},create:function(){n.extend(this,{pagination:{init:ie.init.bind(this),render:ie.render.bind(this),update:ie.update.bind(this),destroy:ie.destroy.bind(this),dynamicBulletIndex:0}})},on:{init:function(){this.pagination.init(),this.pagination.render(),this.pagination.update()},activeIndexChange:function(){this.params.loop?this.pagination.update():void 0===this.snapIndex&&this.pagination.update()},snapIndexChange:function(){this.params.loop||this.pagination.update()},slidesLengthChange:function(){this.params.loop&&(this.pagination.render(),this.pagination.update())},snapGridLengthChange:function(){this.params.loop||(this.pagination.render(),this.pagination.update())},destroy:function(){this.pagination.destroy()},click:function(e){this.params.pagination.el&&this.params.pagination.hideOnClick&&this.pagination.$el.length>0&&!s(e.target).hasClass(this.params.pagination.bulletClass)&&(!0===this.pagination.$el.hasClass(this.params.pagination.hiddenClass)?this.emit("paginationShow",this):this.emit("paginationHide",this),this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){n.extend(this,{scrollbar:{init:se.init.bind(this),destroy:se.destroy.bind(this),updateSize:se.updateSize.bind(this),setTranslate:se.setTranslate.bind(this),setTransition:se.setTransition.bind(this),enableDraggable:se.enableDraggable.bind(this),disableDraggable:se.disableDraggable.bind(this),setDragPosition:se.setDragPosition.bind(this),getPointerPosition:se.getPointerPosition.bind(this),onDragStart:se.onDragStart.bind(this),onDragMove:se.onDragMove.bind(this),onDragEnd:se.onDragEnd.bind(this),isTouched:!1,timeout:null,dragTimeout:null}})},on:{init:function(){this.scrollbar.init(),this.scrollbar.updateSize(),this.scrollbar.setTranslate()},update:function(){this.scrollbar.updateSize()},resize:function(){this.scrollbar.updateSize()},observerUpdate:function(){this.scrollbar.updateSize()},setTranslate:function(){this.scrollbar.setTranslate()},setTransition:function(e){this.scrollbar.setTransition(e)},destroy:function(){this.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){n.extend(this,{parallax:{setTransform:ae.setTransform.bind(this),setTranslate:ae.setTranslate.bind(this),setTransition:ae.setTransition.bind(this)}})},on:{beforeInit:function(){this.params.parallax.enabled&&(this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},init:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTranslate:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTransition:function(e){this.params.parallax.enabled&&this.parallax.setTransition(e)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this,t={enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}};"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function(i){t[i]=re[i].bind(e)})),n.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,"scale",{get:function(){return i},set:function(t){if(i!==t){var s=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,s,a)}i=t}})},on:{init:function(){this.params.zoom.enabled&&this.zoom.enable()},destroy:function(){this.zoom.disable()},touchStart:function(e){this.zoom.enabled&&this.zoom.onTouchStart(e)},touchEnd:function(e){this.zoom.enabled&&this.zoom.onTouchEnd(e)},doubleTap:function(e){this.params.zoom.enabled&&this.zoom.enabled&&this.params.zoom.toggle&&this.zoom.toggle(e)},transitionEnd:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.zoom.onTransitionEnd()},slideChange:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.params.cssMode&&this.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){n.extend(this,{lazy:{initialImageLoaded:!1,load:ne.load.bind(this),loadInSlide:ne.loadInSlide.bind(this)}})},on:{beforeInit:function(){this.params.lazy.enabled&&this.params.preloadImages&&(this.params.preloadImages=!1)},init:function(){this.params.lazy.enabled&&!this.params.loop&&0===this.params.initialSlide&&this.lazy.load()},scroll:function(){this.params.freeMode&&!this.params.freeModeSticky&&this.lazy.load()},resize:function(){this.params.lazy.enabled&&this.lazy.load()},scrollbarDragMove:function(){this.params.lazy.enabled&&this.lazy.load()},transitionStart:function(){this.params.lazy.enabled&&(this.params.lazy.loadOnTransitionStart||!this.params.lazy.loadOnTransitionStart&&!this.lazy.initialImageLoaded)&&this.lazy.load()},transitionEnd:function(){this.params.lazy.enabled&&!this.params.lazy.loadOnTransitionStart&&this.lazy.load()},slideChange:function(){this.params.lazy.enabled&&this.params.cssMode&&this.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){n.extend(this,{controller:{control:this.params.controller.control,getInterpolateFunction:oe.getInterpolateFunction.bind(this),setTranslate:oe.setTranslate.bind(this),setTransition:oe.setTransition.bind(this)}})},on:{update:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},resize:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},observerUpdate:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},setTranslate:function(e,t){this.controller.control&&this.controller.setTranslate(e,t)},setTransition:function(e,t){this.controller.control&&this.controller.setTransition(e,t)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}"}},create:function(){var e=this;n.extend(e,{a11y:{liveRegion:s('<span class="'+e.params.a11y.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>')}}),Object.keys(le).forEach((function(t){e.a11y[t]=le[t].bind(e)}))},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){n.extend(this,{history:{init:de.init.bind(this),setHistory:de.setHistory.bind(this),setHistoryPopState:de.setHistoryPopState.bind(this),scrollToSlide:de.scrollToSlide.bind(this),destroy:de.destroy.bind(this)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)},slideChange:function(){this.history.initialized&&this.params.cssMode&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){n.extend(this,{hashNavigation:{initialized:!1,init:he.init.bind(this),destroy:he.destroy.bind(this),setHash:he.setHash.bind(this),onHashCange:he.onHashCange.bind(this)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()},slideChange:function(){this.hashNavigation.initialized&&this.params.cssMode&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var e=this;n.extend(e,{autoplay:{running:!1,paused:!1,run:pe.run.bind(e),start:pe.start.bind(e),stop:pe.stop.bind(e),pause:pe.pause.bind(e),onVisibilityChange:function(){"hidden"===document.visibilityState&&e.autoplay.running&&e.autoplay.pause(),"visible"===document.visibilityState&&e.autoplay.paused&&(e.autoplay.run(),e.autoplay.paused=!1)},onTransitionEnd:function(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===this&&(e.$wrapperEl[0].removeEventListener("transitionend",e.autoplay.onTransitionEnd),e.$wrapperEl[0].removeEventListener("webkitTransitionEnd",e.autoplay.onTransitionEnd),e.autoplay.paused=!1,e.autoplay.running?e.autoplay.run():e.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&(this.autoplay.start(),document.addEventListener("visibilitychange",this.autoplay.onVisibilityChange))},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},touchEnd:function(){this.params.cssMode&&this.autoplay.paused&&!this.params.autoplay.disableOnInteraction&&this.autoplay.run()},destroy:function(){this.autoplay.running&&this.autoplay.stop(),document.removeEventListener("visibilitychange",this.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){n.extend(this,{fadeEffect:{setTranslate:ce.setTranslate.bind(this),setTransition:ce.setTransition.bind(this)}})},on:{beforeInit:function(){if("fade"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"fade");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};n.extend(this.params,e),n.extend(this.originalParams,e)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){n.extend(this,{cubeEffect:{setTranslate:ue.setTranslate.bind(this),setTransition:ue.setTransition.bind(this)}})},on:{beforeInit:function(){if("cube"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"cube"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};n.extend(this.params,e),n.extend(this.originalParams,e)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){n.extend(this,{flipEffect:{setTranslate:ve.setTranslate.bind(this),setTransition:ve.setTransition.bind(this)}})},on:{beforeInit:function(){if("flip"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"flip"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};n.extend(this.params,e),n.extend(this.originalParams,e)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0}},create:function(){n.extend(this,{coverflowEffect:{setTranslate:fe.setTranslate.bind(this),setTransition:fe.setTransition.bind(this)}})},on:{beforeInit:function(){"coverflow"===this.params.effect&&(this.classNames.push(this.params.containerModifierClass+"coverflow"),this.classNames.push(this.params.containerModifierClass+"3d"),this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){n.extend(this,{thumbs:{swiper:null,init:me.init.bind(this),update:me.update.bind(this),onThumbClick:me.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===Y.use&&(Y.use=Y.Class.use,Y.installModule=Y.Class.installModule),Y.use(ge),Y}));
14
- //# sourceMappingURL=swiper.min.js.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/vendor/swiper/js/swiper.min.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["0"],"names":["global","factory","exports","module","define","amd","self","Swiper","this","doc","document","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","location","hash","win","window","navigator","userAgent","history","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","Dom7","arr","i","length","$","selector","context","els","tempParent","html","trim","indexOf","toCreate","innerHTML","push","match","split","nodeType","unique","uniqueArray","fn","prototype","Class","Methods","addClass","className","classes","j","classList","add","removeClass","remove","hasClass","contains","toggleClass","toggle","attr","attrs","value","arguments$1","arguments","getAttribute","attrName","removeAttr","removeAttribute","data","key","el","dom7ElementDataStorage","dataKey","transform","elStyle","webkitTransform","transition","duration","webkitTransitionDuration","transitionDuration","on","assign","args","len","eventType","targetSelector","listener","capture","handleLiveEvent","e","target","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","undefined","events","event$1","dom7LiveListeners","proxyListener","event","dom7Listeners","off","handlers","handler","splice","dom7proxy","trigger","evt","detail","bubbles","cancelable","filter","dataIndex","dispatchEvent","transitionEnd","callback","dom","fireCallBack","call","outerWidth","includeMargins","styles","offsetWidth","parseFloat","outerHeight","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","props","prop","each","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","index","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","prev","previousElementSibling","prevAll","prevEls","parent","parentNode","closest","find","foundElements","found","matchedItems","removeChild","toAdd","Object","keys","forEach","methodName","Utils","deleteProps","obj","object","nextTick","delay","now","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","m42","parseUrlQuery","url","params","param","query","urlToParse","href","paramsPart","decodeURIComponent","isObject","o","constructor","extend","len$1","to","nextSource","keysArray","nextIndex","nextKey","desc","getOwnPropertyDescriptor","enumerable","Support","touch","Modernizr","maxTouchPoints","DocumentTouch","pointerEvents","PointerEvent","observer","passiveListener","supportsPassive","opts","defineProperty","get","gestures","SwiperClass","eventsListeners","eventName","staticAccessors","components","configurable","priority","method","once","onceHandler","f7proxy","eventHandler","emit","Array","isArray","slice","eventsArray","useModulesParams","instanceParams","instance","modules","moduleName","useModules","modulesParams","moduleParams","modulePropName","moduleProp","bind","moduleEventName","create","set","use","installModule","name","proto","static","install","m","concat","defineProperties","update","updateSize","width","height","$el","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","size","updateSlides","$wrapperEl","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","slidesForMargin","slideIndex","cssMode","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginTop","marginRight","marginBottom","slidesPerColumn","Math","floor","ceil","slidesPerView","slidesPerColumnFill","max","newSlidesGrid","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","slidesPerGroup","groupIndex","slideIndexInGroup","-webkit-box-ordinal-group","-moz-box-ordinal-group","-ms-flex-order","-webkit-order","order","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","paddingTop","paddingBottom","boxSizing$1","swiperSlideSize","centeredSlides","abs","effect","setWrapperSize","i$1","slidesGridItem","i$2","slidesGridItem$1","centerInsufficientSlides","allSlidesSize","slideSizeValue","allSlidesOffset","snap","snapIndex","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","speed","activeSlides","newHeight","setTransition","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","visibleSlidesIndexes","visibleSlides","slideProgress","minTranslate","slideBefore","slideAfter","progress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","loop","slideDuplicateClass","slideDuplicateActiveClass","nextSlide","slideNextClass","prevSlide","slidePrevClass","slideDuplicateNextClass","slideDuplicatePrevClass","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","initialized","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","wrapperEl","x","y","previousTranslate","transition$1","transitionStart","runCallbacks","direction","autoHeight","dir","animating","slideTo","internal","swiper","preventInteractionOnTransition","initialSlide","allowSlideNext","allowSlidePrev","isH","scrollTo","behavior","onSlideToWrapperTransitionEnd","destroyed","slideToLoop","newIndex","loopedSlides","slideNext","loopFix","_clientLeft","slidePrev","normalize","val","prevIndex","normalizedTranslate","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","diff","loopDestroy","grabCursor","setGrabCursor","moving","simulateTouch","isLocked","cursor","unsetGrabCursor","platform","ua","device","screenWidth","screenHeight","android","ipad","ipod","iphone","ie","edge","firefox","windows","electron","macos","manipulation","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","Device","ios","androidChrome","desktop","cordova","phonegap","toLowerCase","os","osVersion","webView","standalone","matchMedia","webview","pixelRatio","devicePixelRatio","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","type","which","button","isTouched","isMoved","noSwiping","noSwipingSelector","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","threshold","allowThresholdMove","preventDefault","formElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","onTouchMove","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","atan2","PI","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","velocities","position","time","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","longSwipesMs","stopIndex","groupSize","ratio","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","breakpoints","setBreakpoint","newTranslate","min","autoplay","running","paused","run","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","defaults","init","uniqueNavElements","preloadImages","updateOnImagesReady","noSwipingClass","passiveListeners","containerModifierClass","slideClass","slideBlankClass","wrapperClass","prototypes","attachEvents","touchEvents","start","move","end","passive","cancel","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","paramValue","breakpointParams","originalParams","wasMultiRow","isMultiRow","directionChanged","needsReLoop","changeDirection","points","point","sort","b","innerWidth","wasLocked","addClasses","classNames","suffixes","suffix","removeClasses","images","loadImage","imageEl","src","srcset","sizes","checkForComplete","image","onReady","complete","onload","onerror","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","prototypeGroup","protoMethod","moduleParamName","swiperParams","passedParams","swipers","containerEl","newParams","shadowRoot","options","touchEventsTouch","touchEventsDesktop","clickTimeout","__proto__","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","slideEl","destroy","deleteInstance","cleanStyles","extendDefaults","newDefaults","Device$1","Support$1","support","Browser","isEdge","isSafari","isUiWebView","test","Browser$1","browser","Resize","resize","resizeHandler","orientationChangeHandler","Observer","func","MutationObserver","WebkitMutationObserver","attach","ObserverFunc","mutations","observerUpdate","requestAnimationFrame","observe","attributes","childList","characterData","observers","observeParents","containerParents","observeSlideChildren","disconnect","Observer$1","Virtual","force","ref","ref$1","addSlidesBefore","addSlidesAfter","ref$2","previousFrom","from","previousTo","previousSlidesGrid","renderSlide","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","load","renderExternal","slidesToRender","prependIndexes","appendIndexes","cache","$slideEl","numberOfNewSlides","newCache","cachedIndex","$cachedEl","cachedElIndex","Virtual$1","beforeInit","overwriteParams","Keyboard","handle","kc","keyCode","charCode","shiftKey","altKey","ctrlKey","metaKey","keyboard","onlyInViewport","inView","windowWidth","windowHeight","innerHeight","swiperOffset","swiperCoord","returnValue","enable","disable","Keyboard$1","Mousewheel","lastScrollTime","isSupported","element","implementation","hasFeature","isEventSupported","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","handleMouseEnter","mouseEntered","handleMouseLeave","mousewheel","releaseOnEdges","delta","rtlFactor","forceToAxis","invert","sensitivity","timeout","autoplayDisableOnInteraction","stop","getTime","eventsTarged","Navigation","$nextEl","$prevEl","disabledClass","lockClass","onPrevClick","onNextClick","Pagination","pagination","current","total","paginationType","bullets","firstIndex","lastIndex","midIndex","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bullet","$bullet","bulletIndex","bulletActiveClass","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","formatFractionCurrent","formatFractionTotal","progressbarDirection","progressbarOpposite","scale","scaleX","scaleY","renderCustom","render","paginationHTML","numberOfBullets","renderBullet","bulletClass","renderFraction","currentClass","totalClass","renderProgressbar","progressbarFillClass","clickable","clickableClass","modifierClass","progressbarOppositeClass","hiddenClass","Scrollbar","scrollbar","dragSize","trackSize","$dragEl","newSize","newPos","hide","opacity","divider","moveDivider","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","dragStartPos","onDragStart","dragTimeout","onDragMove","onDragEnd","snapOnRelease","enableDraggable","activeListener","disableDraggable","$swiperEl","dragEl","draggable","Parallax","setTransform","p","currentOpacity","currentScale","parallax","parallaxEl","$parallaxEl","parallaxDuration","Zoom","getDistanceBetweenTouches","x1","y1","x2","y2","onGestureStart","zoom","gesture","fakeGestureTouched","fakeGestureMoved","scaleStart","$imageEl","$imageWrapEl","maxRatio","isScaling","onGestureChange","scaleMove","minRatio","onGestureEnd","changedTouches","touchesStart","slideWidth","slideHeight","scaledWidth","scaledHeight","minX","maxX","minY","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","onTransitionEnd","out","in","touchX","touchY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","activeListenerWithCapture","Lazy","loadInSlide","loadInDuplicate","$images","elementClass","loadedClass","loadingClass","imageIndex","background","slideOriginalIndex","originalSlide","duplicatedSlide","slideExist","initialImageLoaded","elIndex","loadPrevNext","loadPrevNextAmount","amount","maxIndex","minIndex","Controller","LinearSpline","guess","i1","i3","binarySearch","array","interpolate","getInterpolateFunction","c","controller","spline","setTranslate$1","controlledTranslate","controlled","control","setControlledTranslate","by","inverse","setControlledTransition","a11y","makeElFocusable","addElRole","role","addElLabel","label","disableEl","enableEl","onEnterKey","notify","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","click","message","notification","liveRegion","updateNavigation","updatePagination","bulletEl","$bulletEl","paginationBulletMessage","History","pushState","hashNavigation","paths","getPathValues","scrollToSlide","replaceState","setHistoryPopState","pathArray","pathname","part","setHistory","slugify","includes","currentState","state","HashNavigation","onHashCange","newHash","setHash","watchState","Autoplay","$activeSlideEl","reverseDirection","stopOnLastSlide","pause","waitForTransition","Fade","tx","ty","slideOpacity","fadeEffect","crossFade","eventTriggered","triggerEvents","Cube","$cubeShadowEl","swiperWidth","swiperHeight","cubeEffect","wrapperRotate","shadow","slideAngle","round","tz","slideShadows","shadowBefore","shadowAfter","-webkit-transform-origin","-moz-transform-origin","-ms-transform-origin","transform-origin","shadowOffset","shadowAngle","sin","cos","scale1","shadowScale","scale2","zFactor","Flip","flipEffect","limitRotation","rotateY","rotateX","zIndex","Coverflow","coverflowEffect","center","rotate","depth","offsetMultiplier","modifier","translateZ","stretch","slideTransform","$shadowBeforeEl","$shadowAfterEl","prefixedPointerEvents","perspectiveOrigin","Thumbs","thumbsParams","thumbs","swiperCreated","thumbsContainerClass","onThumbClick","thumbsSwiper","slideThumbActiveClass","currentIndex","initial","newThumbsIndex","currentThumbsIndex","prevThumbsIndex","nextThumbsIndex","thumbsToActivate","thumbActiveClass","hideOnClick","toEdge","fromEdge","isHidden","bulletElement","number","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","dragClass","containerClass","zoomedSlideClass","touchStart","touchEnd","doubleTap","slideChange","loadOnTransitionStart","preloaderClass","scroll","scrollbarDragMove","notificationClass","paginationUpdate","disableOnInteraction","onVisibilityChange","visibilityState","beforeTransitionStart","sliderFirstMove","beforeDestroy"],"mappings":"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","file":"swiper.min.js"}
 
assets/vendor/swiper/swiper-bundle.js ADDED
@@ -0,0 +1,9379 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Swiper 6.3.2
3
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
4
+ * http://swiperjs.com
5
+ *
6
+ * Copyright 2014-2020 Vladimir Kharlampidi
7
+ *
8
+ * Released under the MIT License
9
+ *
10
+ * Released on: September 28, 2020
11
+ */
12
+
13
+ (function (global, factory) {
14
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
15
+ typeof define === 'function' && define.amd ? define(factory) :
16
+ (global = global || self, global.Swiper = factory());
17
+ }(this, (function () { 'use strict';
18
+
19
+ function _defineProperties(target, props) {
20
+ for (var i = 0; i < props.length; i++) {
21
+ var descriptor = props[i];
22
+ descriptor.enumerable = descriptor.enumerable || false;
23
+ descriptor.configurable = true;
24
+ if ("value" in descriptor) descriptor.writable = true;
25
+ Object.defineProperty(target, descriptor.key, descriptor);
26
+ }
27
+ }
28
+
29
+ function _createClass(Constructor, protoProps, staticProps) {
30
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
31
+ if (staticProps) _defineProperties(Constructor, staticProps);
32
+ return Constructor;
33
+ }
34
+
35
+ function _extends() {
36
+ _extends = Object.assign || function (target) {
37
+ for (var i = 1; i < arguments.length; i++) {
38
+ var source = arguments[i];
39
+
40
+ for (var key in source) {
41
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
42
+ target[key] = source[key];
43
+ }
44
+ }
45
+ }
46
+
47
+ return target;
48
+ };
49
+
50
+ return _extends.apply(this, arguments);
51
+ }
52
+
53
+ /**
54
+ * SSR Window 3.0.0-alpha.4
55
+ * Better handling for window object in SSR environment
56
+ * https://github.com/nolimits4web/ssr-window
57
+ *
58
+ * Copyright 2020, Vladimir Kharlampidi
59
+ *
60
+ * Licensed under MIT
61
+ *
62
+ * Released on: May 20, 2020
63
+ */
64
+
65
+ /* eslint-disable no-param-reassign */
66
+ function isObject(obj) {
67
+ return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;
68
+ }
69
+
70
+ function extend(target, src) {
71
+ if (target === void 0) {
72
+ target = {};
73
+ }
74
+
75
+ if (src === void 0) {
76
+ src = {};
77
+ }
78
+
79
+ Object.keys(src).forEach(function (key) {
80
+ if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {
81
+ extend(target[key], src[key]);
82
+ }
83
+ });
84
+ }
85
+
86
+ var ssrDocument = {
87
+ body: {},
88
+ addEventListener: function addEventListener() {},
89
+ removeEventListener: function removeEventListener() {},
90
+ activeElement: {
91
+ blur: function blur() {},
92
+ nodeName: ''
93
+ },
94
+ querySelector: function querySelector() {
95
+ return null;
96
+ },
97
+ querySelectorAll: function querySelectorAll() {
98
+ return [];
99
+ },
100
+ getElementById: function getElementById() {
101
+ return null;
102
+ },
103
+ createEvent: function createEvent() {
104
+ return {
105
+ initEvent: function initEvent() {}
106
+ };
107
+ },
108
+ createElement: function createElement() {
109
+ return {
110
+ children: [],
111
+ childNodes: [],
112
+ style: {},
113
+ setAttribute: function setAttribute() {},
114
+ getElementsByTagName: function getElementsByTagName() {
115
+ return [];
116
+ }
117
+ };
118
+ },
119
+ createElementNS: function createElementNS() {
120
+ return {};
121
+ },
122
+ importNode: function importNode() {
123
+ return null;
124
+ },
125
+ location: {
126
+ hash: '',
127
+ host: '',
128
+ hostname: '',
129
+ href: '',
130
+ origin: '',
131
+ pathname: '',
132
+ protocol: '',
133
+ search: ''
134
+ }
135
+ };
136
+
137
+ function getDocument() {
138
+ var doc = typeof document !== 'undefined' ? document : {};
139
+ extend(doc, ssrDocument);
140
+ return doc;
141
+ }
142
+
143
+ var ssrWindow = {
144
+ document: ssrDocument,
145
+ navigator: {
146
+ userAgent: ''
147
+ },
148
+ location: {
149
+ hash: '',
150
+ host: '',
151
+ hostname: '',
152
+ href: '',
153
+ origin: '',
154
+ pathname: '',
155
+ protocol: '',
156
+ search: ''
157
+ },
158
+ history: {
159
+ replaceState: function replaceState() {},
160
+ pushState: function pushState() {},
161
+ go: function go() {},
162
+ back: function back() {}
163
+ },
164
+ CustomEvent: function CustomEvent() {
165
+ return this;
166
+ },
167
+ addEventListener: function addEventListener() {},
168
+ removeEventListener: function removeEventListener() {},
169
+ getComputedStyle: function getComputedStyle() {
170
+ return {
171
+ getPropertyValue: function getPropertyValue() {
172
+ return '';
173
+ }
174
+ };
175
+ },
176
+ Image: function Image() {},
177
+ Date: function Date() {},
178
+ screen: {},
179
+ setTimeout: function setTimeout() {},
180
+ clearTimeout: function clearTimeout() {},
181
+ matchMedia: function matchMedia() {
182
+ return {};
183
+ },
184
+ requestAnimationFrame: function requestAnimationFrame(callback) {
185
+ if (typeof setTimeout === 'undefined') {
186
+ callback();
187
+ return null;
188
+ }
189
+
190
+ return setTimeout(callback, 0);
191
+ },
192
+ cancelAnimationFrame: function cancelAnimationFrame(id) {
193
+ if (typeof setTimeout === 'undefined') {
194
+ return;
195
+ }
196
+
197
+ clearTimeout(id);
198
+ }
199
+ };
200
+
201
+ function getWindow() {
202
+ var win = typeof window !== 'undefined' ? window : {};
203
+ extend(win, ssrWindow);
204
+ return win;
205
+ }
206
+
207
+ /**
208
+ * Dom7 3.0.0-alpha.7
209
+ * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API
210
+ * https://framework7.io/docs/dom7.html
211
+ *
212
+ * Copyright 2020, Vladimir Kharlampidi
213
+ *
214
+ * Licensed under MIT
215
+ *
216
+ * Released on: July 14, 2020
217
+ */
218
+
219
+ function _inheritsLoose(subClass, superClass) {
220
+ subClass.prototype = Object.create(superClass.prototype);
221
+ subClass.prototype.constructor = subClass;
222
+ subClass.__proto__ = superClass;
223
+ }
224
+
225
+ function _getPrototypeOf(o) {
226
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
227
+ return o.__proto__ || Object.getPrototypeOf(o);
228
+ };
229
+ return _getPrototypeOf(o);
230
+ }
231
+
232
+ function _setPrototypeOf(o, p) {
233
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
234
+ o.__proto__ = p;
235
+ return o;
236
+ };
237
+
238
+ return _setPrototypeOf(o, p);
239
+ }
240
+
241
+ function _isNativeReflectConstruct() {
242
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
243
+ if (Reflect.construct.sham) return false;
244
+ if (typeof Proxy === "function") return true;
245
+
246
+ try {
247
+ Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
248
+ return true;
249
+ } catch (e) {
250
+ return false;
251
+ }
252
+ }
253
+
254
+ function _construct(Parent, args, Class) {
255
+ if (_isNativeReflectConstruct()) {
256
+ _construct = Reflect.construct;
257
+ } else {
258
+ _construct = function _construct(Parent, args, Class) {
259
+ var a = [null];
260
+ a.push.apply(a, args);
261
+ var Constructor = Function.bind.apply(Parent, a);
262
+ var instance = new Constructor();
263
+ if (Class) _setPrototypeOf(instance, Class.prototype);
264
+ return instance;
265
+ };
266
+ }
267
+
268
+ return _construct.apply(null, arguments);
269
+ }
270
+
271
+ function _isNativeFunction(fn) {
272
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
273
+ }
274
+
275
+ function _wrapNativeSuper(Class) {
276
+ var _cache = typeof Map === "function" ? new Map() : undefined;
277
+
278
+ _wrapNativeSuper = function _wrapNativeSuper(Class) {
279
+ if (Class === null || !_isNativeFunction(Class)) return Class;
280
+
281
+ if (typeof Class !== "function") {
282
+ throw new TypeError("Super expression must either be null or a function");
283
+ }
284
+
285
+ if (typeof _cache !== "undefined") {
286
+ if (_cache.has(Class)) return _cache.get(Class);
287
+
288
+ _cache.set(Class, Wrapper);
289
+ }
290
+
291
+ function Wrapper() {
292
+ return _construct(Class, arguments, _getPrototypeOf(this).constructor);
293
+ }
294
+
295
+ Wrapper.prototype = Object.create(Class.prototype, {
296
+ constructor: {
297
+ value: Wrapper,
298
+ enumerable: false,
299
+ writable: true,
300
+ configurable: true
301
+ }
302
+ });
303
+ return _setPrototypeOf(Wrapper, Class);
304
+ };
305
+
306
+ return _wrapNativeSuper(Class);
307
+ }
308
+
309
+ function _assertThisInitialized(self) {
310
+ if (self === void 0) {
311
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
312
+ }
313
+
314
+ return self;
315
+ }
316
+ /* eslint-disable no-proto */
317
+
318
+
319
+ function makeReactive(obj) {
320
+ var proto = obj.__proto__;
321
+ Object.defineProperty(obj, '__proto__', {
322
+ get: function get() {
323
+ return proto;
324
+ },
325
+ set: function set(value) {
326
+ proto.__proto__ = value;
327
+ }
328
+ });
329
+ }
330
+
331
+ var Dom7 = /*#__PURE__*/function (_Array) {
332
+ _inheritsLoose(Dom7, _Array);
333
+
334
+ function Dom7(items) {
335
+ var _this;
336
+
337
+ _this = _Array.call.apply(_Array, [this].concat(items)) || this;
338
+ makeReactive(_assertThisInitialized(_this));
339
+ return _this;
340
+ }
341
+
342
+ return Dom7;
343
+ }( /*#__PURE__*/_wrapNativeSuper(Array));
344
+
345
+ function arrayFlat(arr) {
346
+ if (arr === void 0) {
347
+ arr = [];
348
+ }
349
+
350
+ var res = [];
351
+ arr.forEach(function (el) {
352
+ if (Array.isArray(el)) {
353
+ res.push.apply(res, arrayFlat(el));
354
+ } else {
355
+ res.push(el);
356
+ }
357
+ });
358
+ return res;
359
+ }
360
+
361
+ function arrayFilter(arr, callback) {
362
+ return Array.prototype.filter.call(arr, callback);
363
+ }
364
+
365
+ function arrayUnique(arr) {
366
+ var uniqueArray = [];
367
+
368
+ for (var i = 0; i < arr.length; i += 1) {
369
+ if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);
370
+ }
371
+
372
+ return uniqueArray;
373
+ }
374
+
375
+ function qsa(selector, context) {
376
+ if (typeof selector !== 'string') {
377
+ return [selector];
378
+ }
379
+
380
+ var a = [];
381
+ var res = context.querySelectorAll(selector);
382
+
383
+ for (var i = 0; i < res.length; i += 1) {
384
+ a.push(res[i]);
385
+ }
386
+
387
+ return a;
388
+ }
389
+
390
+ function $(selector, context) {
391
+ var window = getWindow();
392
+ var document = getDocument();
393
+ var arr = [];
394
+
395
+ if (!context && selector instanceof Dom7) {
396
+ return selector;
397
+ }
398
+
399
+ if (!selector) {
400
+ return new Dom7(arr);
401
+ }
402
+
403
+ if (typeof selector === 'string') {
404
+ var html = selector.trim();
405
+
406
+ if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {
407
+ var toCreate = 'div';
408
+ if (html.indexOf('<li') === 0) toCreate = 'ul';
409
+ if (html.indexOf('<tr') === 0) toCreate = 'tbody';
410
+ if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';
411
+ if (html.indexOf('<tbody') === 0) toCreate = 'table';
412
+ if (html.indexOf('<option') === 0) toCreate = 'select';
413
+ var tempParent = document.createElement(toCreate);
414
+ tempParent.innerHTML = html;
415
+
416
+ for (var i = 0; i < tempParent.childNodes.length; i += 1) {
417
+ arr.push(tempParent.childNodes[i]);
418
+ }
419
+ } else {
420
+ arr = qsa(selector.trim(), context || document);
421
+ } // arr = qsa(selector, document);
422
+
423
+ } else if (selector.nodeType || selector === window || selector === document) {
424
+ arr.push(selector);
425
+ } else if (Array.isArray(selector)) {
426
+ if (selector instanceof Dom7) return selector;
427
+ arr = selector;
428
+ }
429
+
430
+ return new Dom7(arrayUnique(arr));
431
+ }
432
+
433
+ $.fn = Dom7.prototype;
434
+
435
+ function addClass() {
436
+ for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) {
437
+ classes[_key] = arguments[_key];
438
+ }
439
+
440
+ var classNames = arrayFlat(classes.map(function (c) {
441
+ return c.split(' ');
442
+ }));
443
+ this.forEach(function (el) {
444
+ var _el$classList;
445
+
446
+ (_el$classList = el.classList).add.apply(_el$classList, classNames);
447
+ });
448
+ return this;
449
+ }
450
+
451
+ function removeClass() {
452
+ for (var _len2 = arguments.length, classes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
453
+ classes[_key2] = arguments[_key2];
454
+ }
455
+
456
+ var classNames = arrayFlat(classes.map(function (c) {
457
+ return c.split(' ');
458
+ }));
459
+ this.forEach(function (el) {
460
+ var _el$classList2;
461
+
462
+ (_el$classList2 = el.classList).remove.apply(_el$classList2, classNames);
463
+ });
464
+ return this;
465
+ }
466
+
467
+ function toggleClass() {
468
+ for (var _len3 = arguments.length, classes = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
469
+ classes[_key3] = arguments[_key3];
470
+ }
471
+
472
+ var classNames = arrayFlat(classes.map(function (c) {
473
+ return c.split(' ');
474
+ }));
475
+ this.forEach(function (el) {
476
+ classNames.forEach(function (className) {
477
+ el.classList.toggle(className);
478
+ });
479
+ });
480
+ }
481
+
482
+ function hasClass() {
483
+ for (var _len4 = arguments.length, classes = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
484
+ classes[_key4] = arguments[_key4];
485
+ }
486
+
487
+ var classNames = arrayFlat(classes.map(function (c) {
488
+ return c.split(' ');
489
+ }));
490
+ return arrayFilter(this, function (el) {
491
+ return classNames.filter(function (className) {
492
+ return el.classList.contains(className);
493
+ }).length > 0;
494
+ }).length > 0;
495
+ }
496
+
497
+ function attr(attrs, value) {
498
+ if (arguments.length === 1 && typeof attrs === 'string') {
499
+ // Get attr
500
+ if (this[0]) return this[0].getAttribute(attrs);
501
+ return undefined;
502
+ } // Set attrs
503
+
504
+
505
+ for (var i = 0; i < this.length; i += 1) {
506
+ if (arguments.length === 2) {
507
+ // String
508
+ this[i].setAttribute(attrs, value);
509
+ } else {
510
+ // Object
511
+ for (var attrName in attrs) {
512
+ this[i][attrName] = attrs[attrName];
513
+ this[i].setAttribute(attrName, attrs[attrName]);
514
+ }
515
+ }
516
+ }
517
+
518
+ return this;
519
+ }
520
+
521
+ function removeAttr(attr) {
522
+ for (var i = 0; i < this.length; i += 1) {
523
+ this[i].removeAttribute(attr);
524
+ }
525
+
526
+ return this;
527
+ }
528
+
529
+ function transform(transform) {
530
+ for (var i = 0; i < this.length; i += 1) {
531
+ this[i].style.transform = transform;
532
+ }
533
+
534
+ return this;
535
+ }
536
+
537
+ function transition(duration) {
538
+ for (var i = 0; i < this.length; i += 1) {
539
+ this[i].style.transition = typeof duration !== 'string' ? duration + "ms" : duration;
540
+ }
541
+
542
+ return this;
543
+ }
544
+
545
+ function on() {
546
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
547
+ args[_key5] = arguments[_key5];
548
+ }
549
+
550
+ var eventType = args[0],
551
+ targetSelector = args[1],
552
+ listener = args[2],
553
+ capture = args[3];
554
+
555
+ if (typeof args[1] === 'function') {
556
+ eventType = args[0];
557
+ listener = args[1];
558
+ capture = args[2];
559
+ targetSelector = undefined;
560
+ }
561
+
562
+ if (!capture) capture = false;
563
+
564
+ function handleLiveEvent(e) {
565
+ var target = e.target;
566
+ if (!target) return;
567
+ var eventData = e.target.dom7EventData || [];
568
+
569
+ if (eventData.indexOf(e) < 0) {
570
+ eventData.unshift(e);
571
+ }
572
+
573
+ if ($(target).is(targetSelector)) listener.apply(target, eventData);else {
574
+ var _parents = $(target).parents(); // eslint-disable-line
575
+
576
+
577
+ for (var k = 0; k < _parents.length; k += 1) {
578
+ if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);
579
+ }
580
+ }
581
+ }
582
+
583
+ function handleEvent(e) {
584
+ var eventData = e && e.target ? e.target.dom7EventData || [] : [];
585
+
586
+ if (eventData.indexOf(e) < 0) {
587
+ eventData.unshift(e);
588
+ }
589
+
590
+ listener.apply(this, eventData);
591
+ }
592
+
593
+ var events = eventType.split(' ');
594
+ var j;
595
+
596
+ for (var i = 0; i < this.length; i += 1) {
597
+ var el = this[i];
598
+
599
+ if (!targetSelector) {
600
+ for (j = 0; j < events.length; j += 1) {
601
+ var event = events[j];
602
+ if (!el.dom7Listeners) el.dom7Listeners = {};
603
+ if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];
604
+ el.dom7Listeners[event].push({
605
+ listener: listener,
606
+ proxyListener: handleEvent
607
+ });
608
+ el.addEventListener(event, handleEvent, capture);
609
+ }
610
+ } else {
611
+ // Live events
612
+ for (j = 0; j < events.length; j += 1) {
613
+ var _event = events[j];
614
+ if (!el.dom7LiveListeners) el.dom7LiveListeners = {};
615
+ if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];
616
+
617
+ el.dom7LiveListeners[_event].push({
618
+ listener: listener,
619
+ proxyListener: handleLiveEvent
620
+ });
621
+
622
+ el.addEventListener(_event, handleLiveEvent, capture);
623
+ }
624
+ }
625
+ }
626
+
627
+ return this;
628
+ }
629
+
630
+ function off() {
631
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
632
+ args[_key6] = arguments[_key6];
633
+ }
634
+
635
+ var eventType = args[0],
636
+ targetSelector = args[1],
637
+ listener = args[2],
638
+ capture = args[3];
639
+
640
+ if (typeof args[1] === 'function') {
641
+ eventType = args[0];
642
+ listener = args[1];
643
+ capture = args[2];
644
+ targetSelector = undefined;
645
+ }
646
+
647
+ if (!capture) capture = false;
648
+ var events = eventType.split(' ');
649
+
650
+ for (var i = 0; i < events.length; i += 1) {
651
+ var event = events[i];
652
+
653
+ for (var j = 0; j < this.length; j += 1) {
654
+ var el = this[j];
655
+ var handlers = void 0;
656
+
657
+ if (!targetSelector && el.dom7Listeners) {
658
+ handlers = el.dom7Listeners[event];
659
+ } else if (targetSelector && el.dom7LiveListeners) {
660
+ handlers = el.dom7LiveListeners[event];
661
+ }
662
+
663
+ if (handlers && handlers.length) {
664
+ for (var k = handlers.length - 1; k >= 0; k -= 1) {
665
+ var handler = handlers[k];
666
+
667
+ if (listener && handler.listener === listener) {
668
+ el.removeEventListener(event, handler.proxyListener, capture);
669
+ handlers.splice(k, 1);
670
+ } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {
671
+ el.removeEventListener(event, handler.proxyListener, capture);
672
+ handlers.splice(k, 1);
673
+ } else if (!listener) {
674
+ el.removeEventListener(event, handler.proxyListener, capture);
675
+ handlers.splice(k, 1);
676
+ }
677
+ }
678
+ }
679
+ }
680
+ }
681
+
682
+ return this;
683
+ }
684
+
685
+ function trigger() {
686
+ var window = getWindow();
687
+
688
+ for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
689
+ args[_key9] = arguments[_key9];
690
+ }
691
+
692
+ var events = args[0].split(' ');
693
+ var eventData = args[1];
694
+
695
+ for (var i = 0; i < events.length; i += 1) {
696
+ var event = events[i];
697
+
698
+ for (var j = 0; j < this.length; j += 1) {
699
+ var el = this[j];
700
+
701
+ if (window.CustomEvent) {
702
+ var evt = new window.CustomEvent(event, {
703
+ detail: eventData,
704
+ bubbles: true,
705
+ cancelable: true
706
+ });
707
+ el.dom7EventData = args.filter(function (data, dataIndex) {
708
+ return dataIndex > 0;
709
+ });
710
+ el.dispatchEvent(evt);
711
+ el.dom7EventData = [];
712
+ delete el.dom7EventData;
713
+ }
714
+ }
715
+ }
716
+
717
+ return this;
718
+ }
719
+
720
+ function transitionEnd(callback) {
721
+ var dom = this;
722
+
723
+ function fireCallBack(e) {
724
+ if (e.target !== this) return;
725
+ callback.call(this, e);
726
+ dom.off('transitionend', fireCallBack);
727
+ }
728
+
729
+ if (callback) {
730
+ dom.on('transitionend', fireCallBack);
731
+ }
732
+
733
+ return this;
734
+ }
735
+
736
+ function outerWidth(includeMargins) {
737
+ if (this.length > 0) {
738
+ if (includeMargins) {
739
+ var _styles = this.styles();
740
+
741
+ return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));
742
+ }
743
+
744
+ return this[0].offsetWidth;
745
+ }
746
+
747
+ return null;
748
+ }
749
+
750
+ function outerHeight(includeMargins) {
751
+ if (this.length > 0) {
752
+ if (includeMargins) {
753
+ var _styles2 = this.styles();
754
+
755
+ return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));
756
+ }
757
+
758
+ return this[0].offsetHeight;
759
+ }
760
+
761
+ return null;
762
+ }
763
+
764
+ function offset() {
765
+ if (this.length > 0) {
766
+ var window = getWindow();
767
+ var document = getDocument();
768
+ var el = this[0];
769
+ var box = el.getBoundingClientRect();
770
+ var body = document.body;
771
+ var clientTop = el.clientTop || body.clientTop || 0;
772
+ var clientLeft = el.clientLeft || body.clientLeft || 0;
773
+ var scrollTop = el === window ? window.scrollY : el.scrollTop;
774
+ var scrollLeft = el === window ? window.scrollX : el.scrollLeft;
775
+ return {
776
+ top: box.top + scrollTop - clientTop,
777
+ left: box.left + scrollLeft - clientLeft
778
+ };
779
+ }
780
+
781
+ return null;
782
+ }
783
+
784
+ function styles() {
785
+ var window = getWindow();
786
+ if (this[0]) return window.getComputedStyle(this[0], null);
787
+ return {};
788
+ }
789
+
790
+ function css(props, value) {
791
+ var window = getWindow();
792
+ var i;
793
+
794
+ if (arguments.length === 1) {
795
+ if (typeof props === 'string') {
796
+ // .css('width')
797
+ if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);
798
+ } else {
799
+ // .css({ width: '100px' })
800
+ for (i = 0; i < this.length; i += 1) {
801
+ for (var _prop in props) {
802
+ this[i].style[_prop] = props[_prop];
803
+ }
804
+ }
805
+
806
+ return this;
807
+ }
808
+ }
809
+
810
+ if (arguments.length === 2 && typeof props === 'string') {
811
+ // .css('width', '100px')
812
+ for (i = 0; i < this.length; i += 1) {
813
+ this[i].style[props] = value;
814
+ }
815
+
816
+ return this;
817
+ }
818
+
819
+ return this;
820
+ }
821
+
822
+ function each(callback) {
823
+ if (!callback) return this;
824
+ this.forEach(function (el, index) {
825
+ callback.apply(el, [el, index]);
826
+ });
827
+ return this;
828
+ }
829
+
830
+ function filter(callback) {
831
+ var result = arrayFilter(this, callback);
832
+ return $(result);
833
+ }
834
+
835
+ function html(html) {
836
+ if (typeof html === 'undefined') {
837
+ return this[0] ? this[0].innerHTML : null;
838
+ }
839
+
840
+ for (var i = 0; i < this.length; i += 1) {
841
+ this[i].innerHTML = html;
842
+ }
843
+
844
+ return this;
845
+ }
846
+
847
+ function text(text) {
848
+ if (typeof text === 'undefined') {
849
+ return this[0] ? this[0].textContent.trim() : null;
850
+ }
851
+
852
+ for (var i = 0; i < this.length; i += 1) {
853
+ this[i].textContent = text;
854
+ }
855
+
856
+ return this;
857
+ }
858
+
859
+ function is(selector) {
860
+ var window = getWindow();
861
+ var document = getDocument();
862
+ var el = this[0];
863
+ var compareWith;
864
+ var i;
865
+ if (!el || typeof selector === 'undefined') return false;
866
+
867
+ if (typeof selector === 'string') {
868
+ if (el.matches) return el.matches(selector);
869
+ if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);
870
+ if (el.msMatchesSelector) return el.msMatchesSelector(selector);
871
+ compareWith = $(selector);
872
+
873
+ for (i = 0; i < compareWith.length; i += 1) {
874
+ if (compareWith[i] === el) return true;
875
+ }
876
+
877
+ return false;
878
+ }
879
+
880
+ if (selector === document) {
881
+ return el === document;
882
+ }
883
+
884
+ if (selector === window) {
885
+ return el === window;
886
+ }
887
+
888
+ if (selector.nodeType || selector instanceof Dom7) {
889
+ compareWith = selector.nodeType ? [selector] : selector;
890
+
891
+ for (i = 0; i < compareWith.length; i += 1) {
892
+ if (compareWith[i] === el) return true;
893
+ }
894
+
895
+ return false;
896
+ }
897
+
898
+ return false;
899
+ }
900
+
901
+ function index() {
902
+ var child = this[0];
903
+ var i;
904
+
905
+ if (child) {
906
+ i = 0; // eslint-disable-next-line
907
+
908
+ while ((child = child.previousSibling) !== null) {
909
+ if (child.nodeType === 1) i += 1;
910
+ }
911
+
912
+ return i;
913
+ }
914
+
915
+ return undefined;
916
+ }
917
+
918
+ function eq(index) {
919
+ if (typeof index === 'undefined') return this;
920
+ var length = this.length;
921
+
922
+ if (index > length - 1) {
923
+ return $([]);
924
+ }
925
+
926
+ if (index < 0) {
927
+ var returnIndex = length + index;
928
+ if (returnIndex < 0) return $([]);
929
+ return $([this[returnIndex]]);
930
+ }
931
+
932
+ return $([this[index]]);
933
+ }
934
+
935
+ function append() {
936
+ var newChild;
937
+ var document = getDocument();
938
+
939
+ for (var k = 0; k < arguments.length; k += 1) {
940
+ newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];
941
+
942
+ for (var i = 0; i < this.length; i += 1) {
943
+ if (typeof newChild === 'string') {
944
+ var tempDiv = document.createElement('div');
945
+ tempDiv.innerHTML = newChild;
946
+
947
+ while (tempDiv.firstChild) {
948
+ this[i].appendChild(tempDiv.firstChild);
949
+ }
950
+ } else if (newChild instanceof Dom7) {
951
+ for (var j = 0; j < newChild.length; j += 1) {
952
+ this[i].appendChild(newChild[j]);
953
+ }
954
+ } else {
955
+ this[i].appendChild(newChild);
956
+ }
957
+ }
958
+ }
959
+
960
+ return this;
961
+ }
962
+
963
+ function prepend(newChild) {
964
+ var document = getDocument();
965
+ var i;
966
+ var j;
967
+
968
+ for (i = 0; i < this.length; i += 1) {
969
+ if (typeof newChild === 'string') {
970
+ var tempDiv = document.createElement('div');
971
+ tempDiv.innerHTML = newChild;
972
+
973
+ for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {
974
+ this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);
975
+ }
976
+ } else if (newChild instanceof Dom7) {
977
+ for (j = 0; j < newChild.length; j += 1) {
978
+ this[i].insertBefore(newChild[j], this[i].childNodes[0]);
979
+ }
980
+ } else {
981
+ this[i].insertBefore(newChild, this[i].childNodes[0]);
982
+ }
983
+ }
984
+
985
+ return this;
986
+ }
987
+
988
+ function next(selector) {
989
+ if (this.length > 0) {
990
+ if (selector) {
991
+ if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {
992
+ return $([this[0].nextElementSibling]);
993
+ }
994
+
995
+ return $([]);
996
+ }
997
+
998
+ if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);
999
+ return $([]);
1000
+ }
1001
+
1002
+ return $([]);
1003
+ }
1004
+
1005
+ function nextAll(selector) {
1006
+ var nextEls = [];
1007
+ var el = this[0];
1008
+ if (!el) return $([]);
1009
+
1010
+ while (el.nextElementSibling) {
1011
+ var _next = el.nextElementSibling; // eslint-disable-line
1012
+
1013
+ if (selector) {
1014
+ if ($(_next).is(selector)) nextEls.push(_next);
1015
+ } else nextEls.push(_next);
1016
+
1017
+ el = _next;
1018
+ }
1019
+
1020
+ return $(nextEls);
1021
+ }
1022
+
1023
+ function prev(selector) {
1024
+ if (this.length > 0) {
1025
+ var el = this[0];
1026
+
1027
+ if (selector) {
1028
+ if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {
1029
+ return $([el.previousElementSibling]);
1030
+ }
1031
+
1032
+ return $([]);
1033
+ }
1034
+
1035
+ if (el.previousElementSibling) return $([el.previousElementSibling]);
1036
+ return $([]);
1037
+ }
1038
+
1039
+ return $([]);
1040
+ }
1041
+
1042
+ function prevAll(selector) {
1043
+ var prevEls = [];
1044
+ var el = this[0];
1045
+ if (!el) return $([]);
1046
+
1047
+ while (el.previousElementSibling) {
1048
+ var _prev = el.previousElementSibling; // eslint-disable-line
1049
+
1050
+ if (selector) {
1051
+ if ($(_prev).is(selector)) prevEls.push(_prev);
1052
+ } else prevEls.push(_prev);
1053
+
1054
+ el = _prev;
1055
+ }
1056
+
1057
+ return $(prevEls);
1058
+ }
1059
+
1060
+ function parent(selector) {
1061
+ var parents = []; // eslint-disable-line
1062
+
1063
+ for (var i = 0; i < this.length; i += 1) {
1064
+ if (this[i].parentNode !== null) {
1065
+ if (selector) {
1066
+ if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);
1067
+ } else {
1068
+ parents.push(this[i].parentNode);
1069
+ }
1070
+ }
1071
+ }
1072
+
1073
+ return $(parents);
1074
+ }
1075
+
1076
+ function parents(selector) {
1077
+ var parents = []; // eslint-disable-line
1078
+
1079
+ for (var i = 0; i < this.length; i += 1) {
1080
+ var _parent = this[i].parentNode; // eslint-disable-line
1081
+
1082
+ while (_parent) {
1083
+ if (selector) {
1084
+ if ($(_parent).is(selector)) parents.push(_parent);
1085
+ } else {
1086
+ parents.push(_parent);
1087
+ }
1088
+
1089
+ _parent = _parent.parentNode;
1090
+ }
1091
+ }
1092
+
1093
+ return $(parents);
1094
+ }
1095
+
1096
+ function closest(selector) {
1097
+ var closest = this; // eslint-disable-line
1098
+
1099
+ if (typeof selector === 'undefined') {
1100
+ return $([]);
1101
+ }
1102
+
1103
+ if (!closest.is(selector)) {
1104
+ closest = closest.parents(selector).eq(0);
1105
+ }
1106
+
1107
+ return closest;
1108
+ }
1109
+
1110
+ function find(selector) {
1111
+ var foundElements = [];
1112
+
1113
+ for (var i = 0; i < this.length; i += 1) {
1114
+ var found = this[i].querySelectorAll(selector);
1115
+
1116
+ for (var j = 0; j < found.length; j += 1) {
1117
+ foundElements.push(found[j]);
1118
+ }
1119
+ }
1120
+
1121
+ return $(foundElements);
1122
+ }
1123
+
1124
+ function children(selector) {
1125
+ var children = []; // eslint-disable-line
1126
+
1127
+ for (var i = 0; i < this.length; i += 1) {
1128
+ var childNodes = this[i].children;
1129
+
1130
+ for (var j = 0; j < childNodes.length; j += 1) {
1131
+ if (!selector || $(childNodes[j]).is(selector)) {
1132
+ children.push(childNodes[j]);
1133
+ }
1134
+ }
1135
+ }
1136
+
1137
+ return $(children);
1138
+ }
1139
+
1140
+ function remove() {
1141
+ for (var i = 0; i < this.length; i += 1) {
1142
+ if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);
1143
+ }
1144
+
1145
+ return this;
1146
+ }
1147
+
1148
+ var Methods = {
1149
+ addClass: addClass,
1150
+ removeClass: removeClass,
1151
+ hasClass: hasClass,
1152
+ toggleClass: toggleClass,
1153
+ attr: attr,
1154
+ removeAttr: removeAttr,
1155
+ transform: transform,
1156
+ transition: transition,
1157
+ on: on,
1158
+ off: off,
1159
+ trigger: trigger,
1160
+ transitionEnd: transitionEnd,
1161
+ outerWidth: outerWidth,
1162
+ outerHeight: outerHeight,
1163
+ styles: styles,
1164
+ offset: offset,
1165
+ css: css,
1166
+ each: each,
1167
+ html: html,
1168
+ text: text,
1169
+ is: is,
1170
+ index: index,
1171
+ eq: eq,
1172
+ append: append,
1173
+ prepend: prepend,
1174
+ next: next,
1175
+ nextAll: nextAll,
1176
+ prev: prev,
1177
+ prevAll: prevAll,
1178
+ parent: parent,
1179
+ parents: parents,
1180
+ closest: closest,
1181
+ find: find,
1182
+ children: children,
1183
+ filter: filter,
1184
+ remove: remove
1185
+ };
1186
+ Object.keys(Methods).forEach(function (methodName) {
1187
+ $.fn[methodName] = Methods[methodName];
1188
+ });
1189
+
1190
+ function deleteProps(obj) {
1191
+ var object = obj;
1192
+ Object.keys(object).forEach(function (key) {
1193
+ try {
1194
+ object[key] = null;
1195
+ } catch (e) {// no getter for object
1196
+ }
1197
+
1198
+ try {
1199
+ delete object[key];
1200
+ } catch (e) {// something got wrong
1201
+ }
1202
+ });
1203
+ }
1204
+
1205
+ function nextTick(callback, delay) {
1206
+ if (delay === void 0) {
1207
+ delay = 0;
1208
+ }
1209
+
1210
+ return setTimeout(callback, delay);
1211
+ }
1212
+
1213
+ function now() {
1214
+ return Date.now();
1215
+ }
1216
+
1217
+ function getTranslate(el, axis) {
1218
+ if (axis === void 0) {
1219
+ axis = 'x';
1220
+ }
1221
+
1222
+ var window = getWindow();
1223
+ var matrix;
1224
+ var curTransform;
1225
+ var transformMatrix;
1226
+ var curStyle = window.getComputedStyle(el, null);
1227
+
1228
+ if (window.WebKitCSSMatrix) {
1229
+ curTransform = curStyle.transform || curStyle.webkitTransform;
1230
+
1231
+ if (curTransform.split(',').length > 6) {
1232
+ curTransform = curTransform.split(', ').map(function (a) {
1233
+ return a.replace(',', '.');
1234
+ }).join(', ');
1235
+ } // Some old versions of Webkit choke when 'none' is passed; pass
1236
+ // empty string instead in this case
1237
+
1238
+
1239
+ transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);
1240
+ } else {
1241
+ transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
1242
+ matrix = transformMatrix.toString().split(',');
1243
+ }
1244
+
1245
+ if (axis === 'x') {
1246
+ // Latest Chrome and webkits Fix
1247
+ if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix
1248
+ else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers
1249
+ else curTransform = parseFloat(matrix[4]);
1250
+ }
1251
+
1252
+ if (axis === 'y') {
1253
+ // Latest Chrome and webkits Fix
1254
+ if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix
1255
+ else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers
1256
+ else curTransform = parseFloat(matrix[5]);
1257
+ }
1258
+
1259
+ return curTransform || 0;
1260
+ }
1261
+
1262
+ function isObject$1(o) {
1263
+ return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;
1264
+ }
1265
+
1266
+ function extend$1() {
1267
+ var to = Object(arguments.length <= 0 ? undefined : arguments[0]);
1268
+
1269
+ for (var i = 1; i < arguments.length; i += 1) {
1270
+ var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];
1271
+
1272
+ if (nextSource !== undefined && nextSource !== null) {
1273
+ var keysArray = Object.keys(Object(nextSource));
1274
+
1275
+ for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
1276
+ var nextKey = keysArray[nextIndex];
1277
+ var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
1278
+
1279
+ if (desc !== undefined && desc.enumerable) {
1280
+ if (isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) {
1281
+ extend$1(to[nextKey], nextSource[nextKey]);
1282
+ } else if (!isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) {
1283
+ to[nextKey] = {};
1284
+ extend$1(to[nextKey], nextSource[nextKey]);
1285
+ } else {
1286
+ to[nextKey] = nextSource[nextKey];
1287
+ }
1288
+ }
1289
+ }
1290
+ }
1291
+ }
1292
+
1293
+ return to;
1294
+ }
1295
+
1296
+ function bindModuleMethods(instance, obj) {
1297
+ Object.keys(obj).forEach(function (key) {
1298
+ if (isObject$1(obj[key])) {
1299
+ Object.keys(obj[key]).forEach(function (subKey) {
1300
+ if (typeof obj[key][subKey] === 'function') {
1301
+ obj[key][subKey] = obj[key][subKey].bind(instance);
1302
+ }
1303
+ });
1304
+ }
1305
+
1306
+ instance[key] = obj[key];
1307
+ });
1308
+ }
1309
+
1310
+ var support;
1311
+
1312
+ function calcSupport() {
1313
+ var window = getWindow();
1314
+ var document = getDocument();
1315
+ return {
1316
+ touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),
1317
+ pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,
1318
+ observer: function checkObserver() {
1319
+ return 'MutationObserver' in window || 'WebkitMutationObserver' in window;
1320
+ }(),
1321
+ passiveListener: function checkPassiveListener() {
1322
+ var supportsPassive = false;
1323
+
1324
+ try {
1325
+ var opts = Object.defineProperty({}, 'passive', {
1326
+ // eslint-disable-next-line
1327
+ get: function get() {
1328
+ supportsPassive = true;
1329
+ }
1330
+ });
1331
+ window.addEventListener('testPassiveListener', null, opts);
1332
+ } catch (e) {// No support
1333
+ }
1334
+
1335
+ return supportsPassive;
1336
+ }(),
1337
+ gestures: function checkGestures() {
1338
+ return 'ongesturestart' in window;
1339
+ }()
1340
+ };
1341
+ }
1342
+
1343
+ function getSupport() {
1344
+ if (!support) {
1345
+ support = calcSupport();
1346
+ }
1347
+
1348
+ return support;
1349
+ }
1350
+
1351
+ var device;
1352
+
1353
+ function calcDevice(_temp) {
1354
+ var _ref = _temp === void 0 ? {} : _temp,
1355
+ userAgent = _ref.userAgent;
1356
+
1357
+ var support = getSupport();
1358
+ var window = getWindow();
1359
+ var platform = window.navigator.platform;
1360
+ var ua = userAgent || window.navigator.userAgent;
1361
+ var device = {
1362
+ ios: false,
1363
+ android: false
1364
+ };
1365
+ var screenWidth = window.screen.width;
1366
+ var screenHeight = window.screen.height;
1367
+ var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
1368
+
1369
+ var ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
1370
+ var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
1371
+ var iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
1372
+ var windows = platform === 'Win32';
1373
+ var macos = platform === 'MacIntel'; // iPadOs 13 fix
1374
+
1375
+ var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768'];
1376
+
1377
+ if (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + "x" + screenHeight) >= 0) {
1378
+ ipad = ua.match(/(Version)\/([\d.]+)/);
1379
+ if (!ipad) ipad = [0, 1, '13_0_0'];
1380
+ macos = false;
1381
+ } // Android
1382
+
1383
+
1384
+ if (android && !windows) {
1385
+ device.os = 'android';
1386
+ device.android = true;
1387
+ }
1388
+
1389
+ if (ipad || iphone || ipod) {
1390
+ device.os = 'ios';
1391
+ device.ios = true;
1392
+ } // Export object
1393
+
1394
+
1395
+ return device;
1396
+ }
1397
+
1398
+ function getDevice(overrides) {
1399
+ if (overrides === void 0) {
1400
+ overrides = {};
1401
+ }
1402
+
1403
+ if (!device) {
1404
+ device = calcDevice(overrides);
1405
+ }
1406
+
1407
+ return device;
1408
+ }
1409
+
1410
+ var browser;
1411
+
1412
+ function calcBrowser() {
1413
+ var window = getWindow();
1414
+
1415
+ function isSafari() {
1416
+ var ua = window.navigator.userAgent.toLowerCase();
1417
+ return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;
1418
+ }
1419
+
1420
+ return {
1421
+ isEdge: !!window.navigator.userAgent.match(/Edge/g),
1422
+ isSafari: isSafari(),
1423
+ isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)
1424
+ };
1425
+ }
1426
+
1427
+ function getBrowser() {
1428
+ if (!browser) {
1429
+ browser = calcBrowser();
1430
+ }
1431
+
1432
+ return browser;
1433
+ }
1434
+
1435
+ var Resize = {
1436
+ name: 'resize',
1437
+ create: function create() {
1438
+ var swiper = this;
1439
+ extend$1(swiper, {
1440
+ resize: {
1441
+ resizeHandler: function resizeHandler() {
1442
+ if (!swiper || swiper.destroyed || !swiper.initialized) return;
1443
+ swiper.emit('beforeResize');
1444
+ swiper.emit('resize');
1445
+ },
1446
+ orientationChangeHandler: function orientationChangeHandler() {
1447
+ if (!swiper || swiper.destroyed || !swiper.initialized) return;
1448
+ swiper.emit('orientationchange');
1449
+ }
1450
+ }
1451
+ });
1452
+ },
1453
+ on: {
1454
+ init: function init(swiper) {
1455
+ var window = getWindow(); // Emit resize
1456
+
1457
+ window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange
1458
+
1459
+ window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);
1460
+ },
1461
+ destroy: function destroy(swiper) {
1462
+ var window = getWindow();
1463
+ window.removeEventListener('resize', swiper.resize.resizeHandler);
1464
+ window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);
1465
+ }
1466
+ }
1467
+ };
1468
+
1469
+ var Observer = {
1470
+ attach: function attach(target, options) {
1471
+ if (options === void 0) {
1472
+ options = {};
1473
+ }
1474
+
1475
+ var window = getWindow();
1476
+ var swiper = this;
1477
+ var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
1478
+ var observer = new ObserverFunc(function (mutations) {
1479
+ // The observerUpdate event should only be triggered
1480
+ // once despite the number of mutations. Additional
1481
+ // triggers are redundant and are very costly
1482
+ if (mutations.length === 1) {
1483
+ swiper.emit('observerUpdate', mutations[0]);
1484
+ return;
1485
+ }
1486
+
1487
+ var observerUpdate = function observerUpdate() {
1488
+ swiper.emit('observerUpdate', mutations[0]);
1489
+ };
1490
+
1491
+ if (window.requestAnimationFrame) {
1492
+ window.requestAnimationFrame(observerUpdate);
1493
+ } else {
1494
+ window.setTimeout(observerUpdate, 0);
1495
+ }
1496
+ });
1497
+ observer.observe(target, {
1498
+ attributes: typeof options.attributes === 'undefined' ? true : options.attributes,
1499
+ childList: typeof options.childList === 'undefined' ? true : options.childList,
1500
+ characterData: typeof options.characterData === 'undefined' ? true : options.characterData
1501
+ });
1502
+ swiper.observer.observers.push(observer);
1503
+ },
1504
+ init: function init() {
1505
+ var swiper = this;
1506
+ if (!swiper.support.observer || !swiper.params.observer) return;
1507
+
1508
+ if (swiper.params.observeParents) {
1509
+ var containerParents = swiper.$el.parents();
1510
+
1511
+ for (var i = 0; i < containerParents.length; i += 1) {
1512
+ swiper.observer.attach(containerParents[i]);
1513
+ }
1514
+ } // Observe container
1515
+
1516
+
1517
+ swiper.observer.attach(swiper.$el[0], {
1518
+ childList: swiper.params.observeSlideChildren
1519
+ }); // Observe wrapper
1520
+
1521
+ swiper.observer.attach(swiper.$wrapperEl[0], {
1522
+ attributes: false
1523
+ });
1524
+ },
1525
+ destroy: function destroy() {
1526
+ var swiper = this;
1527
+ swiper.observer.observers.forEach(function (observer) {
1528
+ observer.disconnect();
1529
+ });
1530
+ swiper.observer.observers = [];
1531
+ }
1532
+ };
1533
+ var Observer$1 = {
1534
+ name: 'observer',
1535
+ params: {
1536
+ observer: false,
1537
+ observeParents: false,
1538
+ observeSlideChildren: false
1539
+ },
1540
+ create: function create() {
1541
+ var swiper = this;
1542
+ bindModuleMethods(swiper, {
1543
+ observer: _extends(_extends({}, Observer), {}, {
1544
+ observers: []
1545
+ })
1546
+ });
1547
+ },
1548
+ on: {
1549
+ init: function init(swiper) {
1550
+ swiper.observer.init();
1551
+ },
1552
+ destroy: function destroy(swiper) {
1553
+ swiper.observer.destroy();
1554
+ }
1555
+ }
1556
+ };
1557
+
1558
+ var modular = {
1559
+ useParams: function useParams(instanceParams) {
1560
+ var instance = this;
1561
+ if (!instance.modules) return;
1562
+ Object.keys(instance.modules).forEach(function (moduleName) {
1563
+ var module = instance.modules[moduleName]; // Extend params
1564
+
1565
+ if (module.params) {
1566
+ extend$1(instanceParams, module.params);
1567
+ }
1568
+ });
1569
+ },
1570
+ useModules: function useModules(modulesParams) {
1571
+ if (modulesParams === void 0) {
1572
+ modulesParams = {};
1573
+ }
1574
+
1575
+ var instance = this;
1576
+ if (!instance.modules) return;
1577
+ Object.keys(instance.modules).forEach(function (moduleName) {
1578
+ var module = instance.modules[moduleName];
1579
+ var moduleParams = modulesParams[moduleName] || {}; // Add event listeners
1580
+
1581
+ if (module.on && instance.on) {
1582
+ Object.keys(module.on).forEach(function (moduleEventName) {
1583
+ instance.on(moduleEventName, module.on[moduleEventName]);
1584
+ });
1585
+ } // Module create callback
1586
+
1587
+
1588
+ if (module.create) {
1589
+ module.create.bind(instance)(moduleParams);
1590
+ }
1591
+ });
1592
+ }
1593
+ };
1594
+
1595
+ /* eslint-disable no-underscore-dangle */
1596
+ var eventsEmitter = {
1597
+ on: function on(events, handler, priority) {
1598
+ var self = this;
1599
+ if (typeof handler !== 'function') return self;
1600
+ var method = priority ? 'unshift' : 'push';
1601
+ events.split(' ').forEach(function (event) {
1602
+ if (!self.eventsListeners[event]) self.eventsListeners[event] = [];
1603
+ self.eventsListeners[event][method](handler);
1604
+ });
1605
+ return self;
1606
+ },
1607
+ once: function once(events, handler, priority) {
1608
+ var self = this;
1609
+ if (typeof handler !== 'function') return self;
1610
+
1611
+ function onceHandler() {
1612
+ self.off(events, onceHandler);
1613
+
1614
+ if (onceHandler.__emitterProxy) {
1615
+ delete onceHandler.__emitterProxy;
1616
+ }
1617
+
1618
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1619
+ args[_key] = arguments[_key];
1620
+ }
1621
+
1622
+ handler.apply(self, args);
1623
+ }
1624
+
1625
+ onceHandler.__emitterProxy = handler;
1626
+ return self.on(events, onceHandler, priority);
1627
+ },
1628
+ onAny: function onAny(handler, priority) {
1629
+ var self = this;
1630
+ if (typeof handler !== 'function') return self;
1631
+ var method = priority ? 'unshift' : 'push';
1632
+
1633
+ if (self.eventsAnyListeners.indexOf(handler) < 0) {
1634
+ self.eventsAnyListeners[method](handler);
1635
+ }
1636
+
1637
+ return self;
1638
+ },
1639
+ offAny: function offAny(handler) {
1640
+ var self = this;
1641
+ if (!self.eventsAnyListeners) return self;
1642
+ var index = self.eventsAnyListeners.indexOf(handler);
1643
+
1644
+ if (index >= 0) {
1645
+ self.eventsAnyListeners.splice(index, 1);
1646
+ }
1647
+
1648
+ return self;
1649
+ },
1650
+ off: function off(events, handler) {
1651
+ var self = this;
1652
+ if (!self.eventsListeners) return self;
1653
+ events.split(' ').forEach(function (event) {
1654
+ if (typeof handler === 'undefined') {
1655
+ self.eventsListeners[event] = [];
1656
+ } else if (self.eventsListeners[event]) {
1657
+ self.eventsListeners[event].forEach(function (eventHandler, index) {
1658
+ if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {
1659
+ self.eventsListeners[event].splice(index, 1);
1660
+ }
1661
+ });
1662
+ }
1663
+ });
1664
+ return self;
1665
+ },
1666
+ emit: function emit() {
1667
+ var self = this;
1668
+ if (!self.eventsListeners) return self;
1669
+ var events;
1670
+ var data;
1671
+ var context;
1672
+
1673
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1674
+ args[_key2] = arguments[_key2];
1675
+ }
1676
+
1677
+ if (typeof args[0] === 'string' || Array.isArray(args[0])) {
1678
+ events = args[0];
1679
+ data = args.slice(1, args.length);
1680
+ context = self;
1681
+ } else {
1682
+ events = args[0].events;
1683
+ data = args[0].data;
1684
+ context = args[0].context || self;
1685
+ }
1686
+
1687
+ data.unshift(context);
1688
+ var eventsArray = Array.isArray(events) ? events : events.split(' ');
1689
+ eventsArray.forEach(function (event) {
1690
+ if (self.eventsAnyListeners && self.eventsAnyListeners.length) {
1691
+ self.eventsAnyListeners.forEach(function (eventHandler) {
1692
+ eventHandler.apply(context, [event].concat(data));
1693
+ });
1694
+ }
1695
+
1696
+ if (self.eventsListeners && self.eventsListeners[event]) {
1697
+ var handlers = [];
1698
+ self.eventsListeners[event].forEach(function (eventHandler) {
1699
+ handlers.push(eventHandler);
1700
+ });
1701
+ handlers.forEach(function (eventHandler) {
1702
+ eventHandler.apply(context, data);
1703
+ });
1704
+ }
1705
+ });
1706
+ return self;
1707
+ }
1708
+ };
1709
+
1710
+ function updateSize() {
1711
+ var swiper = this;
1712
+ var width;
1713
+ var height;
1714
+ var $el = swiper.$el;
1715
+
1716
+ if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {
1717
+ width = swiper.params.width;
1718
+ } else {
1719
+ width = $el[0].clientWidth;
1720
+ }
1721
+
1722
+ if (typeof swiper.params.height !== 'undefined' && swiper.params.width !== null) {
1723
+ height = swiper.params.height;
1724
+ } else {
1725
+ height = $el[0].clientHeight;
1726
+ }
1727
+
1728
+ if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {
1729
+ return;
1730
+ } // Subtract paddings
1731
+
1732
+
1733
+ width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);
1734
+ height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);
1735
+ if (Number.isNaN(width)) width = 0;
1736
+ if (Number.isNaN(height)) height = 0;
1737
+ extend$1(swiper, {
1738
+ width: width,
1739
+ height: height,
1740
+ size: swiper.isHorizontal() ? width : height
1741
+ });
1742
+ }
1743
+
1744
+ function updateSlides() {
1745
+ var swiper = this;
1746
+ var window = getWindow();
1747
+ var params = swiper.params;
1748
+ var $wrapperEl = swiper.$wrapperEl,
1749
+ swiperSize = swiper.size,
1750
+ rtl = swiper.rtlTranslate,
1751
+ wrongRTL = swiper.wrongRTL;
1752
+ var isVirtual = swiper.virtual && params.virtual.enabled;
1753
+ var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;
1754
+ var slides = $wrapperEl.children("." + swiper.params.slideClass);
1755
+ var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;
1756
+ var snapGrid = [];
1757
+ var slidesGrid = [];
1758
+ var slidesSizesGrid = [];
1759
+
1760
+ function slidesForMargin(slideEl, slideIndex) {
1761
+ if (!params.cssMode) return true;
1762
+
1763
+ if (slideIndex === slides.length - 1) {
1764
+ return false;
1765
+ }
1766
+
1767
+ return true;
1768
+ }
1769
+
1770
+ var offsetBefore = params.slidesOffsetBefore;
1771
+
1772
+ if (typeof offsetBefore === 'function') {
1773
+ offsetBefore = params.slidesOffsetBefore.call(swiper);
1774
+ }
1775
+
1776
+ var offsetAfter = params.slidesOffsetAfter;
1777
+
1778
+ if (typeof offsetAfter === 'function') {
1779
+ offsetAfter = params.slidesOffsetAfter.call(swiper);
1780
+ }
1781
+
1782
+ var previousSnapGridLength = swiper.snapGrid.length;
1783
+ var previousSlidesGridLength = swiper.snapGrid.length;
1784
+ var spaceBetween = params.spaceBetween;
1785
+ var slidePosition = -offsetBefore;
1786
+ var prevSlideSize = 0;
1787
+ var index = 0;
1788
+
1789
+ if (typeof swiperSize === 'undefined') {
1790
+ return;
1791
+ }
1792
+
1793
+ if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
1794
+ spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;
1795
+ }
1796
+
1797
+ swiper.virtualSize = -spaceBetween; // reset margins
1798
+
1799
+ if (rtl) slides.css({
1800
+ marginLeft: '',
1801
+ marginTop: ''
1802
+ });else slides.css({
1803
+ marginRight: '',
1804
+ marginBottom: ''
1805
+ });
1806
+ var slidesNumberEvenToRows;
1807
+
1808
+ if (params.slidesPerColumn > 1) {
1809
+ if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {
1810
+ slidesNumberEvenToRows = slidesLength;
1811
+ } else {
1812
+ slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;
1813
+ }
1814
+
1815
+ if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {
1816
+ slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);
1817
+ }
1818
+ } // Calc slides
1819
+
1820
+
1821
+ var slideSize;
1822
+ var slidesPerColumn = params.slidesPerColumn;
1823
+ var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;
1824
+ var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);
1825
+
1826
+ for (var i = 0; i < slidesLength; i += 1) {
1827
+ slideSize = 0;
1828
+ var slide = slides.eq(i);
1829
+
1830
+ if (params.slidesPerColumn > 1) {
1831
+ // Set slides order
1832
+ var newSlideOrderIndex = void 0;
1833
+ var column = void 0;
1834
+ var row = void 0;
1835
+
1836
+ if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {
1837
+ var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));
1838
+ var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;
1839
+ var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);
1840
+ row = Math.floor(slideIndexInGroup / columnsInGroup);
1841
+ column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;
1842
+ newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;
1843
+ slide.css({
1844
+ '-webkit-box-ordinal-group': newSlideOrderIndex,
1845
+ '-moz-box-ordinal-group': newSlideOrderIndex,
1846
+ '-ms-flex-order': newSlideOrderIndex,
1847
+ '-webkit-order': newSlideOrderIndex,
1848
+ order: newSlideOrderIndex
1849
+ });
1850
+ } else if (params.slidesPerColumnFill === 'column') {
1851
+ column = Math.floor(i / slidesPerColumn);
1852
+ row = i - column * slidesPerColumn;
1853
+
1854
+ if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {
1855
+ row += 1;
1856
+
1857
+ if (row >= slidesPerColumn) {
1858
+ row = 0;
1859
+ column += 1;
1860
+ }
1861
+ }
1862
+ } else {
1863
+ row = Math.floor(i / slidesPerRow);
1864
+ column = i - row * slidesPerRow;
1865
+ }
1866
+
1867
+ slide.css("margin-" + (swiper.isHorizontal() ? 'top' : 'left'), row !== 0 && params.spaceBetween && params.spaceBetween + "px");
1868
+ }
1869
+
1870
+ if (slide.css('display') === 'none') continue; // eslint-disable-line
1871
+
1872
+ if (params.slidesPerView === 'auto') {
1873
+ var slideStyles = window.getComputedStyle(slide[0], null);
1874
+ var currentTransform = slide[0].style.transform;
1875
+ var currentWebKitTransform = slide[0].style.webkitTransform;
1876
+
1877
+ if (currentTransform) {
1878
+ slide[0].style.transform = 'none';
1879
+ }
1880
+
1881
+ if (currentWebKitTransform) {
1882
+ slide[0].style.webkitTransform = 'none';
1883
+ }
1884
+
1885
+ if (params.roundLengths) {
1886
+ slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);
1887
+ } else {
1888
+ // eslint-disable-next-line
1889
+ if (swiper.isHorizontal()) {
1890
+ var width = parseFloat(slideStyles.getPropertyValue('width') || 0);
1891
+ var paddingLeft = parseFloat(slideStyles.getPropertyValue('padding-left') || 0);
1892
+ var paddingRight = parseFloat(slideStyles.getPropertyValue('padding-right') || 0);
1893
+ var marginLeft = parseFloat(slideStyles.getPropertyValue('margin-left') || 0);
1894
+ var marginRight = parseFloat(slideStyles.getPropertyValue('margin-right') || 0);
1895
+ var boxSizing = slideStyles.getPropertyValue('box-sizing');
1896
+
1897
+ if (boxSizing && boxSizing === 'border-box') {
1898
+ slideSize = width + marginLeft + marginRight;
1899
+ } else {
1900
+ slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight;
1901
+ }
1902
+ } else {
1903
+ var height = parseFloat(slideStyles.getPropertyValue('height') || 0);
1904
+ var paddingTop = parseFloat(slideStyles.getPropertyValue('padding-top') || 0);
1905
+ var paddingBottom = parseFloat(slideStyles.getPropertyValue('padding-bottom') || 0);
1906
+ var marginTop = parseFloat(slideStyles.getPropertyValue('margin-top') || 0);
1907
+ var marginBottom = parseFloat(slideStyles.getPropertyValue('margin-bottom') || 0);
1908
+
1909
+ var _boxSizing = slideStyles.getPropertyValue('box-sizing');
1910
+
1911
+ if (_boxSizing && _boxSizing === 'border-box') {
1912
+ slideSize = height + marginTop + marginBottom;
1913
+ } else {
1914
+ slideSize = height + paddingTop + paddingBottom + marginTop + marginBottom;
1915
+ }
1916
+ }
1917
+ }
1918
+
1919
+ if (currentTransform) {
1920
+ slide[0].style.transform = currentTransform;
1921
+ }
1922
+
1923
+ if (currentWebKitTransform) {
1924
+ slide[0].style.webkitTransform = currentWebKitTransform;
1925
+ }
1926
+
1927
+ if (params.roundLengths) slideSize = Math.floor(slideSize);
1928
+ } else {
1929
+ slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
1930
+ if (params.roundLengths) slideSize = Math.floor(slideSize);
1931
+
1932
+ if (slides[i]) {
1933
+ if (swiper.isHorizontal()) {
1934
+ slides[i].style.width = slideSize + "px";
1935
+ } else {
1936
+ slides[i].style.height = slideSize + "px";
1937
+ }
1938
+ }
1939
+ }
1940
+
1941
+ if (slides[i]) {
1942
+ slides[i].swiperSlideSize = slideSize;
1943
+ }
1944
+
1945
+ slidesSizesGrid.push(slideSize);
1946
+
1947
+ if (params.centeredSlides) {
1948
+ slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
1949
+ if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
1950
+ if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
1951
+ if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;
1952
+ if (params.roundLengths) slidePosition = Math.floor(slidePosition);
1953
+ if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);
1954
+ slidesGrid.push(slidePosition);
1955
+ } else {
1956
+ if (params.roundLengths) slidePosition = Math.floor(slidePosition);
1957
+ if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);
1958
+ slidesGrid.push(slidePosition);
1959
+ slidePosition = slidePosition + slideSize + spaceBetween;
1960
+ }
1961
+
1962
+ swiper.virtualSize += slideSize + spaceBetween;
1963
+ prevSlideSize = slideSize;
1964
+ index += 1;
1965
+ }
1966
+
1967
+ swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
1968
+ var newSlidesGrid;
1969
+
1970
+ if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {
1971
+ $wrapperEl.css({
1972
+ width: swiper.virtualSize + params.spaceBetween + "px"
1973
+ });
1974
+ }
1975
+
1976
+ if (params.setWrapperSize) {
1977
+ if (swiper.isHorizontal()) $wrapperEl.css({
1978
+ width: swiper.virtualSize + params.spaceBetween + "px"
1979
+ });else $wrapperEl.css({
1980
+ height: swiper.virtualSize + params.spaceBetween + "px"
1981
+ });
1982
+ }
1983
+
1984
+ if (params.slidesPerColumn > 1) {
1985
+ swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;
1986
+ swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;
1987
+ if (swiper.isHorizontal()) $wrapperEl.css({
1988
+ width: swiper.virtualSize + params.spaceBetween + "px"
1989
+ });else $wrapperEl.css({
1990
+ height: swiper.virtualSize + params.spaceBetween + "px"
1991
+ });
1992
+
1993
+ if (params.centeredSlides) {
1994
+ newSlidesGrid = [];
1995
+
1996
+ for (var _i = 0; _i < snapGrid.length; _i += 1) {
1997
+ var slidesGridItem = snapGrid[_i];
1998
+ if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
1999
+ if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);
2000
+ }
2001
+
2002
+ snapGrid = newSlidesGrid;
2003
+ }
2004
+ } // Remove last grid elements depending on width
2005
+
2006
+
2007
+ if (!params.centeredSlides) {
2008
+ newSlidesGrid = [];
2009
+
2010
+ for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {
2011
+ var _slidesGridItem = snapGrid[_i2];
2012
+ if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);
2013
+
2014
+ if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {
2015
+ newSlidesGrid.push(_slidesGridItem);
2016
+ }
2017
+ }
2018
+
2019
+ snapGrid = newSlidesGrid;
2020
+
2021
+ if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
2022
+ snapGrid.push(swiper.virtualSize - swiperSize);
2023
+ }
2024
+ }
2025
+
2026
+ if (snapGrid.length === 0) snapGrid = [0];
2027
+
2028
+ if (params.spaceBetween !== 0) {
2029
+ if (swiper.isHorizontal()) {
2030
+ if (rtl) slides.filter(slidesForMargin).css({
2031
+ marginLeft: spaceBetween + "px"
2032
+ });else slides.filter(slidesForMargin).css({
2033
+ marginRight: spaceBetween + "px"
2034
+ });
2035
+ } else slides.filter(slidesForMargin).css({
2036
+ marginBottom: spaceBetween + "px"
2037
+ });
2038
+ }
2039
+
2040
+ if (params.centeredSlides && params.centeredSlidesBounds) {
2041
+ var allSlidesSize = 0;
2042
+ slidesSizesGrid.forEach(function (slideSizeValue) {
2043
+ allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
2044
+ });
2045
+ allSlidesSize -= params.spaceBetween;
2046
+ var maxSnap = allSlidesSize - swiperSize;
2047
+ snapGrid = snapGrid.map(function (snap) {
2048
+ if (snap < 0) return -offsetBefore;
2049
+ if (snap > maxSnap) return maxSnap + offsetAfter;
2050
+ return snap;
2051
+ });
2052
+ }
2053
+
2054
+ if (params.centerInsufficientSlides) {
2055
+ var _allSlidesSize = 0;
2056
+ slidesSizesGrid.forEach(function (slideSizeValue) {
2057
+ _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
2058
+ });
2059
+ _allSlidesSize -= params.spaceBetween;
2060
+
2061
+ if (_allSlidesSize < swiperSize) {
2062
+ var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;
2063
+ snapGrid.forEach(function (snap, snapIndex) {
2064
+ snapGrid[snapIndex] = snap - allSlidesOffset;
2065
+ });
2066
+ slidesGrid.forEach(function (snap, snapIndex) {
2067
+ slidesGrid[snapIndex] = snap + allSlidesOffset;
2068
+ });
2069
+ }
2070
+ }
2071
+
2072
+ extend$1(swiper, {
2073
+ slides: slides,
2074
+ snapGrid: snapGrid,
2075
+ slidesGrid: slidesGrid,
2076
+ slidesSizesGrid: slidesSizesGrid
2077
+ });
2078
+
2079
+ if (slidesLength !== previousSlidesLength) {
2080
+ swiper.emit('slidesLengthChange');
2081
+ }
2082
+
2083
+ if (snapGrid.length !== previousSnapGridLength) {
2084
+ if (swiper.params.watchOverflow) swiper.checkOverflow();
2085
+ swiper.emit('snapGridLengthChange');
2086
+ }
2087
+
2088
+ if (slidesGrid.length !== previousSlidesGridLength) {
2089
+ swiper.emit('slidesGridLengthChange');
2090
+ }
2091
+
2092
+ if (params.watchSlidesProgress || params.watchSlidesVisibility) {
2093
+ swiper.updateSlidesOffset();
2094
+ }
2095
+ }
2096
+
2097
+ function updateAutoHeight(speed) {
2098
+ var swiper = this;
2099
+ var activeSlides = [];
2100
+ var newHeight = 0;
2101
+ var i;
2102
+
2103
+ if (typeof speed === 'number') {
2104
+ swiper.setTransition(speed);
2105
+ } else if (speed === true) {
2106
+ swiper.setTransition(swiper.params.speed);
2107
+ } // Find slides currently in view
2108
+
2109
+
2110
+ if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {
2111
+ if (swiper.params.centeredSlides) {
2112
+ swiper.visibleSlides.each(function (slide) {
2113
+ activeSlides.push(slide);
2114
+ });
2115
+ } else {
2116
+ for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
2117
+ var index = swiper.activeIndex + i;
2118
+ if (index > swiper.slides.length) break;
2119
+ activeSlides.push(swiper.slides.eq(index)[0]);
2120
+ }
2121
+ }
2122
+ } else {
2123
+ activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);
2124
+ } // Find new height from highest slide in view
2125
+
2126
+
2127
+ for (i = 0; i < activeSlides.length; i += 1) {
2128
+ if (typeof activeSlides[i] !== 'undefined') {
2129
+ var height = activeSlides[i].offsetHeight;
2130
+ newHeight = height > newHeight ? height : newHeight;
2131
+ }
2132
+ } // Update Height
2133
+
2134
+
2135
+ if (newHeight) swiper.$wrapperEl.css('height', newHeight + "px");
2136
+ }
2137
+
2138
+ function updateSlidesOffset() {
2139
+ var swiper = this;
2140
+ var slides = swiper.slides;
2141
+
2142
+ for (var i = 0; i < slides.length; i += 1) {
2143
+ slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;
2144
+ }
2145
+ }
2146
+
2147
+ function updateSlidesProgress(translate) {
2148
+ if (translate === void 0) {
2149
+ translate = this && this.translate || 0;
2150
+ }
2151
+
2152
+ var swiper = this;
2153
+ var params = swiper.params;
2154
+ var slides = swiper.slides,
2155
+ rtl = swiper.rtlTranslate;
2156
+ if (slides.length === 0) return;
2157
+ if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();
2158
+ var offsetCenter = -translate;
2159
+ if (rtl) offsetCenter = translate; // Visible Slides
2160
+
2161
+ slides.removeClass(params.slideVisibleClass);
2162
+ swiper.visibleSlidesIndexes = [];
2163
+ swiper.visibleSlides = [];
2164
+
2165
+ for (var i = 0; i < slides.length; i += 1) {
2166
+ var slide = slides[i];
2167
+ var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);
2168
+
2169
+ if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {
2170
+ var slideBefore = -(offsetCenter - slide.swiperSlideOffset);
2171
+ var slideAfter = slideBefore + swiper.slidesSizesGrid[i];
2172
+ var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;
2173
+
2174
+ if (isVisible) {
2175
+ swiper.visibleSlides.push(slide);
2176
+ swiper.visibleSlidesIndexes.push(i);
2177
+ slides.eq(i).addClass(params.slideVisibleClass);
2178
+ }
2179
+ }
2180
+
2181
+ slide.progress = rtl ? -slideProgress : slideProgress;
2182
+ }
2183
+
2184
+ swiper.visibleSlides = $(swiper.visibleSlides);
2185
+ }
2186
+
2187
+ function updateProgress(translate) {
2188
+ var swiper = this;
2189
+
2190
+ if (typeof translate === 'undefined') {
2191
+ var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line
2192
+
2193
+ translate = swiper && swiper.translate && swiper.translate * multiplier || 0;
2194
+ }
2195
+
2196
+ var params = swiper.params;
2197
+ var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
2198
+ var progress = swiper.progress,
2199
+ isBeginning = swiper.isBeginning,
2200
+ isEnd = swiper.isEnd;
2201
+ var wasBeginning = isBeginning;
2202
+ var wasEnd = isEnd;
2203
+
2204
+ if (translatesDiff === 0) {
2205
+ progress = 0;
2206
+ isBeginning = true;
2207
+ isEnd = true;
2208
+ } else {
2209
+ progress = (translate - swiper.minTranslate()) / translatesDiff;
2210
+ isBeginning = progress <= 0;
2211
+ isEnd = progress >= 1;
2212
+ }
2213
+
2214
+ extend$1(swiper, {
2215
+ progress: progress,
2216
+ isBeginning: isBeginning,
2217
+ isEnd: isEnd
2218
+ });
2219
+ if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);
2220
+
2221
+ if (isBeginning && !wasBeginning) {
2222
+ swiper.emit('reachBeginning toEdge');
2223
+ }
2224
+
2225
+ if (isEnd && !wasEnd) {
2226
+ swiper.emit('reachEnd toEdge');
2227
+ }
2228
+
2229
+ if (wasBeginning && !isBeginning || wasEnd && !isEnd) {
2230
+ swiper.emit('fromEdge');
2231
+ }
2232
+
2233
+ swiper.emit('progress', progress);
2234
+ }
2235
+
2236
+ function updateSlidesClasses() {
2237
+ var swiper = this;
2238
+ var slides = swiper.slides,
2239
+ params = swiper.params,
2240
+ $wrapperEl = swiper.$wrapperEl,
2241
+ activeIndex = swiper.activeIndex,
2242
+ realIndex = swiper.realIndex;
2243
+ var isVirtual = swiper.virtual && params.virtual.enabled;
2244
+ slides.removeClass(params.slideActiveClass + " " + params.slideNextClass + " " + params.slidePrevClass + " " + params.slideDuplicateActiveClass + " " + params.slideDuplicateNextClass + " " + params.slideDuplicatePrevClass);
2245
+ var activeSlide;
2246
+
2247
+ if (isVirtual) {
2248
+ activeSlide = swiper.$wrapperEl.find("." + params.slideClass + "[data-swiper-slide-index=\"" + activeIndex + "\"]");
2249
+ } else {
2250
+ activeSlide = slides.eq(activeIndex);
2251
+ } // Active classes
2252
+
2253
+
2254
+ activeSlide.addClass(params.slideActiveClass);
2255
+
2256
+ if (params.loop) {
2257
+ // Duplicate to all looped slides
2258
+ if (activeSlide.hasClass(params.slideDuplicateClass)) {
2259
+ $wrapperEl.children("." + params.slideClass + ":not(." + params.slideDuplicateClass + ")[data-swiper-slide-index=\"" + realIndex + "\"]").addClass(params.slideDuplicateActiveClass);
2260
+ } else {
2261
+ $wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass + "[data-swiper-slide-index=\"" + realIndex + "\"]").addClass(params.slideDuplicateActiveClass);
2262
+ }
2263
+ } // Next Slide
2264
+
2265
+
2266
+ var nextSlide = activeSlide.nextAll("." + params.slideClass).eq(0).addClass(params.slideNextClass);
2267
+
2268
+ if (params.loop && nextSlide.length === 0) {
2269
+ nextSlide = slides.eq(0);
2270
+ nextSlide.addClass(params.slideNextClass);
2271
+ } // Prev Slide
2272
+
2273
+
2274
+ var prevSlide = activeSlide.prevAll("." + params.slideClass).eq(0).addClass(params.slidePrevClass);
2275
+
2276
+ if (params.loop && prevSlide.length === 0) {
2277
+ prevSlide = slides.eq(-1);
2278
+ prevSlide.addClass(params.slidePrevClass);
2279
+ }
2280
+
2281
+ if (params.loop) {
2282
+ // Duplicate to all looped slides
2283
+ if (nextSlide.hasClass(params.slideDuplicateClass)) {
2284
+ $wrapperEl.children("." + params.slideClass + ":not(." + params.slideDuplicateClass + ")[data-swiper-slide-index=\"" + nextSlide.attr('data-swiper-slide-index') + "\"]").addClass(params.slideDuplicateNextClass);
2285
+ } else {
2286
+ $wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass + "[data-swiper-slide-index=\"" + nextSlide.attr('data-swiper-slide-index') + "\"]").addClass(params.slideDuplicateNextClass);
2287
+ }
2288
+
2289
+ if (prevSlide.hasClass(params.slideDuplicateClass)) {
2290
+ $wrapperEl.children("." + params.slideClass + ":not(." + params.slideDuplicateClass + ")[data-swiper-slide-index=\"" + prevSlide.attr('data-swiper-slide-index') + "\"]").addClass(params.slideDuplicatePrevClass);
2291
+ } else {
2292
+ $wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass + "[data-swiper-slide-index=\"" + prevSlide.attr('data-swiper-slide-index') + "\"]").addClass(params.slideDuplicatePrevClass);
2293
+ }
2294
+ }
2295
+
2296
+ swiper.emitSlidesClasses();
2297
+ }
2298
+
2299
+ function updateActiveIndex(newActiveIndex) {
2300
+ var swiper = this;
2301
+ var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
2302
+ var slidesGrid = swiper.slidesGrid,
2303
+ snapGrid = swiper.snapGrid,
2304
+ params = swiper.params,
2305
+ previousIndex = swiper.activeIndex,
2306
+ previousRealIndex = swiper.realIndex,
2307
+ previousSnapIndex = swiper.snapIndex;
2308
+ var activeIndex = newActiveIndex;
2309
+ var snapIndex;
2310
+
2311
+ if (typeof activeIndex === 'undefined') {
2312
+ for (var i = 0; i < slidesGrid.length; i += 1) {
2313
+ if (typeof slidesGrid[i + 1] !== 'undefined') {
2314
+ if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {
2315
+ activeIndex = i;
2316
+ } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {
2317
+ activeIndex = i + 1;
2318
+ }
2319
+ } else if (translate >= slidesGrid[i]) {
2320
+ activeIndex = i;
2321
+ }
2322
+ } // Normalize slideIndex
2323
+
2324
+
2325
+ if (params.normalizeSlideIndex) {
2326
+ if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;
2327
+ }
2328
+ }
2329
+
2330
+ if (snapGrid.indexOf(translate) >= 0) {
2331
+ snapIndex = snapGrid.indexOf(translate);
2332
+ } else {
2333
+ var skip = Math.min(params.slidesPerGroupSkip, activeIndex);
2334
+ snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
2335
+ }
2336
+
2337
+ if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
2338
+
2339
+ if (activeIndex === previousIndex) {
2340
+ if (snapIndex !== previousSnapIndex) {
2341
+ swiper.snapIndex = snapIndex;
2342
+ swiper.emit('snapIndexChange');
2343
+ }
2344
+
2345
+ return;
2346
+ } // Get real index
2347
+
2348
+
2349
+ var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);
2350
+ extend$1(swiper, {
2351
+ snapIndex: snapIndex,
2352
+ realIndex: realIndex,
2353
+ previousIndex: previousIndex,
2354
+ activeIndex: activeIndex
2355
+ });
2356
+ swiper.emit('activeIndexChange');
2357
+ swiper.emit('snapIndexChange');
2358
+
2359
+ if (previousRealIndex !== realIndex) {
2360
+ swiper.emit('realIndexChange');
2361
+ }
2362
+
2363
+ if (swiper.initialized || swiper.params.runCallbacksOnInit) {
2364
+ swiper.emit('slideChange');
2365
+ }
2366
+ }
2367
+
2368
+ function updateClickedSlide(e) {
2369
+ var swiper = this;
2370
+ var params = swiper.params;
2371
+ var slide = $(e.target).closest("." + params.slideClass)[0];
2372
+ var slideFound = false;
2373
+
2374
+ if (slide) {
2375
+ for (var i = 0; i < swiper.slides.length; i += 1) {
2376
+ if (swiper.slides[i] === slide) slideFound = true;
2377
+ }
2378
+ }
2379
+
2380
+ if (slide && slideFound) {
2381
+ swiper.clickedSlide = slide;
2382
+
2383
+ if (swiper.virtual && swiper.params.virtual.enabled) {
2384
+ swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);
2385
+ } else {
2386
+ swiper.clickedIndex = $(slide).index();
2387
+ }
2388
+ } else {
2389
+ swiper.clickedSlide = undefined;
2390
+ swiper.clickedIndex = undefined;
2391
+ return;
2392
+ }
2393
+
2394
+ if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
2395
+ swiper.slideToClickedSlide();
2396
+ }
2397
+ }
2398
+
2399
+ var update = {
2400
+ updateSize: updateSize,
2401
+ updateSlides: updateSlides,
2402
+ updateAutoHeight: updateAutoHeight,
2403
+ updateSlidesOffset: updateSlidesOffset,
2404
+ updateSlidesProgress: updateSlidesProgress,
2405
+ updateProgress: updateProgress,
2406
+ updateSlidesClasses: updateSlidesClasses,
2407
+ updateActiveIndex: updateActiveIndex,
2408
+ updateClickedSlide: updateClickedSlide
2409
+ };
2410
+
2411
+ function getSwiperTranslate(axis) {
2412
+ if (axis === void 0) {
2413
+ axis = this.isHorizontal() ? 'x' : 'y';
2414
+ }
2415
+
2416
+ var swiper = this;
2417
+ var params = swiper.params,
2418
+ rtl = swiper.rtlTranslate,
2419
+ translate = swiper.translate,
2420
+ $wrapperEl = swiper.$wrapperEl;
2421
+
2422
+ if (params.virtualTranslate) {
2423
+ return rtl ? -translate : translate;
2424
+ }
2425
+
2426
+ if (params.cssMode) {
2427
+ return translate;
2428
+ }
2429
+
2430
+ var currentTranslate = getTranslate($wrapperEl[0], axis);
2431
+ if (rtl) currentTranslate = -currentTranslate;
2432
+ return currentTranslate || 0;
2433
+ }
2434
+
2435
+ function setTranslate(translate, byController) {
2436
+ var swiper = this;
2437
+ var rtl = swiper.rtlTranslate,
2438
+ params = swiper.params,
2439
+ $wrapperEl = swiper.$wrapperEl,
2440
+ wrapperEl = swiper.wrapperEl,
2441
+ progress = swiper.progress;
2442
+ var x = 0;
2443
+ var y = 0;
2444
+ var z = 0;
2445
+
2446
+ if (swiper.isHorizontal()) {
2447
+ x = rtl ? -translate : translate;
2448
+ } else {
2449
+ y = translate;
2450
+ }
2451
+
2452
+ if (params.roundLengths) {
2453
+ x = Math.floor(x);
2454
+ y = Math.floor(y);
2455
+ }
2456
+
2457
+ if (params.cssMode) {
2458
+ wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;
2459
+ } else if (!params.virtualTranslate) {
2460
+ $wrapperEl.transform("translate3d(" + x + "px, " + y + "px, " + z + "px)");
2461
+ }
2462
+
2463
+ swiper.previousTranslate = swiper.translate;
2464
+ swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress
2465
+
2466
+ var newProgress;
2467
+ var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
2468
+
2469
+ if (translatesDiff === 0) {
2470
+ newProgress = 0;
2471
+ } else {
2472
+ newProgress = (translate - swiper.minTranslate()) / translatesDiff;
2473
+ }
2474
+
2475
+ if (newProgress !== progress) {
2476
+ swiper.updateProgress(translate);
2477
+ }
2478
+
2479
+ swiper.emit('setTranslate', swiper.translate, byController);
2480
+ }
2481
+
2482
+ function minTranslate() {
2483
+ return -this.snapGrid[0];
2484
+ }
2485
+
2486
+ function maxTranslate() {
2487
+ return -this.snapGrid[this.snapGrid.length - 1];
2488
+ }
2489
+
2490
+ function translateTo(translate, speed, runCallbacks, translateBounds, internal) {
2491
+ if (translate === void 0) {
2492
+ translate = 0;
2493
+ }
2494
+
2495
+ if (speed === void 0) {
2496
+ speed = this.params.speed;
2497
+ }
2498
+
2499
+ if (runCallbacks === void 0) {
2500
+ runCallbacks = true;
2501
+ }
2502
+
2503
+ if (translateBounds === void 0) {
2504
+ translateBounds = true;
2505
+ }
2506
+
2507
+ var swiper = this;
2508
+ var params = swiper.params,
2509
+ wrapperEl = swiper.wrapperEl;
2510
+
2511
+ if (swiper.animating && params.preventInteractionOnTransition) {
2512
+ return false;
2513
+ }
2514
+
2515
+ var minTranslate = swiper.minTranslate();
2516
+ var maxTranslate = swiper.maxTranslate();
2517
+ var newTranslate;
2518
+ if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress
2519
+
2520
+ swiper.updateProgress(newTranslate);
2521
+
2522
+ if (params.cssMode) {
2523
+ var isH = swiper.isHorizontal();
2524
+
2525
+ if (speed === 0) {
2526
+ wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
2527
+ } else {
2528
+ // eslint-disable-next-line
2529
+ if (wrapperEl.scrollTo) {
2530
+ var _wrapperEl$scrollTo;
2531
+
2532
+ wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));
2533
+ } else {
2534
+ wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
2535
+ }
2536
+ }
2537
+
2538
+ return true;
2539
+ }
2540
+
2541
+ if (speed === 0) {
2542
+ swiper.setTransition(0);
2543
+ swiper.setTranslate(newTranslate);
2544
+
2545
+ if (runCallbacks) {
2546
+ swiper.emit('beforeTransitionStart', speed, internal);
2547
+ swiper.emit('transitionEnd');
2548
+ }
2549
+ } else {
2550
+ swiper.setTransition(speed);
2551
+ swiper.setTranslate(newTranslate);
2552
+
2553
+ if (runCallbacks) {
2554
+ swiper.emit('beforeTransitionStart', speed, internal);
2555
+ swiper.emit('transitionStart');
2556
+ }
2557
+
2558
+ if (!swiper.animating) {
2559
+ swiper.animating = true;
2560
+
2561
+ if (!swiper.onTranslateToWrapperTransitionEnd) {
2562
+ swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {
2563
+ if (!swiper || swiper.destroyed) return;
2564
+ if (e.target !== this) return;
2565
+ swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
2566
+ swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
2567
+ swiper.onTranslateToWrapperTransitionEnd = null;
2568
+ delete swiper.onTranslateToWrapperTransitionEnd;
2569
+
2570
+ if (runCallbacks) {
2571
+ swiper.emit('transitionEnd');
2572
+ }
2573
+ };
2574
+ }
2575
+
2576
+ swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
2577
+ swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
2578
+ }
2579
+ }
2580
+
2581
+ return true;
2582
+ }
2583
+
2584
+ var translate = {
2585
+ getTranslate: getSwiperTranslate,
2586
+ setTranslate: setTranslate,
2587
+ minTranslate: minTranslate,
2588
+ maxTranslate: maxTranslate,
2589
+ translateTo: translateTo
2590
+ };
2591
+
2592
+ function setTransition(duration, byController) {
2593
+ var swiper = this;
2594
+
2595
+ if (!swiper.params.cssMode) {
2596
+ swiper.$wrapperEl.transition(duration);
2597
+ }
2598
+
2599
+ swiper.emit('setTransition', duration, byController);
2600
+ }
2601
+
2602
+ function transitionStart(runCallbacks, direction) {
2603
+ if (runCallbacks === void 0) {
2604
+ runCallbacks = true;
2605
+ }
2606
+
2607
+ var swiper = this;
2608
+ var activeIndex = swiper.activeIndex,
2609
+ params = swiper.params,
2610
+ previousIndex = swiper.previousIndex;
2611
+ if (params.cssMode) return;
2612
+
2613
+ if (params.autoHeight) {
2614
+ swiper.updateAutoHeight();
2615
+ }
2616
+
2617
+ var dir = direction;
2618
+
2619
+ if (!dir) {
2620
+ if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
2621
+ }
2622
+
2623
+ swiper.emit('transitionStart');
2624
+
2625
+ if (runCallbacks && activeIndex !== previousIndex) {
2626
+ if (dir === 'reset') {
2627
+ swiper.emit('slideResetTransitionStart');
2628
+ return;
2629
+ }
2630
+
2631
+ swiper.emit('slideChangeTransitionStart');
2632
+
2633
+ if (dir === 'next') {
2634
+ swiper.emit('slideNextTransitionStart');
2635
+ } else {
2636
+ swiper.emit('slidePrevTransitionStart');
2637
+ }
2638
+ }
2639
+ }
2640
+
2641
+ function transitionEnd$1(runCallbacks, direction) {
2642
+ if (runCallbacks === void 0) {
2643
+ runCallbacks = true;
2644
+ }
2645
+
2646
+ var swiper = this;
2647
+ var activeIndex = swiper.activeIndex,
2648
+ previousIndex = swiper.previousIndex,
2649
+ params = swiper.params;
2650
+ swiper.animating = false;
2651
+ if (params.cssMode) return;
2652
+ swiper.setTransition(0);
2653
+ var dir = direction;
2654
+
2655
+ if (!dir) {
2656
+ if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
2657
+ }
2658
+
2659
+ swiper.emit('transitionEnd');
2660
+
2661
+ if (runCallbacks && activeIndex !== previousIndex) {
2662
+ if (dir === 'reset') {
2663
+ swiper.emit('slideResetTransitionEnd');
2664
+ return;
2665
+ }
2666
+
2667
+ swiper.emit('slideChangeTransitionEnd');
2668
+
2669
+ if (dir === 'next') {
2670
+ swiper.emit('slideNextTransitionEnd');
2671
+ } else {
2672
+ swiper.emit('slidePrevTransitionEnd');
2673
+ }
2674
+ }
2675
+ }
2676
+
2677
+ var transition$1 = {
2678
+ setTransition: setTransition,
2679
+ transitionStart: transitionStart,
2680
+ transitionEnd: transitionEnd$1
2681
+ };
2682
+
2683
+ function slideTo(index, speed, runCallbacks, internal) {
2684
+ if (index === void 0) {
2685
+ index = 0;
2686
+ }
2687
+
2688
+ if (speed === void 0) {
2689
+ speed = this.params.speed;
2690
+ }
2691
+
2692
+ if (runCallbacks === void 0) {
2693
+ runCallbacks = true;
2694
+ }
2695
+
2696
+ var swiper = this;
2697
+ var slideIndex = index;
2698
+ if (slideIndex < 0) slideIndex = 0;
2699
+ var params = swiper.params,
2700
+ snapGrid = swiper.snapGrid,
2701
+ slidesGrid = swiper.slidesGrid,
2702
+ previousIndex = swiper.previousIndex,
2703
+ activeIndex = swiper.activeIndex,
2704
+ rtl = swiper.rtlTranslate,
2705
+ wrapperEl = swiper.wrapperEl;
2706
+
2707
+ if (swiper.animating && params.preventInteractionOnTransition) {
2708
+ return false;
2709
+ }
2710
+
2711
+ var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
2712
+ var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
2713
+ if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
2714
+
2715
+ if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {
2716
+ swiper.emit('beforeSlideChangeStart');
2717
+ }
2718
+
2719
+ var translate = -snapGrid[snapIndex]; // Update progress
2720
+
2721
+ swiper.updateProgress(translate); // Normalize slideIndex
2722
+
2723
+ if (params.normalizeSlideIndex) {
2724
+ for (var i = 0; i < slidesGrid.length; i += 1) {
2725
+ if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {
2726
+ slideIndex = i;
2727
+ }
2728
+ }
2729
+ } // Directions locks
2730
+
2731
+
2732
+ if (swiper.initialized && slideIndex !== activeIndex) {
2733
+ if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {
2734
+ return false;
2735
+ }
2736
+
2737
+ if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {
2738
+ if ((activeIndex || 0) !== slideIndex) return false;
2739
+ }
2740
+ }
2741
+
2742
+ var direction;
2743
+ if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index
2744
+
2745
+ if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {
2746
+ swiper.updateActiveIndex(slideIndex); // Update Height
2747
+
2748
+ if (params.autoHeight) {
2749
+ swiper.updateAutoHeight();
2750
+ }
2751
+
2752
+ swiper.updateSlidesClasses();
2753
+
2754
+ if (params.effect !== 'slide') {
2755
+ swiper.setTranslate(translate);
2756
+ }
2757
+
2758
+ if (direction !== 'reset') {
2759
+ swiper.transitionStart(runCallbacks, direction);
2760
+ swiper.transitionEnd(runCallbacks, direction);
2761
+ }
2762
+
2763
+ return false;
2764
+ }
2765
+
2766
+ if (params.cssMode) {
2767
+ var isH = swiper.isHorizontal();
2768
+ var t = -translate;
2769
+
2770
+ if (rtl) {
2771
+ t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;
2772
+ }
2773
+
2774
+ if (speed === 0) {
2775
+ wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
2776
+ } else {
2777
+ // eslint-disable-next-line
2778
+ if (wrapperEl.scrollTo) {
2779
+ var _wrapperEl$scrollTo;
2780
+
2781
+ wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));
2782
+ } else {
2783
+ wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
2784
+ }
2785
+ }
2786
+
2787
+ return true;
2788
+ }
2789
+
2790
+ if (speed === 0) {
2791
+ swiper.setTransition(0);
2792
+ swiper.setTranslate(translate);
2793
+ swiper.updateActiveIndex(slideIndex);
2794
+ swiper.updateSlidesClasses();
2795
+ swiper.emit('beforeTransitionStart', speed, internal);
2796
+ swiper.transitionStart(runCallbacks, direction);
2797
+ swiper.transitionEnd(runCallbacks, direction);
2798
+ } else {
2799
+ swiper.setTransition(speed);
2800
+ swiper.setTranslate(translate);
2801
+ swiper.updateActiveIndex(slideIndex);
2802
+ swiper.updateSlidesClasses();
2803
+ swiper.emit('beforeTransitionStart', speed, internal);
2804
+ swiper.transitionStart(runCallbacks, direction);
2805
+
2806
+ if (!swiper.animating) {
2807
+ swiper.animating = true;
2808
+
2809
+ if (!swiper.onSlideToWrapperTransitionEnd) {
2810
+ swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
2811
+ if (!swiper || swiper.destroyed) return;
2812
+ if (e.target !== this) return;
2813
+ swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
2814
+ swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
2815
+ swiper.onSlideToWrapperTransitionEnd = null;
2816
+ delete swiper.onSlideToWrapperTransitionEnd;
2817
+ swiper.transitionEnd(runCallbacks, direction);
2818
+ };
2819
+ }
2820
+
2821
+ swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
2822
+ swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
2823
+ }
2824
+ }
2825
+
2826
+ return true;
2827
+ }
2828
+
2829
+ function slideToLoop(index, speed, runCallbacks, internal) {
2830
+ if (index === void 0) {
2831
+ index = 0;
2832
+ }
2833
+
2834
+ if (speed === void 0) {
2835
+ speed = this.params.speed;
2836
+ }
2837
+
2838
+ if (runCallbacks === void 0) {
2839
+ runCallbacks = true;
2840
+ }
2841
+
2842
+ var swiper = this;
2843
+ var newIndex = index;
2844
+
2845
+ if (swiper.params.loop) {
2846
+ newIndex += swiper.loopedSlides;
2847
+ }
2848
+
2849
+ return swiper.slideTo(newIndex, speed, runCallbacks, internal);
2850
+ }
2851
+
2852
+ /* eslint no-unused-vars: "off" */
2853
+ function slideNext(speed, runCallbacks, internal) {
2854
+ if (speed === void 0) {
2855
+ speed = this.params.speed;
2856
+ }
2857
+
2858
+ if (runCallbacks === void 0) {
2859
+ runCallbacks = true;
2860
+ }
2861
+
2862
+ var swiper = this;
2863
+ var params = swiper.params,
2864
+ animating = swiper.animating;
2865
+ var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;
2866
+
2867
+ if (params.loop) {
2868
+ if (animating && params.loopPreventsSlide) return false;
2869
+ swiper.loopFix(); // eslint-disable-next-line
2870
+
2871
+ swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
2872
+ }
2873
+
2874
+ return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
2875
+ }
2876
+
2877
+ /* eslint no-unused-vars: "off" */
2878
+ function slidePrev(speed, runCallbacks, internal) {
2879
+ if (speed === void 0) {
2880
+ speed = this.params.speed;
2881
+ }
2882
+
2883
+ if (runCallbacks === void 0) {
2884
+ runCallbacks = true;
2885
+ }
2886
+
2887
+ var swiper = this;
2888
+ var params = swiper.params,
2889
+ animating = swiper.animating,
2890
+ snapGrid = swiper.snapGrid,
2891
+ slidesGrid = swiper.slidesGrid,
2892
+ rtlTranslate = swiper.rtlTranslate;
2893
+
2894
+ if (params.loop) {
2895
+ if (animating && params.loopPreventsSlide) return false;
2896
+ swiper.loopFix(); // eslint-disable-next-line
2897
+
2898
+ swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
2899
+ }
2900
+
2901
+ var translate = rtlTranslate ? swiper.translate : -swiper.translate;
2902
+
2903
+ function normalize(val) {
2904
+ if (val < 0) return -Math.floor(Math.abs(val));
2905
+ return Math.floor(val);
2906
+ }
2907
+
2908
+ var normalizedTranslate = normalize(translate);
2909
+ var normalizedSnapGrid = snapGrid.map(function (val) {
2910
+ return normalize(val);
2911
+ });
2912
+ var currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];
2913
+ var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
2914
+
2915
+ if (typeof prevSnap === 'undefined' && params.cssMode) {
2916
+ snapGrid.forEach(function (snap) {
2917
+ if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;
2918
+ });
2919
+ }
2920
+
2921
+ var prevIndex;
2922
+
2923
+ if (typeof prevSnap !== 'undefined') {
2924
+ prevIndex = slidesGrid.indexOf(prevSnap);
2925
+ if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;
2926
+ }
2927
+
2928
+ return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
2929
+ }
2930
+
2931
+ /* eslint no-unused-vars: "off" */
2932
+ function slideReset(speed, runCallbacks, internal) {
2933
+ if (speed === void 0) {
2934
+ speed = this.params.speed;
2935
+ }
2936
+
2937
+ if (runCallbacks === void 0) {
2938
+ runCallbacks = true;
2939
+ }
2940
+
2941
+ var swiper = this;
2942
+ return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
2943
+ }
2944
+
2945
+ /* eslint no-unused-vars: "off" */
2946
+ function slideToClosest(speed, runCallbacks, internal, threshold) {
2947
+ if (speed === void 0) {
2948
+ speed = this.params.speed;
2949
+ }
2950
+
2951
+ if (runCallbacks === void 0) {
2952
+ runCallbacks = true;
2953
+ }
2954
+
2955
+ if (threshold === void 0) {
2956
+ threshold = 0.5;
2957
+ }
2958
+
2959
+ var swiper = this;
2960
+ var index = swiper.activeIndex;
2961
+ var skip = Math.min(swiper.params.slidesPerGroupSkip, index);
2962
+ var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
2963
+ var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
2964
+
2965
+ if (translate >= swiper.snapGrid[snapIndex]) {
2966
+ // The current translate is on or after the current snap index, so the choice
2967
+ // is between the current index and the one after it.
2968
+ var currentSnap = swiper.snapGrid[snapIndex];
2969
+ var nextSnap = swiper.snapGrid[snapIndex + 1];
2970
+
2971
+ if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {
2972
+ index += swiper.params.slidesPerGroup;
2973
+ }
2974
+ } else {
2975
+ // The current translate is before the current snap index, so the choice
2976
+ // is between the current index and the one before it.
2977
+ var prevSnap = swiper.snapGrid[snapIndex - 1];
2978
+ var _currentSnap = swiper.snapGrid[snapIndex];
2979
+
2980
+ if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {
2981
+ index -= swiper.params.slidesPerGroup;
2982
+ }
2983
+ }
2984
+
2985
+ index = Math.max(index, 0);
2986
+ index = Math.min(index, swiper.slidesGrid.length - 1);
2987
+ return swiper.slideTo(index, speed, runCallbacks, internal);
2988
+ }
2989
+
2990
+ function slideToClickedSlide() {
2991
+ var swiper = this;
2992
+ var params = swiper.params,
2993
+ $wrapperEl = swiper.$wrapperEl;
2994
+ var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
2995
+ var slideToIndex = swiper.clickedIndex;
2996
+ var realIndex;
2997
+
2998
+ if (params.loop) {
2999
+ if (swiper.animating) return;
3000
+ realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);
3001
+
3002
+ if (params.centeredSlides) {
3003
+ if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {
3004
+ swiper.loopFix();
3005
+ slideToIndex = $wrapperEl.children("." + params.slideClass + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + params.slideDuplicateClass + ")").eq(0).index();
3006
+ nextTick(function () {
3007
+ swiper.slideTo(slideToIndex);
3008
+ });
3009
+ } else {
3010
+ swiper.slideTo(slideToIndex);
3011
+ }
3012
+ } else if (slideToIndex > swiper.slides.length - slidesPerView) {
3013
+ swiper.loopFix();
3014
+ slideToIndex = $wrapperEl.children("." + params.slideClass + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + params.slideDuplicateClass + ")").eq(0).index();
3015
+ nextTick(function () {
3016
+ swiper.slideTo(slideToIndex);
3017
+ });
3018
+ } else {
3019
+ swiper.slideTo(slideToIndex);
3020
+ }
3021
+ } else {
3022
+ swiper.slideTo(slideToIndex);
3023
+ }
3024
+ }
3025
+
3026
+ var slide = {
3027
+ slideTo: slideTo,
3028
+ slideToLoop: slideToLoop,
3029
+ slideNext: slideNext,
3030
+ slidePrev: slidePrev,
3031
+ slideReset: slideReset,
3032
+ slideToClosest: slideToClosest,
3033
+ slideToClickedSlide: slideToClickedSlide
3034
+ };
3035
+
3036
+ function loopCreate() {
3037
+ var swiper = this;
3038
+ var document = getDocument();
3039
+ var params = swiper.params,
3040
+ $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides
3041
+
3042
+ $wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass).remove();
3043
+ var slides = $wrapperEl.children("." + params.slideClass);
3044
+
3045
+ if (params.loopFillGroupWithBlank) {
3046
+ var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;
3047
+
3048
+ if (blankSlidesNum !== params.slidesPerGroup) {
3049
+ for (var i = 0; i < blankSlidesNum; i += 1) {
3050
+ var blankNode = $(document.createElement('div')).addClass(params.slideClass + " " + params.slideBlankClass);
3051
+ $wrapperEl.append(blankNode);
3052
+ }
3053
+
3054
+ slides = $wrapperEl.children("." + params.slideClass);
3055
+ }
3056
+ }
3057
+
3058
+ if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;
3059
+ swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));
3060
+ swiper.loopedSlides += params.loopAdditionalSlides;
3061
+
3062
+ if (swiper.loopedSlides > slides.length) {
3063
+ swiper.loopedSlides = slides.length;
3064
+ }
3065
+
3066
+ var prependSlides = [];
3067
+ var appendSlides = [];
3068
+ slides.each(function (el, index) {
3069
+ var slide = $(el);
3070
+
3071
+ if (index < swiper.loopedSlides) {
3072
+ appendSlides.push(el);
3073
+ }
3074
+
3075
+ if (index < slides.length && index >= slides.length - swiper.loopedSlides) {
3076
+ prependSlides.push(el);
3077
+ }
3078
+
3079
+ slide.attr('data-swiper-slide-index', index);
3080
+ });
3081
+
3082
+ for (var _i = 0; _i < appendSlides.length; _i += 1) {
3083
+ $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));
3084
+ }
3085
+
3086
+ for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {
3087
+ $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));
3088
+ }
3089
+ }
3090
+
3091
+ function loopFix() {
3092
+ var swiper = this;
3093
+ swiper.emit('beforeLoopFix');
3094
+ var activeIndex = swiper.activeIndex,
3095
+ slides = swiper.slides,
3096
+ loopedSlides = swiper.loopedSlides,
3097
+ allowSlidePrev = swiper.allowSlidePrev,
3098
+ allowSlideNext = swiper.allowSlideNext,
3099
+ snapGrid = swiper.snapGrid,
3100
+ rtl = swiper.rtlTranslate;
3101
+ var newIndex;
3102
+ swiper.allowSlidePrev = true;
3103
+ swiper.allowSlideNext = true;
3104
+ var snapTranslate = -snapGrid[activeIndex];
3105
+ var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding
3106
+
3107
+ if (activeIndex < loopedSlides) {
3108
+ newIndex = slides.length - loopedSlides * 3 + activeIndex;
3109
+ newIndex += loopedSlides;
3110
+ var slideChanged = swiper.slideTo(newIndex, 0, false, true);
3111
+
3112
+ if (slideChanged && diff !== 0) {
3113
+ swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
3114
+ }
3115
+ } else if (activeIndex >= slides.length - loopedSlides) {
3116
+ // Fix For Positive Oversliding
3117
+ newIndex = -slides.length + activeIndex + loopedSlides;
3118
+ newIndex += loopedSlides;
3119
+
3120
+ var _slideChanged = swiper.slideTo(newIndex, 0, false, true);
3121
+
3122
+ if (_slideChanged && diff !== 0) {
3123
+ swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
3124
+ }
3125
+ }
3126
+
3127
+ swiper.allowSlidePrev = allowSlidePrev;
3128
+ swiper.allowSlideNext = allowSlideNext;
3129
+ swiper.emit('loopFix');
3130
+ }
3131
+
3132
+ function loopDestroy() {
3133
+ var swiper = this;
3134
+ var $wrapperEl = swiper.$wrapperEl,
3135
+ params = swiper.params,
3136
+ slides = swiper.slides;
3137
+ $wrapperEl.children("." + params.slideClass + "." + params.slideDuplicateClass + ",." + params.slideClass + "." + params.slideBlankClass).remove();
3138
+ slides.removeAttr('data-swiper-slide-index');
3139
+ }
3140
+
3141
+ var loop = {
3142
+ loopCreate: loopCreate,
3143
+ loopFix: loopFix,
3144
+ loopDestroy: loopDestroy
3145
+ };
3146
+
3147
+ function setGrabCursor(moving) {
3148
+ var swiper = this;
3149
+ if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;
3150
+ var el = swiper.el;
3151
+ el.style.cursor = 'move';
3152
+ el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';
3153
+ el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';
3154
+ el.style.cursor = moving ? 'grabbing' : 'grab';
3155
+ }
3156
+
3157
+ function unsetGrabCursor() {
3158
+ var swiper = this;
3159
+
3160
+ if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {
3161
+ return;
3162
+ }
3163
+
3164
+ swiper.el.style.cursor = '';
3165
+ }
3166
+
3167
+ var grabCursor = {
3168
+ setGrabCursor: setGrabCursor,
3169
+ unsetGrabCursor: unsetGrabCursor
3170
+ };
3171
+
3172
+ function appendSlide(slides) {
3173
+ var swiper = this;
3174
+ var $wrapperEl = swiper.$wrapperEl,
3175
+ params = swiper.params;
3176
+
3177
+ if (params.loop) {
3178
+ swiper.loopDestroy();
3179
+ }
3180
+
3181
+ if (typeof slides === 'object' && 'length' in slides) {
3182
+ for (var i = 0; i < slides.length; i += 1) {
3183
+ if (slides[i]) $wrapperEl.append(slides[i]);
3184
+ }
3185
+ } else {
3186
+ $wrapperEl.append(slides);
3187
+ }
3188
+
3189
+ if (params.loop) {
3190
+ swiper.loopCreate();
3191
+ }
3192
+
3193
+ if (!(params.observer && swiper.support.observer)) {
3194
+ swiper.update();
3195
+ }
3196
+ }
3197
+
3198
+ function prependSlide(slides) {
3199
+ var swiper = this;
3200
+ var params = swiper.params,
3201
+ $wrapperEl = swiper.$wrapperEl,
3202
+ activeIndex = swiper.activeIndex;
3203
+
3204
+ if (params.loop) {
3205
+ swiper.loopDestroy();
3206
+ }
3207
+
3208
+ var newActiveIndex = activeIndex + 1;
3209
+
3210
+ if (typeof slides === 'object' && 'length' in slides) {
3211
+ for (var i = 0; i < slides.length; i += 1) {
3212
+ if (slides[i]) $wrapperEl.prepend(slides[i]);
3213
+ }
3214
+
3215
+ newActiveIndex = activeIndex + slides.length;
3216
+ } else {
3217
+ $wrapperEl.prepend(slides);
3218
+ }
3219
+
3220
+ if (params.loop) {
3221
+ swiper.loopCreate();
3222
+ }
3223
+
3224
+ if (!(params.observer && swiper.support.observer)) {
3225
+ swiper.update();
3226
+ }
3227
+
3228
+ swiper.slideTo(newActiveIndex, 0, false);
3229
+ }
3230
+
3231
+ function addSlide(index, slides) {
3232
+ var swiper = this;
3233
+ var $wrapperEl = swiper.$wrapperEl,
3234
+ params = swiper.params,
3235
+ activeIndex = swiper.activeIndex;
3236
+ var activeIndexBuffer = activeIndex;
3237
+
3238
+ if (params.loop) {
3239
+ activeIndexBuffer -= swiper.loopedSlides;
3240
+ swiper.loopDestroy();
3241
+ swiper.slides = $wrapperEl.children("." + params.slideClass);
3242
+ }
3243
+
3244
+ var baseLength = swiper.slides.length;
3245
+
3246
+ if (index <= 0) {
3247
+ swiper.prependSlide(slides);
3248
+ return;
3249
+ }
3250
+
3251
+ if (index >= baseLength) {
3252
+ swiper.appendSlide(slides);
3253
+ return;
3254
+ }
3255
+
3256
+ var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
3257
+ var slidesBuffer = [];
3258
+
3259
+ for (var i = baseLength - 1; i >= index; i -= 1) {
3260
+ var currentSlide = swiper.slides.eq(i);
3261
+ currentSlide.remove();
3262
+ slidesBuffer.unshift(currentSlide);
3263
+ }
3264
+
3265
+ if (typeof slides === 'object' && 'length' in slides) {
3266
+ for (var _i = 0; _i < slides.length; _i += 1) {
3267
+ if (slides[_i]) $wrapperEl.append(slides[_i]);
3268
+ }
3269
+
3270
+ newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
3271
+ } else {
3272
+ $wrapperEl.append(slides);
3273
+ }
3274
+
3275
+ for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {
3276
+ $wrapperEl.append(slidesBuffer[_i2]);
3277
+ }
3278
+
3279
+ if (params.loop) {
3280
+ swiper.loopCreate();
3281
+ }
3282
+
3283
+ if (!(params.observer && swiper.support.observer)) {
3284
+ swiper.update();
3285
+ }
3286
+
3287
+ if (params.loop) {
3288
+ swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
3289
+ } else {
3290
+ swiper.slideTo(newActiveIndex, 0, false);
3291
+ }
3292
+ }
3293
+
3294
+ function removeSlide(slidesIndexes) {
3295
+ var swiper = this;
3296
+ var params = swiper.params,
3297
+ $wrapperEl = swiper.$wrapperEl,
3298
+ activeIndex = swiper.activeIndex;
3299
+ var activeIndexBuffer = activeIndex;
3300
+
3301
+ if (params.loop) {
3302
+ activeIndexBuffer -= swiper.loopedSlides;
3303
+ swiper.loopDestroy();
3304
+ swiper.slides = $wrapperEl.children("." + params.slideClass);
3305
+ }
3306
+
3307
+ var newActiveIndex = activeIndexBuffer;
3308
+ var indexToRemove;
3309
+
3310
+ if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
3311
+ for (var i = 0; i < slidesIndexes.length; i += 1) {
3312
+ indexToRemove = slidesIndexes[i];
3313
+ if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
3314
+ if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
3315
+ }
3316
+
3317
+ newActiveIndex = Math.max(newActiveIndex, 0);
3318
+ } else {
3319
+ indexToRemove = slidesIndexes;
3320
+ if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
3321
+ if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
3322
+ newActiveIndex = Math.max(newActiveIndex, 0);
3323
+ }
3324
+
3325
+ if (params.loop) {
3326
+ swiper.loopCreate();
3327
+ }
3328
+
3329
+ if (!(params.observer && swiper.support.observer)) {
3330
+ swiper.update();
3331
+ }
3332
+
3333
+ if (params.loop) {
3334
+ swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
3335
+ } else {
3336
+ swiper.slideTo(newActiveIndex, 0, false);
3337
+ }
3338
+ }
3339
+
3340
+ function removeAllSlides() {
3341
+ var swiper = this;
3342
+ var slidesIndexes = [];
3343
+
3344
+ for (var i = 0; i < swiper.slides.length; i += 1) {
3345
+ slidesIndexes.push(i);
3346
+ }
3347
+
3348
+ swiper.removeSlide(slidesIndexes);
3349
+ }
3350
+
3351
+ var manipulation = {
3352
+ appendSlide: appendSlide,
3353
+ prependSlide: prependSlide,
3354
+ addSlide: addSlide,
3355
+ removeSlide: removeSlide,
3356
+ removeAllSlides: removeAllSlides
3357
+ };
3358
+
3359
+ function onTouchStart(event) {
3360
+ var swiper = this;
3361
+ var document = getDocument();
3362
+ var window = getWindow();
3363
+ var data = swiper.touchEventsData;
3364
+ var params = swiper.params,
3365
+ touches = swiper.touches;
3366
+
3367
+ if (swiper.animating && params.preventInteractionOnTransition) {
3368
+ return;
3369
+ }
3370
+
3371
+ var e = event;
3372
+ if (e.originalEvent) e = e.originalEvent;
3373
+ var $targetEl = $(e.target);
3374
+
3375
+ if (params.touchEventsTarget === 'wrapper') {
3376
+ if (!$targetEl.closest(swiper.wrapperEl).length) return;
3377
+ }
3378
+
3379
+ data.isTouchEvent = e.type === 'touchstart';
3380
+ if (!data.isTouchEvent && 'which' in e && e.which === 3) return;
3381
+ if (!data.isTouchEvent && 'button' in e && e.button > 0) return;
3382
+ if (data.isTouched && data.isMoved) return;
3383
+
3384
+ if (params.noSwiping && $targetEl.closest(params.noSwipingSelector ? params.noSwipingSelector : "." + params.noSwipingClass)[0]) {
3385
+ swiper.allowClick = true;
3386
+ return;
3387
+ }
3388
+
3389
+ if (params.swipeHandler) {
3390
+ if (!$targetEl.closest(params.swipeHandler)[0]) return;
3391
+ }
3392
+
3393
+ touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
3394
+ touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
3395
+ var startX = touches.currentX;
3396
+ var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore
3397
+
3398
+ var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;
3399
+ var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;
3400
+
3401
+ if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.screen.width - edgeSwipeThreshold)) {
3402
+ return;
3403
+ }
3404
+
3405
+ extend$1(data, {
3406
+ isTouched: true,
3407
+ isMoved: false,
3408
+ allowTouchCallbacks: true,
3409
+ isScrolling: undefined,
3410
+ startMoving: undefined
3411
+ });
3412
+ touches.startX = startX;
3413
+ touches.startY = startY;
3414
+ data.touchStartTime = now();
3415
+ swiper.allowClick = true;
3416
+ swiper.updateSize();
3417
+ swiper.swipeDirection = undefined;
3418
+ if (params.threshold > 0) data.allowThresholdMove = false;
3419
+
3420
+ if (e.type !== 'touchstart') {
3421
+ var preventDefault = true;
3422
+ if ($targetEl.is(data.formElements)) preventDefault = false;
3423
+
3424
+ if (document.activeElement && $(document.activeElement).is(data.formElements) && document.activeElement !== $targetEl[0]) {
3425
+ document.activeElement.blur();
3426
+ }
3427
+
3428
+ var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
3429
+
3430
+ if (params.touchStartForcePreventDefault || shouldPreventDefault) {
3431
+ e.preventDefault();
3432
+ }
3433
+ }
3434
+
3435
+ swiper.emit('touchStart', e);
3436
+ }
3437
+
3438
+ function onTouchMove(event) {
3439
+ var document = getDocument();
3440
+ var swiper = this;
3441
+ var data = swiper.touchEventsData;
3442
+ var params = swiper.params,
3443
+ touches = swiper.touches,
3444
+ rtl = swiper.rtlTranslate;
3445
+ var e = event;
3446
+ if (e.originalEvent) e = e.originalEvent;
3447
+
3448
+ if (!data.isTouched) {
3449
+ if (data.startMoving && data.isScrolling) {
3450
+ swiper.emit('touchMoveOpposite', e);
3451
+ }
3452
+
3453
+ return;
3454
+ }
3455
+
3456
+ if (data.isTouchEvent && e.type !== 'touchmove') return;
3457
+ var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);
3458
+ var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;
3459
+ var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;
3460
+
3461
+ if (e.preventedByNestedSwiper) {
3462
+ touches.startX = pageX;
3463
+ touches.startY = pageY;
3464
+ return;
3465
+ }
3466
+
3467
+ if (!swiper.allowTouchMove) {
3468
+ // isMoved = true;
3469
+ swiper.allowClick = false;
3470
+
3471
+ if (data.isTouched) {
3472
+ extend$1(touches, {
3473
+ startX: pageX,
3474
+ startY: pageY,
3475
+ currentX: pageX,
3476
+ currentY: pageY
3477
+ });
3478
+ data.touchStartTime = now();
3479
+ }
3480
+
3481
+ return;
3482
+ }
3483
+
3484
+ if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {
3485
+ if (swiper.isVertical()) {
3486
+ // Vertical
3487
+ if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {
3488
+ data.isTouched = false;
3489
+ data.isMoved = false;
3490
+ return;
3491
+ }
3492
+ } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {
3493
+ return;
3494
+ }
3495
+ }
3496
+
3497
+ if (data.isTouchEvent && document.activeElement) {
3498
+ if (e.target === document.activeElement && $(e.target).is(data.formElements)) {
3499
+ data.isMoved = true;
3500
+ swiper.allowClick = false;
3501
+ return;
3502
+ }
3503
+ }
3504
+
3505
+ if (data.allowTouchCallbacks) {
3506
+ swiper.emit('touchMove', e);
3507
+ }
3508
+
3509
+ if (e.targetTouches && e.targetTouches.length > 1) return;
3510
+ touches.currentX = pageX;
3511
+ touches.currentY = pageY;
3512
+ var diffX = touches.currentX - touches.startX;
3513
+ var diffY = touches.currentY - touches.startY;
3514
+ if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;
3515
+
3516
+ if (typeof data.isScrolling === 'undefined') {
3517
+ var touchAngle;
3518
+
3519
+ if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {
3520
+ data.isScrolling = false;
3521
+ } else {
3522
+ // eslint-disable-next-line
3523
+ if (diffX * diffX + diffY * diffY >= 25) {
3524
+ touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;
3525
+ data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;
3526
+ }
3527
+ }
3528
+ }
3529
+
3530
+ if (data.isScrolling) {
3531
+ swiper.emit('touchMoveOpposite', e);
3532
+ }
3533
+
3534
+ if (typeof data.startMoving === 'undefined') {
3535
+ if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {
3536
+ data.startMoving = true;
3537
+ }
3538
+ }
3539
+
3540
+ if (data.isScrolling) {
3541
+ data.isTouched = false;
3542
+ return;
3543
+ }
3544
+
3545
+ if (!data.startMoving) {
3546
+ return;
3547
+ }
3548
+
3549
+ swiper.allowClick = false;
3550
+
3551
+ if (!params.cssMode && e.cancelable) {
3552
+ e.preventDefault();
3553
+ }
3554
+
3555
+ if (params.touchMoveStopPropagation && !params.nested) {
3556
+ e.stopPropagation();
3557
+ }
3558
+
3559
+ if (!data.isMoved) {
3560
+ if (params.loop) {
3561
+ swiper.loopFix();
3562
+ }
3563
+
3564
+ data.startTranslate = swiper.getTranslate();
3565
+ swiper.setTransition(0);
3566
+
3567
+ if (swiper.animating) {
3568
+ swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');
3569
+ }
3570
+
3571
+ data.allowMomentumBounce = false; // Grab Cursor
3572
+
3573
+ if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
3574
+ swiper.setGrabCursor(true);
3575
+ }
3576
+
3577
+ swiper.emit('sliderFirstMove', e);
3578
+ }
3579
+
3580
+ swiper.emit('sliderMove', e);
3581
+ data.isMoved = true;
3582
+ var diff = swiper.isHorizontal() ? diffX : diffY;
3583
+ touches.diff = diff;
3584
+ diff *= params.touchRatio;
3585
+ if (rtl) diff = -diff;
3586
+ swiper.swipeDirection = diff > 0 ? 'prev' : 'next';
3587
+ data.currentTranslate = diff + data.startTranslate;
3588
+ var disableParentSwiper = true;
3589
+ var resistanceRatio = params.resistanceRatio;
3590
+
3591
+ if (params.touchReleaseOnEdges) {
3592
+ resistanceRatio = 0;
3593
+ }
3594
+
3595
+ if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {
3596
+ disableParentSwiper = false;
3597
+ if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);
3598
+ } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {
3599
+ disableParentSwiper = false;
3600
+ if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);
3601
+ }
3602
+
3603
+ if (disableParentSwiper) {
3604
+ e.preventedByNestedSwiper = true;
3605
+ } // Directions locks
3606
+
3607
+
3608
+ if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {
3609
+ data.currentTranslate = data.startTranslate;
3610
+ }
3611
+
3612
+ if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {
3613
+ data.currentTranslate = data.startTranslate;
3614
+ } // Threshold
3615
+
3616
+
3617
+ if (params.threshold > 0) {
3618
+ if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
3619
+ if (!data.allowThresholdMove) {
3620
+ data.allowThresholdMove = true;
3621
+ touches.startX = touches.currentX;
3622
+ touches.startY = touches.currentY;
3623
+ data.currentTranslate = data.startTranslate;
3624
+ touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;
3625
+ return;
3626
+ }
3627
+ } else {
3628
+ data.currentTranslate = data.startTranslate;
3629
+ return;
3630
+ }
3631
+ }
3632
+
3633
+ if (!params.followFinger || params.cssMode) return; // Update active index in free mode
3634
+
3635
+ if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {
3636
+ swiper.updateActiveIndex();
3637
+ swiper.updateSlidesClasses();
3638
+ }
3639
+
3640
+ if (params.freeMode) {
3641
+ // Velocity
3642
+ if (data.velocities.length === 0) {
3643
+ data.velocities.push({
3644
+ position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],
3645
+ time: data.touchStartTime
3646
+ });
3647
+ }
3648
+
3649
+ data.velocities.push({
3650
+ position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],
3651
+ time: now()
3652
+ });
3653
+ } // Update progress
3654
+
3655
+
3656
+ swiper.updateProgress(data.currentTranslate); // Update translate
3657
+
3658
+ swiper.setTranslate(data.currentTranslate);
3659
+ }
3660
+
3661
+ function onTouchEnd(event) {
3662
+ var swiper = this;
3663
+ var data = swiper.touchEventsData;
3664
+ var params = swiper.params,
3665
+ touches = swiper.touches,
3666
+ rtl = swiper.rtlTranslate,
3667
+ $wrapperEl = swiper.$wrapperEl,
3668
+ slidesGrid = swiper.slidesGrid,
3669
+ snapGrid = swiper.snapGrid;
3670
+ var e = event;
3671
+ if (e.originalEvent) e = e.originalEvent;
3672
+
3673
+ if (data.allowTouchCallbacks) {
3674
+ swiper.emit('touchEnd', e);
3675
+ }
3676
+
3677
+ data.allowTouchCallbacks = false;
3678
+
3679
+ if (!data.isTouched) {
3680
+ if (data.isMoved && params.grabCursor) {
3681
+ swiper.setGrabCursor(false);
3682
+ }
3683
+
3684
+ data.isMoved = false;
3685
+ data.startMoving = false;
3686
+ return;
3687
+ } // Return Grab Cursor
3688
+
3689
+
3690
+ if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
3691
+ swiper.setGrabCursor(false);
3692
+ } // Time diff
3693
+
3694
+
3695
+ var touchEndTime = now();
3696
+ var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click
3697
+
3698
+ if (swiper.allowClick) {
3699
+ swiper.updateClickedSlide(e);
3700
+ swiper.emit('tap click', e);
3701
+
3702
+ if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {
3703
+ swiper.emit('doubleTap doubleClick', e);
3704
+ }
3705
+ }
3706
+
3707
+ data.lastClickTime = now();
3708
+ nextTick(function () {
3709
+ if (!swiper.destroyed) swiper.allowClick = true;
3710
+ });
3711
+
3712
+ if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {
3713
+ data.isTouched = false;
3714
+ data.isMoved = false;
3715
+ data.startMoving = false;
3716
+ return;
3717
+ }
3718
+
3719
+ data.isTouched = false;
3720
+ data.isMoved = false;
3721
+ data.startMoving = false;
3722
+ var currentPos;
3723
+
3724
+ if (params.followFinger) {
3725
+ currentPos = rtl ? swiper.translate : -swiper.translate;
3726
+ } else {
3727
+ currentPos = -data.currentTranslate;
3728
+ }
3729
+
3730
+ if (params.cssMode) {
3731
+ return;
3732
+ }
3733
+
3734
+ if (params.freeMode) {
3735
+ if (currentPos < -swiper.minTranslate()) {
3736
+ swiper.slideTo(swiper.activeIndex);
3737
+ return;
3738
+ }
3739
+
3740
+ if (currentPos > -swiper.maxTranslate()) {
3741
+ if (swiper.slides.length < snapGrid.length) {
3742
+ swiper.slideTo(snapGrid.length - 1);
3743
+ } else {
3744
+ swiper.slideTo(swiper.slides.length - 1);
3745
+ }
3746
+
3747
+ return;
3748
+ }
3749
+
3750
+ if (params.freeModeMomentum) {
3751
+ if (data.velocities.length > 1) {
3752
+ var lastMoveEvent = data.velocities.pop();
3753
+ var velocityEvent = data.velocities.pop();
3754
+ var distance = lastMoveEvent.position - velocityEvent.position;
3755
+ var time = lastMoveEvent.time - velocityEvent.time;
3756
+ swiper.velocity = distance / time;
3757
+ swiper.velocity /= 2;
3758
+
3759
+ if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {
3760
+ swiper.velocity = 0;
3761
+ } // this implies that the user stopped moving a finger then released.
3762
+ // There would be no events with distance zero, so the last event is stale.
3763
+
3764
+
3765
+ if (time > 150 || now() - lastMoveEvent.time > 300) {
3766
+ swiper.velocity = 0;
3767
+ }
3768
+ } else {
3769
+ swiper.velocity = 0;
3770
+ }
3771
+
3772
+ swiper.velocity *= params.freeModeMomentumVelocityRatio;
3773
+ data.velocities.length = 0;
3774
+ var momentumDuration = 1000 * params.freeModeMomentumRatio;
3775
+ var momentumDistance = swiper.velocity * momentumDuration;
3776
+ var newPosition = swiper.translate + momentumDistance;
3777
+ if (rtl) newPosition = -newPosition;
3778
+ var doBounce = false;
3779
+ var afterBouncePosition;
3780
+ var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;
3781
+ var needsLoopFix;
3782
+
3783
+ if (newPosition < swiper.maxTranslate()) {
3784
+ if (params.freeModeMomentumBounce) {
3785
+ if (newPosition + swiper.maxTranslate() < -bounceAmount) {
3786
+ newPosition = swiper.maxTranslate() - bounceAmount;
3787
+ }
3788
+
3789
+ afterBouncePosition = swiper.maxTranslate();
3790
+ doBounce = true;
3791
+ data.allowMomentumBounce = true;
3792
+ } else {
3793
+ newPosition = swiper.maxTranslate();
3794
+ }
3795
+
3796
+ if (params.loop && params.centeredSlides) needsLoopFix = true;
3797
+ } else if (newPosition > swiper.minTranslate()) {
3798
+ if (params.freeModeMomentumBounce) {
3799
+ if (newPosition - swiper.minTranslate() > bounceAmount) {
3800
+ newPosition = swiper.minTranslate() + bounceAmount;
3801
+ }
3802
+
3803
+ afterBouncePosition = swiper.minTranslate();
3804
+ doBounce = true;
3805
+ data.allowMomentumBounce = true;
3806
+ } else {
3807
+ newPosition = swiper.minTranslate();
3808
+ }
3809
+
3810
+ if (params.loop && params.centeredSlides) needsLoopFix = true;
3811
+ } else if (params.freeModeSticky) {
3812
+ var nextSlide;
3813
+
3814
+ for (var j = 0; j < snapGrid.length; j += 1) {
3815
+ if (snapGrid[j] > -newPosition) {
3816
+ nextSlide = j;
3817
+ break;
3818
+ }
3819
+ }
3820
+
3821
+ if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {
3822
+ newPosition = snapGrid[nextSlide];
3823
+ } else {
3824
+ newPosition = snapGrid[nextSlide - 1];
3825
+ }
3826
+
3827
+ newPosition = -newPosition;
3828
+ }
3829
+
3830
+ if (needsLoopFix) {
3831
+ swiper.once('transitionEnd', function () {
3832
+ swiper.loopFix();
3833
+ });
3834
+ } // Fix duration
3835
+
3836
+
3837
+ if (swiper.velocity !== 0) {
3838
+ if (rtl) {
3839
+ momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
3840
+ } else {
3841
+ momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
3842
+ }
3843
+
3844
+ if (params.freeModeSticky) {
3845
+ // If freeModeSticky is active and the user ends a swipe with a slow-velocity
3846
+ // event, then durations can be 20+ seconds to slide one (or zero!) slides.
3847
+ // It's easy to see this when simulating touch with mouse events. To fix this,
3848
+ // limit single-slide swipes to the default slide duration. This also has the
3849
+ // nice side effect of matching slide speed if the user stopped moving before
3850
+ // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.
3851
+ // For faster swipes, also apply limits (albeit higher ones).
3852
+ var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);
3853
+ var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
3854
+
3855
+ if (moveDistance < currentSlideSize) {
3856
+ momentumDuration = params.speed;
3857
+ } else if (moveDistance < 2 * currentSlideSize) {
3858
+ momentumDuration = params.speed * 1.5;
3859
+ } else {
3860
+ momentumDuration = params.speed * 2.5;
3861
+ }
3862
+ }
3863
+ } else if (params.freeModeSticky) {
3864
+ swiper.slideToClosest();
3865
+ return;
3866
+ }
3867
+
3868
+ if (params.freeModeMomentumBounce && doBounce) {
3869
+ swiper.updateProgress(afterBouncePosition);
3870
+ swiper.setTransition(momentumDuration);
3871
+ swiper.setTranslate(newPosition);
3872
+ swiper.transitionStart(true, swiper.swipeDirection);
3873
+ swiper.animating = true;
3874
+ $wrapperEl.transitionEnd(function () {
3875
+ if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;
3876
+ swiper.emit('momentumBounce');
3877
+ swiper.setTransition(params.speed);
3878
+ setTimeout(function () {
3879
+ swiper.setTranslate(afterBouncePosition);
3880
+ $wrapperEl.transitionEnd(function () {
3881
+ if (!swiper || swiper.destroyed) return;
3882
+ swiper.transitionEnd();
3883
+ });
3884
+ }, 0);
3885
+ });
3886
+ } else if (swiper.velocity) {
3887
+ swiper.updateProgress(newPosition);
3888
+ swiper.setTransition(momentumDuration);
3889
+ swiper.setTranslate(newPosition);
3890
+ swiper.transitionStart(true, swiper.swipeDirection);
3891
+
3892
+ if (!swiper.animating) {
3893
+ swiper.animating = true;
3894
+ $wrapperEl.transitionEnd(function () {
3895
+ if (!swiper || swiper.destroyed) return;
3896
+ swiper.transitionEnd();
3897
+ });
3898
+ }
3899
+ } else {
3900
+ swiper.updateProgress(newPosition);
3901
+ }
3902
+
3903
+ swiper.updateActiveIndex();
3904
+ swiper.updateSlidesClasses();
3905
+ } else if (params.freeModeSticky) {
3906
+ swiper.slideToClosest();
3907
+ return;
3908
+ }
3909
+
3910
+ if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {
3911
+ swiper.updateProgress();
3912
+ swiper.updateActiveIndex();
3913
+ swiper.updateSlidesClasses();
3914
+ }
3915
+
3916
+ return;
3917
+ } // Find current slide
3918
+
3919
+
3920
+ var stopIndex = 0;
3921
+ var groupSize = swiper.slidesSizesGrid[0];
3922
+
3923
+ for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {
3924
+ var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
3925
+
3926
+ if (typeof slidesGrid[i + _increment] !== 'undefined') {
3927
+ if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {
3928
+ stopIndex = i;
3929
+ groupSize = slidesGrid[i + _increment] - slidesGrid[i];
3930
+ }
3931
+ } else if (currentPos >= slidesGrid[i]) {
3932
+ stopIndex = i;
3933
+ groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
3934
+ }
3935
+ } // Find current slide size
3936
+
3937
+
3938
+ var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;
3939
+ var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
3940
+
3941
+ if (timeDiff > params.longSwipesMs) {
3942
+ // Long touches
3943
+ if (!params.longSwipes) {
3944
+ swiper.slideTo(swiper.activeIndex);
3945
+ return;
3946
+ }
3947
+
3948
+ if (swiper.swipeDirection === 'next') {
3949
+ if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);
3950
+ }
3951
+
3952
+ if (swiper.swipeDirection === 'prev') {
3953
+ if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);
3954
+ }
3955
+ } else {
3956
+ // Short swipes
3957
+ if (!params.shortSwipes) {
3958
+ swiper.slideTo(swiper.activeIndex);
3959
+ return;
3960
+ }
3961
+
3962
+ var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);
3963
+
3964
+ if (!isNavButtonTarget) {
3965
+ if (swiper.swipeDirection === 'next') {
3966
+ swiper.slideTo(stopIndex + increment);
3967
+ }
3968
+
3969
+ if (swiper.swipeDirection === 'prev') {
3970
+ swiper.slideTo(stopIndex);
3971
+ }
3972
+ } else if (e.target === swiper.navigation.nextEl) {
3973
+ swiper.slideTo(stopIndex + increment);
3974
+ } else {
3975
+ swiper.slideTo(stopIndex);
3976
+ }
3977
+ }
3978
+ }
3979
+
3980
+ function onResize() {
3981
+ var swiper = this;
3982
+ var params = swiper.params,
3983
+ el = swiper.el;
3984
+ if (el && el.offsetWidth === 0) return; // Breakpoints
3985
+
3986
+ if (params.breakpoints) {
3987
+ swiper.setBreakpoint();
3988
+ } // Save locks
3989
+
3990
+
3991
+ var allowSlideNext = swiper.allowSlideNext,
3992
+ allowSlidePrev = swiper.allowSlidePrev,
3993
+ snapGrid = swiper.snapGrid; // Disable locks on resize
3994
+
3995
+ swiper.allowSlideNext = true;
3996
+ swiper.allowSlidePrev = true;
3997
+ swiper.updateSize();
3998
+ swiper.updateSlides();
3999
+ swiper.updateSlidesClasses();
4000
+
4001
+ if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {
4002
+ swiper.slideTo(swiper.slides.length - 1, 0, false, true);
4003
+ } else {
4004
+ swiper.slideTo(swiper.activeIndex, 0, false, true);
4005
+ }
4006
+
4007
+ if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
4008
+ swiper.autoplay.run();
4009
+ } // Return locks after resize
4010
+
4011
+
4012
+ swiper.allowSlidePrev = allowSlidePrev;
4013
+ swiper.allowSlideNext = allowSlideNext;
4014
+
4015
+ if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
4016
+ swiper.checkOverflow();
4017
+ }
4018
+ }
4019
+
4020
+ function onClick(e) {
4021
+ var swiper = this;
4022
+
4023
+ if (!swiper.allowClick) {
4024
+ if (swiper.params.preventClicks) e.preventDefault();
4025
+
4026
+ if (swiper.params.preventClicksPropagation && swiper.animating) {
4027
+ e.stopPropagation();
4028
+ e.stopImmediatePropagation();
4029
+ }
4030
+ }
4031
+ }
4032
+
4033
+ function onScroll() {
4034
+ var swiper = this;
4035
+ var wrapperEl = swiper.wrapperEl,
4036
+ rtlTranslate = swiper.rtlTranslate;
4037
+ swiper.previousTranslate = swiper.translate;
4038
+
4039
+ if (swiper.isHorizontal()) {
4040
+ if (rtlTranslate) {
4041
+ swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;
4042
+ } else {
4043
+ swiper.translate = -wrapperEl.scrollLeft;
4044
+ }
4045
+ } else {
4046
+ swiper.translate = -wrapperEl.scrollTop;
4047
+ } // eslint-disable-next-line
4048
+
4049
+
4050
+ if (swiper.translate === -0) swiper.translate = 0;
4051
+ swiper.updateActiveIndex();
4052
+ swiper.updateSlidesClasses();
4053
+ var newProgress;
4054
+ var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
4055
+
4056
+ if (translatesDiff === 0) {
4057
+ newProgress = 0;
4058
+ } else {
4059
+ newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
4060
+ }
4061
+
4062
+ if (newProgress !== swiper.progress) {
4063
+ swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);
4064
+ }
4065
+
4066
+ swiper.emit('setTranslate', swiper.translate, false);
4067
+ }
4068
+
4069
+ var dummyEventAttached = false;
4070
+
4071
+ function dummyEventListener() {}
4072
+
4073
+ function attachEvents() {
4074
+ var swiper = this;
4075
+ var document = getDocument();
4076
+ var params = swiper.params,
4077
+ touchEvents = swiper.touchEvents,
4078
+ el = swiper.el,
4079
+ wrapperEl = swiper.wrapperEl,
4080
+ device = swiper.device,
4081
+ support = swiper.support;
4082
+ swiper.onTouchStart = onTouchStart.bind(swiper);
4083
+ swiper.onTouchMove = onTouchMove.bind(swiper);
4084
+ swiper.onTouchEnd = onTouchEnd.bind(swiper);
4085
+
4086
+ if (params.cssMode) {
4087
+ swiper.onScroll = onScroll.bind(swiper);
4088
+ }
4089
+
4090
+ swiper.onClick = onClick.bind(swiper);
4091
+ var capture = !!params.nested; // Touch Events
4092
+
4093
+ if (!support.touch && support.pointerEvents) {
4094
+ el.addEventListener(touchEvents.start, swiper.onTouchStart, false);
4095
+ document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);
4096
+ document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);
4097
+ } else {
4098
+ if (support.touch) {
4099
+ var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {
4100
+ passive: true,
4101
+ capture: false
4102
+ } : false;
4103
+ el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
4104
+ el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {
4105
+ passive: false,
4106
+ capture: capture
4107
+ } : capture);
4108
+ el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
4109
+
4110
+ if (touchEvents.cancel) {
4111
+ el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);
4112
+ }
4113
+
4114
+ if (!dummyEventAttached) {
4115
+ document.addEventListener('touchstart', dummyEventListener);
4116
+ dummyEventAttached = true;
4117
+ }
4118
+ }
4119
+
4120
+ if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {
4121
+ el.addEventListener('mousedown', swiper.onTouchStart, false);
4122
+ document.addEventListener('mousemove', swiper.onTouchMove, capture);
4123
+ document.addEventListener('mouseup', swiper.onTouchEnd, false);
4124
+ }
4125
+ } // Prevent Links Clicks
4126
+
4127
+
4128
+ if (params.preventClicks || params.preventClicksPropagation) {
4129
+ el.addEventListener('click', swiper.onClick, true);
4130
+ }
4131
+
4132
+ if (params.cssMode) {
4133
+ wrapperEl.addEventListener('scroll', swiper.onScroll);
4134
+ } // Resize handler
4135
+
4136
+
4137
+ if (params.updateOnWindowResize) {
4138
+ swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);
4139
+ } else {
4140
+ swiper.on('observerUpdate', onResize, true);
4141
+ }
4142
+ }
4143
+
4144
+ function detachEvents() {
4145
+ var swiper = this;
4146
+ var document = getDocument();
4147
+ var params = swiper.params,
4148
+ touchEvents = swiper.touchEvents,
4149
+ el = swiper.el,
4150
+ wrapperEl = swiper.wrapperEl,
4151
+ device = swiper.device,
4152
+ support = swiper.support;
4153
+ var capture = !!params.nested; // Touch Events
4154
+
4155
+ if (!support.touch && support.pointerEvents) {
4156
+ el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);
4157
+ document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
4158
+ document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);
4159
+ } else {
4160
+ if (support.touch) {
4161
+ var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {
4162
+ passive: true,
4163
+ capture: false
4164
+ } : false;
4165
+ el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
4166
+ el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
4167
+ el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
4168
+
4169
+ if (touchEvents.cancel) {
4170
+ el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);
4171
+ }
4172
+ }
4173
+
4174
+ if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {
4175
+ el.removeEventListener('mousedown', swiper.onTouchStart, false);
4176
+ document.removeEventListener('mousemove', swiper.onTouchMove, capture);
4177
+ document.removeEventListener('mouseup', swiper.onTouchEnd, false);
4178
+ }
4179
+ } // Prevent Links Clicks
4180
+
4181
+
4182
+ if (params.preventClicks || params.preventClicksPropagation) {
4183
+ el.removeEventListener('click', swiper.onClick, true);
4184
+ }
4185
+
4186
+ if (params.cssMode) {
4187
+ wrapperEl.removeEventListener('scroll', swiper.onScroll);
4188
+ } // Resize handler
4189
+
4190
+
4191
+ swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);
4192
+ }
4193
+
4194
+ var events = {
4195
+ attachEvents: attachEvents,
4196
+ detachEvents: detachEvents
4197
+ };
4198
+
4199
+ function setBreakpoint() {
4200
+ var swiper = this;
4201
+ var activeIndex = swiper.activeIndex,
4202
+ initialized = swiper.initialized,
4203
+ _swiper$loopedSlides = swiper.loopedSlides,
4204
+ loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,
4205
+ params = swiper.params,
4206
+ $el = swiper.$el;
4207
+ var breakpoints = params.breakpoints;
4208
+ if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters
4209
+
4210
+ var breakpoint = swiper.getBreakpoint(breakpoints);
4211
+
4212
+ if (breakpoint && swiper.currentBreakpoint !== breakpoint) {
4213
+ var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
4214
+
4215
+ if (breakpointOnlyParams) {
4216
+ ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {
4217
+ var paramValue = breakpointOnlyParams[param];
4218
+ if (typeof paramValue === 'undefined') return;
4219
+
4220
+ if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {
4221
+ breakpointOnlyParams[param] = 'auto';
4222
+ } else if (param === 'slidesPerView') {
4223
+ breakpointOnlyParams[param] = parseFloat(paramValue);
4224
+ } else {
4225
+ breakpointOnlyParams[param] = parseInt(paramValue, 10);
4226
+ }
4227
+ });
4228
+ }
4229
+
4230
+ var breakpointParams = breakpointOnlyParams || swiper.originalParams;
4231
+ var wasMultiRow = params.slidesPerColumn > 1;
4232
+ var isMultiRow = breakpointParams.slidesPerColumn > 1;
4233
+
4234
+ if (wasMultiRow && !isMultiRow) {
4235
+ $el.removeClass(params.containerModifierClass + "multirow " + params.containerModifierClass + "multirow-column");
4236
+ swiper.emitContainerClasses();
4237
+ } else if (!wasMultiRow && isMultiRow) {
4238
+ $el.addClass(params.containerModifierClass + "multirow");
4239
+
4240
+ if (breakpointParams.slidesPerColumnFill === 'column') {
4241
+ $el.addClass(params.containerModifierClass + "multirow-column");
4242
+ }
4243
+
4244
+ swiper.emitContainerClasses();
4245
+ }
4246
+
4247
+ var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;
4248
+ var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);
4249
+
4250
+ if (directionChanged && initialized) {
4251
+ swiper.changeDirection();
4252
+ }
4253
+
4254
+ extend$1(swiper.params, breakpointParams);
4255
+ extend$1(swiper, {
4256
+ allowTouchMove: swiper.params.allowTouchMove,
4257
+ allowSlideNext: swiper.params.allowSlideNext,
4258
+ allowSlidePrev: swiper.params.allowSlidePrev
4259
+ });
4260
+ swiper.currentBreakpoint = breakpoint;
4261
+ swiper.emit('_beforeBreakpoint', breakpointParams);
4262
+
4263
+ if (needsReLoop && initialized) {
4264
+ swiper.loopDestroy();
4265
+ swiper.loopCreate();
4266
+ swiper.updateSlides();
4267
+ swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);
4268
+ }
4269
+
4270
+ swiper.emit('breakpoint', breakpointParams);
4271
+ }
4272
+ }
4273
+
4274
+ function getBreakpoints(breakpoints) {
4275
+ var window = getWindow(); // Get breakpoint for window width
4276
+
4277
+ if (!breakpoints) return undefined;
4278
+ var breakpoint = false;
4279
+ var points = Object.keys(breakpoints).map(function (point) {
4280
+ if (typeof point === 'string' && point.indexOf('@') === 0) {
4281
+ var minRatio = parseFloat(point.substr(1));
4282
+ var value = window.innerHeight * minRatio;
4283
+ return {
4284
+ value: value,
4285
+ point: point
4286
+ };
4287
+ }
4288
+
4289
+ return {
4290
+ value: point,
4291
+ point: point
4292
+ };
4293
+ });
4294
+ points.sort(function (a, b) {
4295
+ return parseInt(a.value, 10) - parseInt(b.value, 10);
4296
+ });
4297
+
4298
+ for (var i = 0; i < points.length; i += 1) {
4299
+ var _points$i = points[i],
4300
+ point = _points$i.point,
4301
+ value = _points$i.value;
4302
+
4303
+ if (value <= window.innerWidth) {
4304
+ breakpoint = point;
4305
+ }
4306
+ }
4307
+
4308
+ return breakpoint || 'max';
4309
+ }
4310
+
4311
+ var breakpoints = {
4312
+ setBreakpoint: setBreakpoint,
4313
+ getBreakpoint: getBreakpoints
4314
+ };
4315
+
4316
+ function addClasses() {
4317
+ var swiper = this;
4318
+ var classNames = swiper.classNames,
4319
+ params = swiper.params,
4320
+ rtl = swiper.rtl,
4321
+ $el = swiper.$el,
4322
+ device = swiper.device;
4323
+ var suffixes = [];
4324
+ suffixes.push('initialized');
4325
+ suffixes.push(params.direction);
4326
+
4327
+ if (params.freeMode) {
4328
+ suffixes.push('free-mode');
4329
+ }
4330
+
4331
+ if (params.autoHeight) {
4332
+ suffixes.push('autoheight');
4333
+ }
4334
+
4335
+ if (rtl) {
4336
+ suffixes.push('rtl');
4337
+ }
4338
+
4339
+ if (params.slidesPerColumn > 1) {
4340
+ suffixes.push('multirow');
4341
+
4342
+ if (params.slidesPerColumnFill === 'column') {
4343
+ suffixes.push('multirow-column');
4344
+ }
4345
+ }
4346
+
4347
+ if (device.android) {
4348
+ suffixes.push('android');
4349
+ }
4350
+
4351
+ if (device.ios) {
4352
+ suffixes.push('ios');
4353
+ }
4354
+
4355
+ if (params.cssMode) {
4356
+ suffixes.push('css-mode');
4357
+ }
4358
+
4359
+ suffixes.forEach(function (suffix) {
4360
+ classNames.push(params.containerModifierClass + suffix);
4361
+ });
4362
+ $el.addClass(classNames.join(' '));
4363
+ swiper.emitContainerClasses();
4364
+ }
4365
+
4366
+ function removeClasses() {
4367
+ var swiper = this;
4368
+ var $el = swiper.$el,
4369
+ classNames = swiper.classNames;
4370
+ $el.removeClass(classNames.join(' '));
4371
+ swiper.emitContainerClasses();
4372
+ }
4373
+
4374
+ var classes = {
4375
+ addClasses: addClasses,
4376
+ removeClasses: removeClasses
4377
+ };
4378
+
4379
+ function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {
4380
+ var window = getWindow();
4381
+ var image;
4382
+
4383
+ function onReady() {
4384
+ if (callback) callback();
4385
+ }
4386
+
4387
+ var isPicture = $(imageEl).parent('picture')[0];
4388
+
4389
+ if (!isPicture && (!imageEl.complete || !checkForComplete)) {
4390
+ if (src) {
4391
+ image = new window.Image();
4392
+ image.onload = onReady;
4393
+ image.onerror = onReady;
4394
+
4395
+ if (sizes) {
4396
+ image.sizes = sizes;
4397
+ }
4398
+
4399
+ if (srcset) {
4400
+ image.srcset = srcset;
4401
+ }
4402
+
4403
+ if (src) {
4404
+ image.src = src;
4405
+ }
4406
+ } else {
4407
+ onReady();
4408
+ }
4409
+ } else {
4410
+ // image already loaded...
4411
+ onReady();
4412
+ }
4413
+ }
4414
+
4415
+ function preloadImages() {
4416
+ var swiper = this;
4417
+ swiper.imagesToLoad = swiper.$el.find('img');
4418
+
4419
+ function onReady() {
4420
+ if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;
4421
+ if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;
4422
+
4423
+ if (swiper.imagesLoaded === swiper.imagesToLoad.length) {
4424
+ if (swiper.params.updateOnImagesReady) swiper.update();
4425
+ swiper.emit('imagesReady');
4426
+ }
4427
+ }
4428
+
4429
+ for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {
4430
+ var imageEl = swiper.imagesToLoad[i];
4431
+ swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);
4432
+ }
4433
+ }
4434
+
4435
+ var images = {
4436
+ loadImage: loadImage,
4437
+ preloadImages: preloadImages
4438
+ };
4439
+
4440
+ function checkOverflow() {
4441
+ var swiper = this;
4442
+ var params = swiper.params;
4443
+ var wasLocked = swiper.isLocked;
4444
+ var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;
4445
+
4446
+ if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {
4447
+ swiper.isLocked = lastSlidePosition <= swiper.size;
4448
+ } else {
4449
+ swiper.isLocked = swiper.snapGrid.length === 1;
4450
+ }
4451
+
4452
+ swiper.allowSlideNext = !swiper.isLocked;
4453
+ swiper.allowSlidePrev = !swiper.isLocked; // events
4454
+
4455
+ if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');
4456
+
4457
+ if (wasLocked && wasLocked !== swiper.isLocked) {
4458
+ swiper.isEnd = false;
4459
+ if (swiper.navigation) swiper.navigation.update();
4460
+ }
4461
+ }
4462
+
4463
+ var checkOverflow$1 = {
4464
+ checkOverflow: checkOverflow
4465
+ };
4466
+
4467
+ var defaults = {
4468
+ init: true,
4469
+ direction: 'horizontal',
4470
+ touchEventsTarget: 'container',
4471
+ initialSlide: 0,
4472
+ speed: 300,
4473
+ cssMode: false,
4474
+ updateOnWindowResize: true,
4475
+ // Overrides
4476
+ width: null,
4477
+ height: null,
4478
+ //
4479
+ preventInteractionOnTransition: false,
4480
+ // ssr
4481
+ userAgent: null,
4482
+ url: null,
4483
+ // To support iOS's swipe-to-go-back gesture (when being used in-app).
4484
+ edgeSwipeDetection: false,
4485
+ edgeSwipeThreshold: 20,
4486
+ // Free mode
4487
+ freeMode: false,
4488
+ freeModeMomentum: true,
4489
+ freeModeMomentumRatio: 1,
4490
+ freeModeMomentumBounce: true,
4491
+ freeModeMomentumBounceRatio: 1,
4492
+ freeModeMomentumVelocityRatio: 1,
4493
+ freeModeSticky: false,
4494
+ freeModeMinimumVelocity: 0.02,
4495
+ // Autoheight
4496
+ autoHeight: false,
4497
+ // Set wrapper width
4498
+ setWrapperSize: false,
4499
+ // Virtual Translate
4500
+ virtualTranslate: false,
4501
+ // Effects
4502
+ effect: 'slide',
4503
+ // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
4504
+ // Breakpoints
4505
+ breakpoints: undefined,
4506
+ // Slides grid
4507
+ spaceBetween: 0,
4508
+ slidesPerView: 1,
4509
+ slidesPerColumn: 1,
4510
+ slidesPerColumnFill: 'column',
4511
+ slidesPerGroup: 1,
4512
+ slidesPerGroupSkip: 0,
4513
+ centeredSlides: false,
4514
+ centeredSlidesBounds: false,
4515
+ slidesOffsetBefore: 0,
4516
+ // in px
4517
+ slidesOffsetAfter: 0,
4518
+ // in px
4519
+ normalizeSlideIndex: true,
4520
+ centerInsufficientSlides: false,
4521
+ // Disable swiper and hide navigation when container not overflow
4522
+ watchOverflow: false,
4523
+ // Round length
4524
+ roundLengths: false,
4525
+ // Touches
4526
+ touchRatio: 1,
4527
+ touchAngle: 45,
4528
+ simulateTouch: true,
4529
+ shortSwipes: true,
4530
+ longSwipes: true,
4531
+ longSwipesRatio: 0.5,
4532
+ longSwipesMs: 300,
4533
+ followFinger: true,
4534
+ allowTouchMove: true,
4535
+ threshold: 0,
4536
+ touchMoveStopPropagation: false,
4537
+ touchStartPreventDefault: true,
4538
+ touchStartForcePreventDefault: false,
4539
+ touchReleaseOnEdges: false,
4540
+ // Unique Navigation Elements
4541
+ uniqueNavElements: true,
4542
+ // Resistance
4543
+ resistance: true,
4544
+ resistanceRatio: 0.85,
4545
+ // Progress
4546
+ watchSlidesProgress: false,
4547
+ watchSlidesVisibility: false,
4548
+ // Cursor
4549
+ grabCursor: false,
4550
+ // Clicks
4551
+ preventClicks: true,
4552
+ preventClicksPropagation: true,
4553
+ slideToClickedSlide: false,
4554
+ // Images
4555
+ preloadImages: true,
4556
+ updateOnImagesReady: true,
4557
+ // loop
4558
+ loop: false,
4559
+ loopAdditionalSlides: 0,
4560
+ loopedSlides: null,
4561
+ loopFillGroupWithBlank: false,
4562
+ loopPreventsSlide: true,
4563
+ // Swiping/no swiping
4564
+ allowSlidePrev: true,
4565
+ allowSlideNext: true,
4566
+ swipeHandler: null,
4567
+ // '.swipe-handler',
4568
+ noSwiping: true,
4569
+ noSwipingClass: 'swiper-no-swiping',
4570
+ noSwipingSelector: null,
4571
+ // Passive Listeners
4572
+ passiveListeners: true,
4573
+ // NS
4574
+ containerModifierClass: 'swiper-container-',
4575
+ // NEW
4576
+ slideClass: 'swiper-slide',
4577
+ slideBlankClass: 'swiper-slide-invisible-blank',
4578
+ slideActiveClass: 'swiper-slide-active',
4579
+ slideDuplicateActiveClass: 'swiper-slide-duplicate-active',
4580
+ slideVisibleClass: 'swiper-slide-visible',
4581
+ slideDuplicateClass: 'swiper-slide-duplicate',
4582
+ slideNextClass: 'swiper-slide-next',
4583
+ slideDuplicateNextClass: 'swiper-slide-duplicate-next',
4584
+ slidePrevClass: 'swiper-slide-prev',
4585
+ slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',
4586
+ wrapperClass: 'swiper-wrapper',
4587
+ // Callbacks
4588
+ runCallbacksOnInit: true,
4589
+ // Internals
4590
+ _emitClasses: false
4591
+ };
4592
+
4593
+ var prototypes = {
4594
+ modular: modular,
4595
+ eventsEmitter: eventsEmitter,
4596
+ update: update,
4597
+ translate: translate,
4598
+ transition: transition$1,
4599
+ slide: slide,
4600
+ loop: loop,
4601
+ grabCursor: grabCursor,
4602
+ manipulation: manipulation,
4603
+ events: events,
4604
+ breakpoints: breakpoints,
4605
+ checkOverflow: checkOverflow$1,
4606
+ classes: classes,
4607
+ images: images
4608
+ };
4609
+ var extendedDefaults = {};
4610
+
4611
+ var Swiper = /*#__PURE__*/function () {
4612
+ function Swiper() {
4613
+ var el;
4614
+ var params;
4615
+
4616
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4617
+ args[_key] = arguments[_key];
4618
+ }
4619
+
4620
+ if (args.length === 1 && args[0].constructor && args[0].constructor === Object) {
4621
+ params = args[0];
4622
+ } else {
4623
+ el = args[0];
4624
+ params = args[1];
4625
+ }
4626
+
4627
+ if (!params) params = {};
4628
+ params = extend$1({}, params);
4629
+ if (el && !params.el) params.el = el; // Swiper Instance
4630
+
4631
+ var swiper = this;
4632
+ swiper.support = getSupport();
4633
+ swiper.device = getDevice({
4634
+ userAgent: params.userAgent
4635
+ });
4636
+ swiper.browser = getBrowser();
4637
+ swiper.eventsListeners = {};
4638
+ swiper.eventsAnyListeners = [];
4639
+
4640
+ if (typeof swiper.modules === 'undefined') {
4641
+ swiper.modules = {};
4642
+ }
4643
+
4644
+ Object.keys(swiper.modules).forEach(function (moduleName) {
4645
+ var module = swiper.modules[moduleName];
4646
+
4647
+ if (module.params) {
4648
+ var moduleParamName = Object.keys(module.params)[0];
4649
+ var moduleParams = module.params[moduleParamName];
4650
+ if (typeof moduleParams !== 'object' || moduleParams === null) return;
4651
+ if (!(moduleParamName in params && 'enabled' in moduleParams)) return;
4652
+
4653
+ if (params[moduleParamName] === true) {
4654
+ params[moduleParamName] = {
4655
+ enabled: true
4656
+ };
4657
+ }
4658
+
4659
+ if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
4660
+ params[moduleParamName].enabled = true;
4661
+ }
4662
+
4663
+ if (!params[moduleParamName]) params[moduleParamName] = {
4664
+ enabled: false
4665
+ };
4666
+ }
4667
+ }); // Extend defaults with modules params
4668
+
4669
+ var swiperParams = extend$1({}, defaults);
4670
+ swiper.useParams(swiperParams); // Extend defaults with passed params
4671
+
4672
+ swiper.params = extend$1({}, swiperParams, extendedDefaults, params);
4673
+ swiper.originalParams = extend$1({}, swiper.params);
4674
+ swiper.passedParams = extend$1({}, params); // add event listeners
4675
+
4676
+ if (swiper.params && swiper.params.on) {
4677
+ Object.keys(swiper.params.on).forEach(function (eventName) {
4678
+ swiper.on(eventName, swiper.params.on[eventName]);
4679
+ });
4680
+ }
4681
+
4682
+ if (swiper.params && swiper.params.onAny) {
4683
+ swiper.onAny(swiper.params.onAny);
4684
+ } // Save Dom lib
4685
+
4686
+
4687
+ swiper.$ = $; // Find el
4688
+
4689
+ var $el = $(swiper.params.el);
4690
+ el = $el[0];
4691
+
4692
+ if (!el) {
4693
+ return undefined;
4694
+ }
4695
+
4696
+ if ($el.length > 1) {
4697
+ var swipers = [];
4698
+ $el.each(function (containerEl) {
4699
+ var newParams = extend$1({}, params, {
4700
+ el: containerEl
4701
+ });
4702
+ swipers.push(new Swiper(newParams));
4703
+ });
4704
+ return swipers;
4705
+ }
4706
+
4707
+ el.swiper = swiper; // Find Wrapper
4708
+
4709
+ var $wrapperEl;
4710
+
4711
+ if (el && el.shadowRoot && el.shadowRoot.querySelector) {
4712
+ $wrapperEl = $(el.shadowRoot.querySelector("." + swiper.params.wrapperClass)); // Children needs to return slot items
4713
+
4714
+ $wrapperEl.children = function (options) {
4715
+ return $el.children(options);
4716
+ };
4717
+ } else {
4718
+ $wrapperEl = $el.children("." + swiper.params.wrapperClass);
4719
+ } // Extend Swiper
4720
+
4721
+
4722
+ extend$1(swiper, {
4723
+ $el: $el,
4724
+ el: el,
4725
+ $wrapperEl: $wrapperEl,
4726
+ wrapperEl: $wrapperEl[0],
4727
+ // Classes
4728
+ classNames: [],
4729
+ // Slides
4730
+ slides: $(),
4731
+ slidesGrid: [],
4732
+ snapGrid: [],
4733
+ slidesSizesGrid: [],
4734
+ // isDirection
4735
+ isHorizontal: function isHorizontal() {
4736
+ return swiper.params.direction === 'horizontal';
4737
+ },
4738
+ isVertical: function isVertical() {
4739
+ return swiper.params.direction === 'vertical';
4740
+ },
4741
+ // RTL
4742
+ rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',
4743
+ rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),
4744
+ wrongRTL: $wrapperEl.css('display') === '-webkit-box',
4745
+ // Indexes
4746
+ activeIndex: 0,
4747
+ realIndex: 0,
4748
+ //
4749
+ isBeginning: true,
4750
+ isEnd: false,
4751
+ // Props
4752
+ translate: 0,
4753
+ previousTranslate: 0,
4754
+ progress: 0,
4755
+ velocity: 0,
4756
+ animating: false,
4757
+ // Locks
4758
+ allowSlideNext: swiper.params.allowSlideNext,
4759
+ allowSlidePrev: swiper.params.allowSlidePrev,
4760
+ // Touch Events
4761
+ touchEvents: function touchEvents() {
4762
+ var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];
4763
+ var desktop = ['mousedown', 'mousemove', 'mouseup'];
4764
+
4765
+ if (swiper.support.pointerEvents) {
4766
+ desktop = ['pointerdown', 'pointermove', 'pointerup'];
4767
+ }
4768
+
4769
+ swiper.touchEventsTouch = {
4770
+ start: touch[0],
4771
+ move: touch[1],
4772
+ end: touch[2],
4773
+ cancel: touch[3]
4774
+ };
4775
+ swiper.touchEventsDesktop = {
4776
+ start: desktop[0],
4777
+ move: desktop[1],
4778
+ end: desktop[2]
4779
+ };
4780
+ return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;
4781
+ }(),
4782
+ touchEventsData: {
4783
+ isTouched: undefined,
4784
+ isMoved: undefined,
4785
+ allowTouchCallbacks: undefined,
4786
+ touchStartTime: undefined,
4787
+ isScrolling: undefined,
4788
+ currentTranslate: undefined,
4789
+ startTranslate: undefined,
4790
+ allowThresholdMove: undefined,
4791
+ // Form elements to match
4792
+ formElements: 'input, select, option, textarea, button, video, label',
4793
+ // Last click time
4794
+ lastClickTime: now(),
4795
+ clickTimeout: undefined,
4796
+ // Velocities
4797
+ velocities: [],
4798
+ allowMomentumBounce: undefined,
4799
+ isTouchEvent: undefined,
4800
+ startMoving: undefined
4801
+ },
4802
+ // Clicks
4803
+ allowClick: true,
4804
+ // Touches
4805
+ allowTouchMove: swiper.params.allowTouchMove,
4806
+ touches: {
4807
+ startX: 0,
4808
+ startY: 0,
4809
+ currentX: 0,
4810
+ currentY: 0,
4811
+ diff: 0
4812
+ },
4813
+ // Images
4814
+ imagesToLoad: [],
4815
+ imagesLoaded: 0
4816
+ }); // Install Modules
4817
+
4818
+ swiper.useModules();
4819
+ swiper.emit('_swiper'); // Init
4820
+
4821
+ if (swiper.params.init) {
4822
+ swiper.init();
4823
+ } // Return app instance
4824
+
4825
+
4826
+ return swiper;
4827
+ }
4828
+
4829
+ var _proto = Swiper.prototype;
4830
+
4831
+ _proto.emitContainerClasses = function emitContainerClasses() {
4832
+ var swiper = this;
4833
+ if (!swiper.params._emitClasses || !swiper.el) return;
4834
+ var classes = swiper.el.className.split(' ').filter(function (className) {
4835
+ return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;
4836
+ });
4837
+ swiper.emit('_containerClasses', classes.join(' '));
4838
+ };
4839
+
4840
+ _proto.emitSlidesClasses = function emitSlidesClasses() {
4841
+ var swiper = this;
4842
+ if (!swiper.params._emitClasses || !swiper.el) return;
4843
+ swiper.slides.each(function (slideEl) {
4844
+ var classes = slideEl.className.split(' ').filter(function (className) {
4845
+ return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;
4846
+ });
4847
+ swiper.emit('_slideClass', slideEl, classes.join(' '));
4848
+ });
4849
+ };
4850
+
4851
+ _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {
4852
+ var swiper = this;
4853
+ var params = swiper.params,
4854
+ slides = swiper.slides,
4855
+ slidesGrid = swiper.slidesGrid,
4856
+ swiperSize = swiper.size,
4857
+ activeIndex = swiper.activeIndex;
4858
+ var spv = 1;
4859
+
4860
+ if (params.centeredSlides) {
4861
+ var slideSize = slides[activeIndex].swiperSlideSize;
4862
+ var breakLoop;
4863
+
4864
+ for (var i = activeIndex + 1; i < slides.length; i += 1) {
4865
+ if (slides[i] && !breakLoop) {
4866
+ slideSize += slides[i].swiperSlideSize;
4867
+ spv += 1;
4868
+ if (slideSize > swiperSize) breakLoop = true;
4869
+ }
4870
+ }
4871
+
4872
+ for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {
4873
+ if (slides[_i] && !breakLoop) {
4874
+ slideSize += slides[_i].swiperSlideSize;
4875
+ spv += 1;
4876
+ if (slideSize > swiperSize) breakLoop = true;
4877
+ }
4878
+ }
4879
+ } else {
4880
+ for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {
4881
+ if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {
4882
+ spv += 1;
4883
+ }
4884
+ }
4885
+ }
4886
+
4887
+ return spv;
4888
+ };
4889
+
4890
+ _proto.update = function update() {
4891
+ var swiper = this;
4892
+ if (!swiper || swiper.destroyed) return;
4893
+ var snapGrid = swiper.snapGrid,
4894
+ params = swiper.params; // Breakpoints
4895
+
4896
+ if (params.breakpoints) {
4897
+ swiper.setBreakpoint();
4898
+ }
4899
+
4900
+ swiper.updateSize();
4901
+ swiper.updateSlides();
4902
+ swiper.updateProgress();
4903
+ swiper.updateSlidesClasses();
4904
+
4905
+ function setTranslate() {
4906
+ var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;
4907
+ var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
4908
+ swiper.setTranslate(newTranslate);
4909
+ swiper.updateActiveIndex();
4910
+ swiper.updateSlidesClasses();
4911
+ }
4912
+
4913
+ var translated;
4914
+
4915
+ if (swiper.params.freeMode) {
4916
+ setTranslate();
4917
+
4918
+ if (swiper.params.autoHeight) {
4919
+ swiper.updateAutoHeight();
4920
+ }
4921
+ } else {
4922
+ if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {
4923
+ translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);
4924
+ } else {
4925
+ translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
4926
+ }
4927
+
4928
+ if (!translated) {
4929
+ setTranslate();
4930
+ }
4931
+ }
4932
+
4933
+ if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
4934
+ swiper.checkOverflow();
4935
+ }
4936
+
4937
+ swiper.emit('update');
4938
+ };
4939
+
4940
+ _proto.changeDirection = function changeDirection(newDirection, needUpdate) {
4941
+ if (needUpdate === void 0) {
4942
+ needUpdate = true;
4943
+ }
4944
+
4945
+ var swiper = this;
4946
+ var currentDirection = swiper.params.direction;
4947
+
4948
+ if (!newDirection) {
4949
+ // eslint-disable-next-line
4950
+ newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';
4951
+ }
4952
+
4953
+ if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {
4954
+ return swiper;
4955
+ }
4956
+
4957
+ swiper.$el.removeClass("" + swiper.params.containerModifierClass + currentDirection).addClass("" + swiper.params.containerModifierClass + newDirection);
4958
+ swiper.emitContainerClasses();
4959
+ swiper.params.direction = newDirection;
4960
+ swiper.slides.each(function (slideEl) {
4961
+ if (newDirection === 'vertical') {
4962
+ slideEl.style.width = '';
4963
+ } else {
4964
+ slideEl.style.height = '';
4965
+ }
4966
+ });
4967
+ swiper.emit('changeDirection');
4968
+ if (needUpdate) swiper.update();
4969
+ return swiper;
4970
+ };
4971
+
4972
+ _proto.init = function init() {
4973
+ var swiper = this;
4974
+ if (swiper.initialized) return;
4975
+ swiper.emit('beforeInit'); // Set breakpoint
4976
+
4977
+ if (swiper.params.breakpoints) {
4978
+ swiper.setBreakpoint();
4979
+ } // Add Classes
4980
+
4981
+
4982
+ swiper.addClasses(); // Create loop
4983
+
4984
+ if (swiper.params.loop) {
4985
+ swiper.loopCreate();
4986
+ } // Update size
4987
+
4988
+
4989
+ swiper.updateSize(); // Update slides
4990
+
4991
+ swiper.updateSlides();
4992
+
4993
+ if (swiper.params.watchOverflow) {
4994
+ swiper.checkOverflow();
4995
+ } // Set Grab Cursor
4996
+
4997
+
4998
+ if (swiper.params.grabCursor) {
4999
+ swiper.setGrabCursor();
5000
+ }
5001
+
5002
+ if (swiper.params.preloadImages) {
5003
+ swiper.preloadImages();
5004
+ } // Slide To Initial Slide
5005
+
5006
+
5007
+ if (swiper.params.loop) {
5008
+ swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);
5009
+ } else {
5010
+ swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);
5011
+ } // Attach events
5012
+
5013
+
5014
+ swiper.attachEvents(); // Init Flag
5015
+
5016
+ swiper.initialized = true; // Emit
5017
+
5018
+ swiper.emit('init');
5019
+ swiper.emit('afterInit');
5020
+ };
5021
+
5022
+ _proto.destroy = function destroy(deleteInstance, cleanStyles) {
5023
+ if (deleteInstance === void 0) {
5024
+ deleteInstance = true;
5025
+ }
5026
+
5027
+ if (cleanStyles === void 0) {
5028
+ cleanStyles = true;
5029
+ }
5030
+
5031
+ var swiper = this;
5032
+ var params = swiper.params,
5033
+ $el = swiper.$el,
5034
+ $wrapperEl = swiper.$wrapperEl,
5035
+ slides = swiper.slides;
5036
+
5037
+ if (typeof swiper.params === 'undefined' || swiper.destroyed) {
5038
+ return null;
5039
+ }
5040
+
5041
+ swiper.emit('beforeDestroy'); // Init Flag
5042
+
5043
+ swiper.initialized = false; // Detach events
5044
+
5045
+ swiper.detachEvents(); // Destroy loop
5046
+
5047
+ if (params.loop) {
5048
+ swiper.loopDestroy();
5049
+ } // Cleanup styles
5050
+
5051
+
5052
+ if (cleanStyles) {
5053
+ swiper.removeClasses();
5054
+ $el.removeAttr('style');
5055
+ $wrapperEl.removeAttr('style');
5056
+
5057
+ if (slides && slides.length) {
5058
+ slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');
5059
+ }
5060
+ }
5061
+
5062
+ swiper.emit('destroy'); // Detach emitter events
5063
+
5064
+ Object.keys(swiper.eventsListeners).forEach(function (eventName) {
5065
+ swiper.off(eventName);
5066
+ });
5067
+
5068
+ if (deleteInstance !== false) {
5069
+ swiper.$el[0].swiper = null;
5070
+ deleteProps(swiper);
5071
+ }
5072
+
5073
+ swiper.destroyed = true;
5074
+ return null;
5075
+ };
5076
+
5077
+ Swiper.extendDefaults = function extendDefaults(newDefaults) {
5078
+ extend$1(extendedDefaults, newDefaults);
5079
+ };
5080
+
5081
+ Swiper.installModule = function installModule(module) {
5082
+ if (!Swiper.prototype.modules) Swiper.prototype.modules = {};
5083
+ var name = module.name || Object.keys(Swiper.prototype.modules).length + "_" + now();
5084
+ Swiper.prototype.modules[name] = module;
5085
+ };
5086
+
5087
+ Swiper.use = function use(module) {
5088
+ if (Array.isArray(module)) {
5089
+ module.forEach(function (m) {
5090
+ return Swiper.installModule(m);
5091
+ });
5092
+ return Swiper;
5093
+ }
5094
+
5095
+ Swiper.installModule(module);
5096
+ return Swiper;
5097
+ };
5098
+
5099
+ _createClass(Swiper, null, [{
5100
+ key: "extendedDefaults",
5101
+ get: function get() {
5102
+ return extendedDefaults;
5103
+ }
5104
+ }, {
5105
+ key: "defaults",
5106
+ get: function get() {
5107
+ return defaults;
5108
+ }
5109
+ }]);
5110
+
5111
+ return Swiper;
5112
+ }();
5113
+
5114
+ Object.keys(prototypes).forEach(function (prototypeGroup) {
5115
+ Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {
5116
+ Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
5117
+ });
5118
+ });
5119
+ Swiper.use([Resize, Observer$1]);
5120
+
5121
+ var Virtual = {
5122
+ update: function update(force) {
5123
+ var swiper = this;
5124
+ var _swiper$params = swiper.params,
5125
+ slidesPerView = _swiper$params.slidesPerView,
5126
+ slidesPerGroup = _swiper$params.slidesPerGroup,
5127
+ centeredSlides = _swiper$params.centeredSlides;
5128
+ var _swiper$params$virtua = swiper.params.virtual,
5129
+ addSlidesBefore = _swiper$params$virtua.addSlidesBefore,
5130
+ addSlidesAfter = _swiper$params$virtua.addSlidesAfter;
5131
+ var _swiper$virtual = swiper.virtual,
5132
+ previousFrom = _swiper$virtual.from,
5133
+ previousTo = _swiper$virtual.to,
5134
+ slides = _swiper$virtual.slides,
5135
+ previousSlidesGrid = _swiper$virtual.slidesGrid,
5136
+ renderSlide = _swiper$virtual.renderSlide,
5137
+ previousOffset = _swiper$virtual.offset;
5138
+ swiper.updateActiveIndex();
5139
+ var activeIndex = swiper.activeIndex || 0;
5140
+ var offsetProp;
5141
+ if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';
5142
+ var slidesAfter;
5143
+ var slidesBefore;
5144
+
5145
+ if (centeredSlides) {
5146
+ slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
5147
+ slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
5148
+ } else {
5149
+ slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
5150
+ slidesBefore = slidesPerGroup + addSlidesBefore;
5151
+ }
5152
+
5153
+ var from = Math.max((activeIndex || 0) - slidesBefore, 0);
5154
+ var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);
5155
+ var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
5156
+ extend$1(swiper.virtual, {
5157
+ from: from,
5158
+ to: to,
5159
+ offset: offset,
5160
+ slidesGrid: swiper.slidesGrid
5161
+ });
5162
+
5163
+ function onRendered() {
5164
+ swiper.updateSlides();
5165
+ swiper.updateProgress();
5166
+ swiper.updateSlidesClasses();
5167
+
5168
+ if (swiper.lazy && swiper.params.lazy.enabled) {
5169
+ swiper.lazy.load();
5170
+ }
5171
+ }
5172
+
5173
+ if (previousFrom === from && previousTo === to && !force) {
5174
+ if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
5175
+ swiper.slides.css(offsetProp, offset + "px");
5176
+ }
5177
+
5178
+ swiper.updateProgress();
5179
+ return;
5180
+ }
5181
+
5182
+ if (swiper.params.virtual.renderExternal) {
5183
+ swiper.params.virtual.renderExternal.call(swiper, {
5184
+ offset: offset,
5185
+ from: from,
5186
+ to: to,
5187
+ slides: function getSlides() {
5188
+ var slidesToRender = [];
5189
+
5190
+ for (var i = from; i <= to; i += 1) {
5191
+ slidesToRender.push(slides[i]);
5192
+ }
5193
+
5194
+ return slidesToRender;
5195
+ }()
5196
+ });
5197
+
5198
+ if (swiper.params.virtual.renderExternalUpdate) {
5199
+ onRendered();
5200
+ }
5201
+
5202
+ return;
5203
+ }
5204
+
5205
+ var prependIndexes = [];
5206
+ var appendIndexes = [];
5207
+
5208
+ if (force) {
5209
+ swiper.$wrapperEl.find("." + swiper.params.slideClass).remove();
5210
+ } else {
5211
+ for (var i = previousFrom; i <= previousTo; i += 1) {
5212
+ if (i < from || i > to) {
5213
+ swiper.$wrapperEl.find("." + swiper.params.slideClass + "[data-swiper-slide-index=\"" + i + "\"]").remove();
5214
+ }
5215
+ }
5216
+ }
5217
+
5218
+ for (var _i = 0; _i < slides.length; _i += 1) {
5219
+ if (_i >= from && _i <= to) {
5220
+ if (typeof previousTo === 'undefined' || force) {
5221
+ appendIndexes.push(_i);
5222
+ } else {
5223
+ if (_i > previousTo) appendIndexes.push(_i);
5224
+ if (_i < previousFrom) prependIndexes.push(_i);
5225
+ }
5226
+ }
5227
+ }
5228
+
5229
+ appendIndexes.forEach(function (index) {
5230
+ swiper.$wrapperEl.append(renderSlide(slides[index], index));
5231
+ });
5232
+ prependIndexes.sort(function (a, b) {
5233
+ return b - a;
5234
+ }).forEach(function (index) {
5235
+ swiper.$wrapperEl.prepend(renderSlide(slides[index], index));
5236
+ });
5237
+ swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, offset + "px");
5238
+ onRendered();
5239
+ },
5240
+ renderSlide: function renderSlide(slide, index) {
5241
+ var swiper = this;
5242
+ var params = swiper.params.virtual;
5243
+
5244
+ if (params.cache && swiper.virtual.cache[index]) {
5245
+ return swiper.virtual.cache[index];
5246
+ }
5247
+
5248
+ var $slideEl = params.renderSlide ? $(params.renderSlide.call(swiper, slide, index)) : $("<div class=\"" + swiper.params.slideClass + "\" data-swiper-slide-index=\"" + index + "\">" + slide + "</div>");
5249
+ if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);
5250
+ if (params.cache) swiper.virtual.cache[index] = $slideEl;
5251
+ return $slideEl;
5252
+ },
5253
+ appendSlide: function appendSlide(slides) {
5254
+ var swiper = this;
5255
+
5256
+ if (typeof slides === 'object' && 'length' in slides) {
5257
+ for (var i = 0; i < slides.length; i += 1) {
5258
+ if (slides[i]) swiper.virtual.slides.push(slides[i]);
5259
+ }
5260
+ } else {
5261
+ swiper.virtual.slides.push(slides);
5262
+ }
5263
+
5264
+ swiper.virtual.update(true);
5265
+ },
5266
+ prependSlide: function prependSlide(slides) {
5267
+ var swiper = this;
5268
+ var activeIndex = swiper.activeIndex;
5269
+ var newActiveIndex = activeIndex + 1;
5270
+ var numberOfNewSlides = 1;
5271
+
5272
+ if (Array.isArray(slides)) {
5273
+ for (var i = 0; i < slides.length; i += 1) {
5274
+ if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
5275
+ }
5276
+
5277
+ newActiveIndex = activeIndex + slides.length;
5278
+ numberOfNewSlides = slides.length;
5279
+ } else {
5280
+ swiper.virtual.slides.unshift(slides);
5281
+ }
5282
+
5283
+ if (swiper.params.virtual.cache) {
5284
+ var cache = swiper.virtual.cache;
5285
+ var newCache = {};
5286
+ Object.keys(cache).forEach(function (cachedIndex) {
5287
+ var $cachedEl = cache[cachedIndex];
5288
+ var cachedElIndex = $cachedEl.attr('data-swiper-slide-index');
5289
+
5290
+ if (cachedElIndex) {
5291
+ $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + 1);
5292
+ }
5293
+
5294
+ newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;
5295
+ });
5296
+ swiper.virtual.cache = newCache;
5297
+ }
5298
+
5299
+ swiper.virtual.update(true);
5300
+ swiper.slideTo(newActiveIndex, 0);
5301
+ },
5302
+ removeSlide: function removeSlide(slidesIndexes) {
5303
+ var swiper = this;
5304
+ if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;
5305
+ var activeIndex = swiper.activeIndex;
5306
+
5307
+ if (Array.isArray(slidesIndexes)) {
5308
+ for (var i = slidesIndexes.length - 1; i >= 0; i -= 1) {
5309
+ swiper.virtual.slides.splice(slidesIndexes[i], 1);
5310
+
5311
+ if (swiper.params.virtual.cache) {
5312
+ delete swiper.virtual.cache[slidesIndexes[i]];
5313
+ }
5314
+
5315
+ if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
5316
+ activeIndex = Math.max(activeIndex, 0);
5317
+ }
5318
+ } else {
5319
+ swiper.virtual.slides.splice(slidesIndexes, 1);
5320
+
5321
+ if (swiper.params.virtual.cache) {
5322
+ delete swiper.virtual.cache[slidesIndexes];
5323
+ }
5324
+
5325
+ if (slidesIndexes < activeIndex) activeIndex -= 1;
5326
+ activeIndex = Math.max(activeIndex, 0);
5327
+ }
5328
+
5329
+ swiper.virtual.update(true);
5330
+ swiper.slideTo(activeIndex, 0);
5331
+ },
5332
+ removeAllSlides: function removeAllSlides() {
5333
+ var swiper = this;
5334
+ swiper.virtual.slides = [];
5335
+
5336
+ if (swiper.params.virtual.cache) {
5337
+ swiper.virtual.cache = {};
5338
+ }
5339
+
5340
+ swiper.virtual.update(true);
5341
+ swiper.slideTo(0, 0);
5342
+ }
5343
+ };
5344
+ var Virtual$1 = {
5345
+ name: 'virtual',
5346
+ params: {
5347
+ virtual: {
5348
+ enabled: false,
5349
+ slides: [],
5350
+ cache: true,
5351
+ renderSlide: null,
5352
+ renderExternal: null,
5353
+ renderExternalUpdate: true,
5354
+ addSlidesBefore: 0,
5355
+ addSlidesAfter: 0
5356
+ }
5357
+ },
5358
+ create: function create() {
5359
+ var swiper = this;
5360
+ bindModuleMethods(swiper, {
5361
+ virtual: _extends(_extends({}, Virtual), {}, {
5362
+ slides: swiper.params.virtual.slides,
5363
+ cache: {}
5364
+ })
5365
+ });
5366
+ },
5367
+ on: {
5368
+ beforeInit: function beforeInit(swiper) {
5369
+ if (!swiper.params.virtual.enabled) return;
5370
+ swiper.classNames.push(swiper.params.containerModifierClass + "virtual");
5371
+ var overwriteParams = {
5372
+ watchSlidesProgress: true
5373
+ };
5374
+ extend$1(swiper.params, overwriteParams);
5375
+ extend$1(swiper.originalParams, overwriteParams);
5376
+
5377
+ if (!swiper.params.initialSlide) {
5378
+ swiper.virtual.update();
5379
+ }
5380
+ },
5381
+ setTranslate: function setTranslate(swiper) {
5382
+ if (!swiper.params.virtual.enabled) return;
5383
+ swiper.virtual.update();
5384
+ }
5385
+ }
5386
+ };
5387
+
5388
+ var Keyboard = {
5389
+ handle: function handle(event) {
5390
+ var swiper = this;
5391
+ var window = getWindow();
5392
+ var document = getDocument();
5393
+ var rtl = swiper.rtlTranslate;
5394
+ var e = event;
5395
+ if (e.originalEvent) e = e.originalEvent; // jquery fix
5396
+
5397
+ var kc = e.keyCode || e.charCode;
5398
+ var pageUpDown = swiper.params.keyboard.pageUpDown;
5399
+ var isPageUp = pageUpDown && kc === 33;
5400
+ var isPageDown = pageUpDown && kc === 34;
5401
+ var isArrowLeft = kc === 37;
5402
+ var isArrowRight = kc === 39;
5403
+ var isArrowUp = kc === 38;
5404
+ var isArrowDown = kc === 40; // Directions locks
5405
+
5406
+ if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {
5407
+ return false;
5408
+ }
5409
+
5410
+ if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {
5411
+ return false;
5412
+ }
5413
+
5414
+ if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
5415
+ return undefined;
5416
+ }
5417
+
5418
+ if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {
5419
+ return undefined;
5420
+ }
5421
+
5422
+ if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {
5423
+ var inView = false; // Check that swiper should be inside of visible area of window
5424
+
5425
+ if (swiper.$el.parents("." + swiper.params.slideClass).length > 0 && swiper.$el.parents("." + swiper.params.slideActiveClass).length === 0) {
5426
+ return undefined;
5427
+ }
5428
+
5429
+ var windowWidth = window.innerWidth;
5430
+ var windowHeight = window.innerHeight;
5431
+ var swiperOffset = swiper.$el.offset();
5432
+ if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;
5433
+ var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];
5434
+
5435
+ for (var i = 0; i < swiperCoord.length; i += 1) {
5436
+ var point = swiperCoord[i];
5437
+
5438
+ if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {
5439
+ inView = true;
5440
+ }
5441
+ }
5442
+
5443
+ if (!inView) return undefined;
5444
+ }
5445
+
5446
+ if (swiper.isHorizontal()) {
5447
+ if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
5448
+ if (e.preventDefault) e.preventDefault();else e.returnValue = false;
5449
+ }
5450
+
5451
+ if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();
5452
+ if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();
5453
+ } else {
5454
+ if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
5455
+ if (e.preventDefault) e.preventDefault();else e.returnValue = false;
5456
+ }
5457
+
5458
+ if (isPageDown || isArrowDown) swiper.slideNext();
5459
+ if (isPageUp || isArrowUp) swiper.slidePrev();
5460
+ }
5461
+
5462
+ swiper.emit('keyPress', kc);
5463
+ return undefined;
5464
+ },
5465
+ enable: function enable() {
5466
+ var swiper = this;
5467
+ var document = getDocument();
5468
+ if (swiper.keyboard.enabled) return;
5469
+ $(document).on('keydown', swiper.keyboard.handle);
5470
+ swiper.keyboard.enabled = true;
5471
+ },
5472
+ disable: function disable() {
5473
+ var swiper = this;
5474
+ var document = getDocument();
5475
+ if (!swiper.keyboard.enabled) return;
5476
+ $(document).off('keydown', swiper.keyboard.handle);
5477
+ swiper.keyboard.enabled = false;
5478
+ }
5479
+ };
5480
+ var Keyboard$1 = {
5481
+ name: 'keyboard',
5482
+ params: {
5483
+ keyboard: {
5484
+ enabled: false,
5485
+ onlyInViewport: true,
5486
+ pageUpDown: true
5487
+ }
5488
+ },
5489
+ create: function create() {
5490
+ var swiper = this;
5491
+ bindModuleMethods(swiper, {
5492
+ keyboard: _extends({
5493
+ enabled: false
5494
+ }, Keyboard)
5495
+ });
5496
+ },
5497
+ on: {
5498
+ init: function init(swiper) {
5499
+ if (swiper.params.keyboard.enabled) {
5500
+ swiper.keyboard.enable();
5501
+ }
5502
+ },
5503
+ destroy: function destroy(swiper) {
5504
+ if (swiper.keyboard.enabled) {
5505
+ swiper.keyboard.disable();
5506
+ }
5507
+ }
5508
+ }
5509
+ };
5510
+
5511
+ function isEventSupported() {
5512
+ var document = getDocument();
5513
+ var eventName = 'onwheel';
5514
+ var isSupported = (eventName in document);
5515
+
5516
+ if (!isSupported) {
5517
+ var element = document.createElement('div');
5518
+ element.setAttribute(eventName, 'return;');
5519
+ isSupported = typeof element[eventName] === 'function';
5520
+ }
5521
+
5522
+ if (!isSupported && document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard.
5523
+ // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature
5524
+ document.implementation.hasFeature('', '') !== true) {
5525
+ // This is the only way to test support for the `wheel` event in IE9+.
5526
+ isSupported = document.implementation.hasFeature('Events.wheel', '3.0');
5527
+ }
5528
+
5529
+ return isSupported;
5530
+ }
5531
+
5532
+ var Mousewheel = {
5533
+ lastScrollTime: now(),
5534
+ lastEventBeforeSnap: undefined,
5535
+ recentWheelEvents: [],
5536
+ event: function event() {
5537
+ var window = getWindow();
5538
+ if (window.navigator.userAgent.indexOf('firefox') > -1) return 'DOMMouseScroll';
5539
+ return isEventSupported() ? 'wheel' : 'mousewheel';
5540
+ },
5541
+ normalize: function normalize(e) {
5542
+ // Reasonable defaults
5543
+ var PIXEL_STEP = 10;
5544
+ var LINE_HEIGHT = 40;
5545
+ var PAGE_HEIGHT = 800;
5546
+ var sX = 0;
5547
+ var sY = 0; // spinX, spinY
5548
+
5549
+ var pX = 0;
5550
+ var pY = 0; // pixelX, pixelY
5551
+ // Legacy
5552
+
5553
+ if ('detail' in e) {
5554
+ sY = e.detail;
5555
+ }
5556
+
5557
+ if ('wheelDelta' in e) {
5558
+ sY = -e.wheelDelta / 120;
5559
+ }
5560
+
5561
+ if ('wheelDeltaY' in e) {
5562
+ sY = -e.wheelDeltaY / 120;
5563
+ }
5564
+
5565
+ if ('wheelDeltaX' in e) {
5566
+ sX = -e.wheelDeltaX / 120;
5567
+ } // side scrolling on FF with DOMMouseScroll
5568
+
5569
+
5570
+ if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {
5571
+ sX = sY;
5572
+ sY = 0;
5573
+ }
5574
+
5575
+ pX = sX * PIXEL_STEP;
5576
+ pY = sY * PIXEL_STEP;
5577
+
5578
+ if ('deltaY' in e) {
5579
+ pY = e.deltaY;
5580
+ }
5581
+
5582
+ if ('deltaX' in e) {
5583
+ pX = e.deltaX;
5584
+ }
5585
+
5586
+ if (e.shiftKey && !pX) {
5587
+ // if user scrolls with shift he wants horizontal scroll
5588
+ pX = pY;
5589
+ pY = 0;
5590
+ }
5591
+
5592
+ if ((pX || pY) && e.deltaMode) {
5593
+ if (e.deltaMode === 1) {
5594
+ // delta in LINE units
5595
+ pX *= LINE_HEIGHT;
5596
+ pY *= LINE_HEIGHT;
5597
+ } else {
5598
+ // delta in PAGE units
5599
+ pX *= PAGE_HEIGHT;
5600
+ pY *= PAGE_HEIGHT;
5601
+ }
5602
+ } // Fall-back if spin cannot be determined
5603
+
5604
+
5605
+ if (pX && !sX) {
5606
+ sX = pX < 1 ? -1 : 1;
5607
+ }
5608
+
5609
+ if (pY && !sY) {
5610
+ sY = pY < 1 ? -1 : 1;
5611
+ }
5612
+
5613
+ return {
5614
+ spinX: sX,
5615
+ spinY: sY,
5616
+ pixelX: pX,
5617
+ pixelY: pY
5618
+ };
5619
+ },
5620
+ handleMouseEnter: function handleMouseEnter() {
5621
+ var swiper = this;
5622
+ swiper.mouseEntered = true;
5623
+ },
5624
+ handleMouseLeave: function handleMouseLeave() {
5625
+ var swiper = this;
5626
+ swiper.mouseEntered = false;
5627
+ },
5628
+ handle: function handle(event) {
5629
+ var e = event;
5630
+ var swiper = this;
5631
+ var params = swiper.params.mousewheel;
5632
+
5633
+ if (swiper.params.cssMode) {
5634
+ e.preventDefault();
5635
+ }
5636
+
5637
+ var target = swiper.$el;
5638
+
5639
+ if (swiper.params.mousewheel.eventsTarget !== 'container') {
5640
+ target = $(swiper.params.mousewheel.eventsTarget);
5641
+ }
5642
+
5643
+ if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;
5644
+ if (e.originalEvent) e = e.originalEvent; // jquery fix
5645
+
5646
+ var delta = 0;
5647
+ var rtlFactor = swiper.rtlTranslate ? -1 : 1;
5648
+ var data = Mousewheel.normalize(e);
5649
+
5650
+ if (params.forceToAxis) {
5651
+ if (swiper.isHorizontal()) {
5652
+ if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;
5653
+ } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;
5654
+ } else {
5655
+ delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
5656
+ }
5657
+
5658
+ if (delta === 0) return true;
5659
+ if (params.invert) delta = -delta;
5660
+
5661
+ if (!swiper.params.freeMode) {
5662
+ // Register the new event in a variable which stores the relevant data
5663
+ var newEvent = {
5664
+ time: now(),
5665
+ delta: Math.abs(delta),
5666
+ direction: Math.sign(delta),
5667
+ raw: event
5668
+ }; // Keep the most recent events
5669
+
5670
+ var recentWheelEvents = swiper.mousewheel.recentWheelEvents;
5671
+
5672
+ if (recentWheelEvents.length >= 2) {
5673
+ recentWheelEvents.shift(); // only store the last N events
5674
+ }
5675
+
5676
+ var prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
5677
+ recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:
5678
+ // If direction has changed or
5679
+ // if the scroll is quicker than the previous one:
5680
+ // Animate the slider.
5681
+ // Else (this is the first time the wheel is moved):
5682
+ // Animate the slider.
5683
+
5684
+ if (prevEvent) {
5685
+ if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {
5686
+ swiper.mousewheel.animateSlider(newEvent);
5687
+ }
5688
+ } else {
5689
+ swiper.mousewheel.animateSlider(newEvent);
5690
+ } // If it's time to release the scroll:
5691
+ // Return now so you don't hit the preventDefault.
5692
+
5693
+
5694
+ if (swiper.mousewheel.releaseScroll(newEvent)) {
5695
+ return true;
5696
+ }
5697
+ } else {
5698
+ // Freemode or scrollContainer:
5699
+ // If we recently snapped after a momentum scroll, then ignore wheel events
5700
+ // to give time for the deceleration to finish. Stop ignoring after 500 msecs
5701
+ // or if it's a new scroll (larger delta or inverse sign as last event before
5702
+ // an end-of-momentum snap).
5703
+ var _newEvent = {
5704
+ time: now(),
5705
+ delta: Math.abs(delta),
5706
+ direction: Math.sign(delta)
5707
+ };
5708
+ var lastEventBeforeSnap = swiper.mousewheel.lastEventBeforeSnap;
5709
+ var ignoreWheelEvents = lastEventBeforeSnap && _newEvent.time < lastEventBeforeSnap.time + 500 && _newEvent.delta <= lastEventBeforeSnap.delta && _newEvent.direction === lastEventBeforeSnap.direction;
5710
+
5711
+ if (!ignoreWheelEvents) {
5712
+ swiper.mousewheel.lastEventBeforeSnap = undefined;
5713
+
5714
+ if (swiper.params.loop) {
5715
+ swiper.loopFix();
5716
+ }
5717
+
5718
+ var position = swiper.getTranslate() + delta * params.sensitivity;
5719
+ var wasBeginning = swiper.isBeginning;
5720
+ var wasEnd = swiper.isEnd;
5721
+ if (position >= swiper.minTranslate()) position = swiper.minTranslate();
5722
+ if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();
5723
+ swiper.setTransition(0);
5724
+ swiper.setTranslate(position);
5725
+ swiper.updateProgress();
5726
+ swiper.updateActiveIndex();
5727
+ swiper.updateSlidesClasses();
5728
+
5729
+ if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {
5730
+ swiper.updateSlidesClasses();
5731
+ }
5732
+
5733
+ if (swiper.params.freeModeSticky) {
5734
+ // When wheel scrolling starts with sticky (aka snap) enabled, then detect
5735
+ // the end of a momentum scroll by storing recent (N=15?) wheel events.
5736
+ // 1. do all N events have decreasing or same (absolute value) delta?
5737
+ // 2. did all N events arrive in the last M (M=500?) msecs?
5738
+ // 3. does the earliest event have an (absolute value) delta that's
5739
+ // at least P (P=1?) larger than the most recent event's delta?
5740
+ // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?
5741
+ // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration.
5742
+ // Snap immediately and ignore remaining wheel events in this scroll.
5743
+ // See comment above for "remaining wheel events in this scroll" determination.
5744
+ // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.
5745
+ clearTimeout(swiper.mousewheel.timeout);
5746
+ swiper.mousewheel.timeout = undefined;
5747
+ var _recentWheelEvents = swiper.mousewheel.recentWheelEvents;
5748
+
5749
+ if (_recentWheelEvents.length >= 15) {
5750
+ _recentWheelEvents.shift(); // only store the last N events
5751
+
5752
+ }
5753
+
5754
+ var _prevEvent = _recentWheelEvents.length ? _recentWheelEvents[_recentWheelEvents.length - 1] : undefined;
5755
+
5756
+ var firstEvent = _recentWheelEvents[0];
5757
+
5758
+ _recentWheelEvents.push(_newEvent);
5759
+
5760
+ if (_prevEvent && (_newEvent.delta > _prevEvent.delta || _newEvent.direction !== _prevEvent.direction)) {
5761
+ // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.
5762
+ _recentWheelEvents.splice(0);
5763
+ } else if (_recentWheelEvents.length >= 15 && _newEvent.time - firstEvent.time < 500 && firstEvent.delta - _newEvent.delta >= 1 && _newEvent.delta <= 6) {
5764
+ // We're at the end of the deceleration of a momentum scroll, so there's no need
5765
+ // to wait for more events. Snap ASAP on the next tick.
5766
+ // Also, because there's some remaining momentum we'll bias the snap in the
5767
+ // direction of the ongoing scroll because it's better UX for the scroll to snap
5768
+ // in the same direction as the scroll instead of reversing to snap. Therefore,
5769
+ // if it's already scrolled more than 20% in the current direction, keep going.
5770
+ var snapToThreshold = delta > 0 ? 0.8 : 0.2;
5771
+ swiper.mousewheel.lastEventBeforeSnap = _newEvent;
5772
+
5773
+ _recentWheelEvents.splice(0);
5774
+
5775
+ swiper.mousewheel.timeout = nextTick(function () {
5776
+ swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
5777
+ }, 0); // no delay; move on next tick
5778
+ }
5779
+
5780
+ if (!swiper.mousewheel.timeout) {
5781
+ // if we get here, then we haven't detected the end of a momentum scroll, so
5782
+ // we'll consider a scroll "complete" when there haven't been any wheel events
5783
+ // for 500ms.
5784
+ swiper.mousewheel.timeout = nextTick(function () {
5785
+ var snapToThreshold = 0.5;
5786
+ swiper.mousewheel.lastEventBeforeSnap = _newEvent;
5787
+
5788
+ _recentWheelEvents.splice(0);
5789
+
5790
+ swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
5791
+ }, 500);
5792
+ }
5793
+ } // Emit event
5794
+
5795
+
5796
+ if (!ignoreWheelEvents) swiper.emit('scroll', e); // Stop autoplay
5797
+
5798
+ if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions
5799
+
5800
+ if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;
5801
+ }
5802
+ }
5803
+
5804
+ if (e.preventDefault) e.preventDefault();else e.returnValue = false;
5805
+ return false;
5806
+ },
5807
+ animateSlider: function animateSlider(newEvent) {
5808
+ var swiper = this;
5809
+ var window = getWindow();
5810
+
5811
+ if (this.params.mousewheel.thresholdDelta && newEvent.delta < this.params.mousewheel.thresholdDelta) {
5812
+ // Prevent if delta of wheel scroll delta is below configured threshold
5813
+ return false;
5814
+ }
5815
+
5816
+ if (this.params.mousewheel.thresholdTime && now() - swiper.mousewheel.lastScrollTime < this.params.mousewheel.thresholdTime) {
5817
+ // Prevent if time between scrolls is below configured threshold
5818
+ return false;
5819
+ } // If the movement is NOT big enough and
5820
+ // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):
5821
+ // Don't go any further (avoid insignificant scroll movement).
5822
+
5823
+
5824
+ if (newEvent.delta >= 6 && now() - swiper.mousewheel.lastScrollTime < 60) {
5825
+ // Return false as a default
5826
+ return true;
5827
+ } // If user is scrolling towards the end:
5828
+ // If the slider hasn't hit the latest slide or
5829
+ // if the slider is a loop and
5830
+ // if the slider isn't moving right now:
5831
+ // Go to next slide and
5832
+ // emit a scroll event.
5833
+ // Else (the user is scrolling towards the beginning) and
5834
+ // if the slider hasn't hit the first slide or
5835
+ // if the slider is a loop and
5836
+ // if the slider isn't moving right now:
5837
+ // Go to prev slide and
5838
+ // emit a scroll event.
5839
+
5840
+
5841
+ if (newEvent.direction < 0) {
5842
+ if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
5843
+ swiper.slideNext();
5844
+ swiper.emit('scroll', newEvent.raw);
5845
+ }
5846
+ } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
5847
+ swiper.slidePrev();
5848
+ swiper.emit('scroll', newEvent.raw);
5849
+ } // If you got here is because an animation has been triggered so store the current time
5850
+
5851
+
5852
+ swiper.mousewheel.lastScrollTime = new window.Date().getTime(); // Return false as a default
5853
+
5854
+ return false;
5855
+ },
5856
+ releaseScroll: function releaseScroll(newEvent) {
5857
+ var swiper = this;
5858
+ var params = swiper.params.mousewheel;
5859
+
5860
+ if (newEvent.direction < 0) {
5861
+ if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
5862
+ // Return true to animate scroll on edges
5863
+ return true;
5864
+ }
5865
+ } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {
5866
+ // Return true to animate scroll on edges
5867
+ return true;
5868
+ }
5869
+
5870
+ return false;
5871
+ },
5872
+ enable: function enable() {
5873
+ var swiper = this;
5874
+ var event = Mousewheel.event();
5875
+
5876
+ if (swiper.params.cssMode) {
5877
+ swiper.wrapperEl.removeEventListener(event, swiper.mousewheel.handle);
5878
+ return true;
5879
+ }
5880
+
5881
+ if (!event) return false;
5882
+ if (swiper.mousewheel.enabled) return false;
5883
+ var target = swiper.$el;
5884
+
5885
+ if (swiper.params.mousewheel.eventsTarget !== 'container') {
5886
+ target = $(swiper.params.mousewheel.eventsTarget);
5887
+ }
5888
+
5889
+ target.on('mouseenter', swiper.mousewheel.handleMouseEnter);
5890
+ target.on('mouseleave', swiper.mousewheel.handleMouseLeave);
5891
+ target.on(event, swiper.mousewheel.handle);
5892
+ swiper.mousewheel.enabled = true;
5893
+ return true;
5894
+ },
5895
+ disable: function disable() {
5896
+ var swiper = this;
5897
+ var event = Mousewheel.event();
5898
+
5899
+ if (swiper.params.cssMode) {
5900
+ swiper.wrapperEl.addEventListener(event, swiper.mousewheel.handle);
5901
+ return true;
5902
+ }
5903
+
5904
+ if (!event) return false;
5905
+ if (!swiper.mousewheel.enabled) return false;
5906
+ var target = swiper.$el;
5907
+
5908
+ if (swiper.params.mousewheel.eventsTarget !== 'container') {
5909
+ target = $(swiper.params.mousewheel.eventsTarget);
5910
+ }
5911
+
5912
+ target.off(event, swiper.mousewheel.handle);
5913
+ swiper.mousewheel.enabled = false;
5914
+ return true;
5915
+ }
5916
+ };
5917
+ var Mousewheel$1 = {
5918
+ name: 'mousewheel',
5919
+ params: {
5920
+ mousewheel: {
5921
+ enabled: false,
5922
+ releaseOnEdges: false,
5923
+ invert: false,
5924
+ forceToAxis: false,
5925
+ sensitivity: 1,
5926
+ eventsTarget: 'container',
5927
+ thresholdDelta: null,
5928
+ thresholdTime: null
5929
+ }
5930
+ },
5931
+ create: function create() {
5932
+ var swiper = this;
5933
+ bindModuleMethods(swiper, {
5934
+ mousewheel: {
5935
+ enabled: false,
5936
+ lastScrollTime: now(),
5937
+ lastEventBeforeSnap: undefined,
5938
+ recentWheelEvents: [],
5939
+ enable: Mousewheel.enable,
5940
+ disable: Mousewheel.disable,
5941
+ handle: Mousewheel.handle,
5942
+ handleMouseEnter: Mousewheel.handleMouseEnter,
5943
+ handleMouseLeave: Mousewheel.handleMouseLeave,
5944
+ animateSlider: Mousewheel.animateSlider,
5945
+ releaseScroll: Mousewheel.releaseScroll
5946
+ }
5947
+ });
5948
+ },
5949
+ on: {
5950
+ init: function init(swiper) {
5951
+ if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
5952
+ swiper.mousewheel.disable();
5953
+ }
5954
+
5955
+ if (swiper.params.mousewheel.enabled) swiper.mousewheel.enable();
5956
+ },
5957
+ destroy: function destroy(swiper) {
5958
+ if (swiper.params.cssMode) {
5959
+ swiper.mousewheel.enable();
5960
+ }
5961
+
5962
+ if (swiper.mousewheel.enabled) swiper.mousewheel.disable();
5963
+ }
5964
+ }
5965
+ };
5966
+
5967
+ var Navigation = {
5968
+ update: function update() {
5969
+ // Update Navigation Buttons
5970
+ var swiper = this;
5971
+ var params = swiper.params.navigation;
5972
+ if (swiper.params.loop) return;
5973
+ var _swiper$navigation = swiper.navigation,
5974
+ $nextEl = _swiper$navigation.$nextEl,
5975
+ $prevEl = _swiper$navigation.$prevEl;
5976
+
5977
+ if ($prevEl && $prevEl.length > 0) {
5978
+ if (swiper.isBeginning) {
5979
+ $prevEl.addClass(params.disabledClass);
5980
+ } else {
5981
+ $prevEl.removeClass(params.disabledClass);
5982
+ }
5983
+
5984
+ $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
5985
+ }
5986
+
5987
+ if ($nextEl && $nextEl.length > 0) {
5988
+ if (swiper.isEnd) {
5989
+ $nextEl.addClass(params.disabledClass);
5990
+ } else {
5991
+ $nextEl.removeClass(params.disabledClass);
5992
+ }
5993
+
5994
+ $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
5995
+ }
5996
+ },
5997
+ onPrevClick: function onPrevClick(e) {
5998
+ var swiper = this;
5999
+ e.preventDefault();
6000
+ if (swiper.isBeginning && !swiper.params.loop) return;
6001
+ swiper.slidePrev();
6002
+ },
6003
+ onNextClick: function onNextClick(e) {
6004
+ var swiper = this;
6005
+ e.preventDefault();
6006
+ if (swiper.isEnd && !swiper.params.loop) return;
6007
+ swiper.slideNext();
6008
+ },
6009
+ init: function init() {
6010
+ var swiper = this;
6011
+ var params = swiper.params.navigation;
6012
+ if (!(params.nextEl || params.prevEl)) return;
6013
+ var $nextEl;
6014
+ var $prevEl;
6015
+
6016
+ if (params.nextEl) {
6017
+ $nextEl = $(params.nextEl);
6018
+
6019
+ if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {
6020
+ $nextEl = swiper.$el.find(params.nextEl);
6021
+ }
6022
+ }
6023
+
6024
+ if (params.prevEl) {
6025
+ $prevEl = $(params.prevEl);
6026
+
6027
+ if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {
6028
+ $prevEl = swiper.$el.find(params.prevEl);
6029
+ }
6030
+ }
6031
+
6032
+ if ($nextEl && $nextEl.length > 0) {
6033
+ $nextEl.on('click', swiper.navigation.onNextClick);
6034
+ }
6035
+
6036
+ if ($prevEl && $prevEl.length > 0) {
6037
+ $prevEl.on('click', swiper.navigation.onPrevClick);
6038
+ }
6039
+
6040
+ extend$1(swiper.navigation, {
6041
+ $nextEl: $nextEl,
6042
+ nextEl: $nextEl && $nextEl[0],
6043
+ $prevEl: $prevEl,
6044
+ prevEl: $prevEl && $prevEl[0]
6045
+ });
6046
+ },
6047
+ destroy: function destroy() {
6048
+ var swiper = this;
6049
+ var _swiper$navigation2 = swiper.navigation,
6050
+ $nextEl = _swiper$navigation2.$nextEl,
6051
+ $prevEl = _swiper$navigation2.$prevEl;
6052
+
6053
+ if ($nextEl && $nextEl.length) {
6054
+ $nextEl.off('click', swiper.navigation.onNextClick);
6055
+ $nextEl.removeClass(swiper.params.navigation.disabledClass);
6056
+ }
6057
+
6058
+ if ($prevEl && $prevEl.length) {
6059
+ $prevEl.off('click', swiper.navigation.onPrevClick);
6060
+ $prevEl.removeClass(swiper.params.navigation.disabledClass);
6061
+ }
6062
+ }
6063
+ };
6064
+ var Navigation$1 = {
6065
+ name: 'navigation',
6066
+ params: {
6067
+ navigation: {
6068
+ nextEl: null,
6069
+ prevEl: null,
6070
+ hideOnClick: false,
6071
+ disabledClass: 'swiper-button-disabled',
6072
+ hiddenClass: 'swiper-button-hidden',
6073
+ lockClass: 'swiper-button-lock'
6074
+ }
6075
+ },
6076
+ create: function create() {
6077
+ var swiper = this;
6078
+ bindModuleMethods(swiper, {
6079
+ navigation: _extends({}, Navigation)
6080
+ });
6081
+ },
6082
+ on: {
6083
+ init: function init(swiper) {
6084
+ swiper.navigation.init();
6085
+ swiper.navigation.update();
6086
+ },
6087
+ toEdge: function toEdge(swiper) {
6088
+ swiper.navigation.update();
6089
+ },
6090
+ fromEdge: function fromEdge(swiper) {
6091
+ swiper.navigation.update();
6092
+ },
6093
+ destroy: function destroy(swiper) {
6094
+ swiper.navigation.destroy();
6095
+ },
6096
+ click: function click(swiper, e) {
6097
+ var _swiper$navigation3 = swiper.navigation,
6098
+ $nextEl = _swiper$navigation3.$nextEl,
6099
+ $prevEl = _swiper$navigation3.$prevEl;
6100
+
6101
+ if (swiper.params.navigation.hideOnClick && !$(e.target).is($prevEl) && !$(e.target).is($nextEl)) {
6102
+ var isHidden;
6103
+
6104
+ if ($nextEl) {
6105
+ isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);
6106
+ } else if ($prevEl) {
6107
+ isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);
6108
+ }
6109
+
6110
+ if (isHidden === true) {
6111
+ swiper.emit('navigationShow');
6112
+ } else {
6113
+ swiper.emit('navigationHide');
6114
+ }
6115
+
6116
+ if ($nextEl) {
6117
+ $nextEl.toggleClass(swiper.params.navigation.hiddenClass);
6118
+ }
6119
+
6120
+ if ($prevEl) {
6121
+ $prevEl.toggleClass(swiper.params.navigation.hiddenClass);
6122
+ }
6123
+ }
6124
+ }
6125
+ }
6126
+ };
6127
+
6128
+ var Pagination = {
6129
+ update: function update() {
6130
+ // Render || Update Pagination bullets/items
6131
+ var swiper = this;
6132
+ var rtl = swiper.rtl;
6133
+ var params = swiper.params.pagination;
6134
+ if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;
6135
+ var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
6136
+ var $el = swiper.pagination.$el; // Current/Total
6137
+
6138
+ var current;
6139
+ var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
6140
+
6141
+ if (swiper.params.loop) {
6142
+ current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);
6143
+
6144
+ if (current > slidesLength - 1 - swiper.loopedSlides * 2) {
6145
+ current -= slidesLength - swiper.loopedSlides * 2;
6146
+ }
6147
+
6148
+ if (current > total - 1) current -= total;
6149
+ if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;
6150
+ } else if (typeof swiper.snapIndex !== 'undefined') {
6151
+ current = swiper.snapIndex;
6152
+ } else {
6153
+ current = swiper.activeIndex || 0;
6154
+ } // Types
6155
+
6156
+
6157
+ if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {
6158
+ var bullets = swiper.pagination.bullets;
6159
+ var firstIndex;
6160
+ var lastIndex;
6161
+ var midIndex;
6162
+
6163
+ if (params.dynamicBullets) {
6164
+ swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);
6165
+ $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + "px");
6166
+
6167
+ if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {
6168
+ swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;
6169
+
6170
+ if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {
6171
+ swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;
6172
+ } else if (swiper.pagination.dynamicBulletIndex < 0) {
6173
+ swiper.pagination.dynamicBulletIndex = 0;
6174
+ }
6175
+ }
6176
+
6177
+ firstIndex = current - swiper.pagination.dynamicBulletIndex;
6178
+ lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
6179
+ midIndex = (lastIndex + firstIndex) / 2;
6180
+ }
6181
+
6182
+ bullets.removeClass(params.bulletActiveClass + " " + params.bulletActiveClass + "-next " + params.bulletActiveClass + "-next-next " + params.bulletActiveClass + "-prev " + params.bulletActiveClass + "-prev-prev " + params.bulletActiveClass + "-main");
6183
+
6184
+ if ($el.length > 1) {
6185
+ bullets.each(function (bullet) {
6186
+ var $bullet = $(bullet);
6187
+ var bulletIndex = $bullet.index();
6188
+
6189
+ if (bulletIndex === current) {
6190
+ $bullet.addClass(params.bulletActiveClass);
6191
+ }
6192
+
6193
+ if (params.dynamicBullets) {
6194
+ if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
6195
+ $bullet.addClass(params.bulletActiveClass + "-main");
6196
+ }
6197
+
6198
+ if (bulletIndex === firstIndex) {
6199
+ $bullet.prev().addClass(params.bulletActiveClass + "-prev").prev().addClass(params.bulletActiveClass + "-prev-prev");
6200
+ }
6201
+
6202
+ if (bulletIndex === lastIndex) {
6203
+ $bullet.next().addClass(params.bulletActiveClass + "-next").next().addClass(params.bulletActiveClass + "-next-next");
6204
+ }
6205
+ }
6206
+ });
6207
+ } else {
6208
+ var $bullet = bullets.eq(current);
6209
+ var bulletIndex = $bullet.index();
6210
+ $bullet.addClass(params.bulletActiveClass);
6211
+
6212
+ if (params.dynamicBullets) {
6213
+ var $firstDisplayedBullet = bullets.eq(firstIndex);
6214
+ var $lastDisplayedBullet = bullets.eq(lastIndex);
6215
+
6216
+ for (var i = firstIndex; i <= lastIndex; i += 1) {
6217
+ bullets.eq(i).addClass(params.bulletActiveClass + "-main");
6218
+ }
6219
+
6220
+ if (swiper.params.loop) {
6221
+ if (bulletIndex >= bullets.length - params.dynamicMainBullets) {
6222
+ for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {
6223
+ bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + "-main");
6224
+ }
6225
+
6226
+ bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + "-prev");
6227
+ } else {
6228
+ $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + "-prev").prev().addClass(params.bulletActiveClass + "-prev-prev");
6229
+ $lastDisplayedBullet.next().addClass(params.bulletActiveClass + "-next").next().addClass(params.bulletActiveClass + "-next-next");
6230
+ }
6231
+ } else {
6232
+ $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + "-prev").prev().addClass(params.bulletActiveClass + "-prev-prev");
6233
+ $lastDisplayedBullet.next().addClass(params.bulletActiveClass + "-next").next().addClass(params.bulletActiveClass + "-next-next");
6234
+ }
6235
+ }
6236
+ }
6237
+
6238
+ if (params.dynamicBullets) {
6239
+ var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);
6240
+ var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;
6241
+ var offsetProp = rtl ? 'right' : 'left';
6242
+ bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + "px");
6243
+ }
6244
+ }
6245
+
6246
+ if (params.type === 'fraction') {
6247
+ $el.find("." + params.currentClass).text(params.formatFractionCurrent(current + 1));
6248
+ $el.find("." + params.totalClass).text(params.formatFractionTotal(total));
6249
+ }
6250
+
6251
+ if (params.type === 'progressbar') {
6252
+ var progressbarDirection;
6253
+
6254
+ if (params.progressbarOpposite) {
6255
+ progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';
6256
+ } else {
6257
+ progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';
6258
+ }
6259
+
6260
+ var scale = (current + 1) / total;
6261
+ var scaleX = 1;
6262
+ var scaleY = 1;
6263
+
6264
+ if (progressbarDirection === 'horizontal') {
6265
+ scaleX = scale;
6266
+ } else {
6267
+ scaleY = scale;
6268
+ }
6269
+
6270
+ $el.find("." + params.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + scaleX + ") scaleY(" + scaleY + ")").transition(swiper.params.speed);
6271
+ }
6272
+
6273
+ if (params.type === 'custom' && params.renderCustom) {
6274
+ $el.html(params.renderCustom(swiper, current + 1, total));
6275
+ swiper.emit('paginationRender', $el[0]);
6276
+ } else {
6277
+ swiper.emit('paginationUpdate', $el[0]);
6278
+ }
6279
+
6280
+ $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
6281
+ },
6282
+ render: function render() {
6283
+ // Render Container
6284
+ var swiper = this;
6285
+ var params = swiper.params.pagination;
6286
+ if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;
6287
+ var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
6288
+ var $el = swiper.pagination.$el;
6289
+ var paginationHTML = '';
6290
+
6291
+ if (params.type === 'bullets') {
6292
+ var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
6293
+
6294
+ for (var i = 0; i < numberOfBullets; i += 1) {
6295
+ if (params.renderBullet) {
6296
+ paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);
6297
+ } else {
6298
+ paginationHTML += "<" + params.bulletElement + " class=\"" + params.bulletClass + "\"></" + params.bulletElement + ">";
6299
+ }
6300
+ }
6301
+
6302
+ $el.html(paginationHTML);
6303
+ swiper.pagination.bullets = $el.find("." + params.bulletClass);
6304
+ }
6305
+
6306
+ if (params.type === 'fraction') {
6307
+ if (params.renderFraction) {
6308
+ paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);
6309
+ } else {
6310
+ paginationHTML = "<span class=\"" + params.currentClass + "\"></span>" + ' / ' + ("<span class=\"" + params.totalClass + "\"></span>");
6311
+ }
6312
+
6313
+ $el.html(paginationHTML);
6314
+ }
6315
+
6316
+ if (params.type === 'progressbar') {
6317
+ if (params.renderProgressbar) {
6318
+ paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);
6319
+ } else {
6320
+ paginationHTML = "<span class=\"" + params.progressbarFillClass + "\"></span>";
6321
+ }
6322
+
6323
+ $el.html(paginationHTML);
6324
+ }
6325
+
6326
+ if (params.type !== 'custom') {
6327
+ swiper.emit('paginationRender', swiper.pagination.$el[0]);
6328
+ }
6329
+ },
6330
+ init: function init() {
6331
+ var swiper = this;
6332
+ var params = swiper.params.pagination;
6333
+ if (!params.el) return;
6334
+ var $el = $(params.el);
6335
+ if ($el.length === 0) return;
6336
+
6337
+ if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {
6338
+ $el = swiper.$el.find(params.el);
6339
+ }
6340
+
6341
+ if (params.type === 'bullets' && params.clickable) {
6342
+ $el.addClass(params.clickableClass);
6343
+ }
6344
+
6345
+ $el.addClass(params.modifierClass + params.type);
6346
+
6347
+ if (params.type === 'bullets' && params.dynamicBullets) {
6348
+ $el.addClass("" + params.modifierClass + params.type + "-dynamic");
6349
+ swiper.pagination.dynamicBulletIndex = 0;
6350
+
6351
+ if (params.dynamicMainBullets < 1) {
6352
+ params.dynamicMainBullets = 1;
6353
+ }
6354
+ }
6355
+
6356
+ if (params.type === 'progressbar' && params.progressbarOpposite) {
6357
+ $el.addClass(params.progressbarOppositeClass);
6358
+ }
6359
+
6360
+ if (params.clickable) {
6361
+ $el.on('click', "." + params.bulletClass, function onClick(e) {
6362
+ e.preventDefault();
6363
+ var index = $(this).index() * swiper.params.slidesPerGroup;
6364
+ if (swiper.params.loop) index += swiper.loopedSlides;
6365
+ swiper.slideTo(index);
6366
+ });
6367
+ }
6368
+
6369
+ extend$1(swiper.pagination, {
6370
+ $el: $el,
6371
+ el: $el[0]
6372
+ });
6373
+ },
6374
+ destroy: function destroy() {
6375
+ var swiper = this;
6376
+ var params = swiper.params.pagination;
6377
+ if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;
6378
+ var $el = swiper.pagination.$el;
6379
+ $el.removeClass(params.hiddenClass);
6380
+ $el.removeClass(params.modifierClass + params.type);
6381
+ if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);
6382
+
6383
+ if (params.clickable) {
6384
+ $el.off('click', "." + params.bulletClass);
6385
+ }
6386
+ }
6387
+ };
6388
+ var Pagination$1 = {
6389
+ name: 'pagination',
6390
+ params: {
6391
+ pagination: {
6392
+ el: null,
6393
+ bulletElement: 'span',
6394
+ clickable: false,
6395
+ hideOnClick: false,
6396
+ renderBullet: null,
6397
+ renderProgressbar: null,
6398
+ renderFraction: null,
6399
+ renderCustom: null,
6400
+ progressbarOpposite: false,
6401
+ type: 'bullets',
6402
+ // 'bullets' or 'progressbar' or 'fraction' or 'custom'
6403
+ dynamicBullets: false,
6404
+ dynamicMainBullets: 1,
6405
+ formatFractionCurrent: function formatFractionCurrent(number) {
6406
+ return number;
6407
+ },
6408
+ formatFractionTotal: function formatFractionTotal(number) {
6409
+ return number;
6410
+ },
6411
+ bulletClass: 'swiper-pagination-bullet',
6412
+ bulletActiveClass: 'swiper-pagination-bullet-active',
6413
+ modifierClass: 'swiper-pagination-',
6414
+ // NEW
6415
+ currentClass: 'swiper-pagination-current',
6416
+ totalClass: 'swiper-pagination-total',
6417
+ hiddenClass: 'swiper-pagination-hidden',
6418
+ progressbarFillClass: 'swiper-pagination-progressbar-fill',
6419
+ progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',
6420
+ clickableClass: 'swiper-pagination-clickable',
6421
+ // NEW
6422
+ lockClass: 'swiper-pagination-lock'
6423
+ }
6424
+ },
6425
+ create: function create() {
6426
+ var swiper = this;
6427
+ bindModuleMethods(swiper, {
6428
+ pagination: _extends({
6429
+ dynamicBulletIndex: 0
6430
+ }, Pagination)
6431
+ });
6432
+ },
6433
+ on: {
6434
+ init: function init(swiper) {
6435
+ swiper.pagination.init();
6436
+ swiper.pagination.render();
6437
+ swiper.pagination.update();
6438
+ },
6439
+ activeIndexChange: function activeIndexChange(swiper) {
6440
+ if (swiper.params.loop) {
6441
+ swiper.pagination.update();
6442
+ } else if (typeof swiper.snapIndex === 'undefined') {
6443
+ swiper.pagination.update();
6444
+ }
6445
+ },
6446
+ snapIndexChange: function snapIndexChange(swiper) {
6447
+ if (!swiper.params.loop) {
6448
+ swiper.pagination.update();
6449
+ }
6450
+ },
6451
+ slidesLengthChange: function slidesLengthChange(swiper) {
6452
+ if (swiper.params.loop) {
6453
+ swiper.pagination.render();
6454
+ swiper.pagination.update();
6455
+ }
6456
+ },
6457
+ snapGridLengthChange: function snapGridLengthChange(swiper) {
6458
+ if (!swiper.params.loop) {
6459
+ swiper.pagination.render();
6460
+ swiper.pagination.update();
6461
+ }
6462
+ },
6463
+ destroy: function destroy(swiper) {
6464
+ swiper.pagination.destroy();
6465
+ },
6466
+ click: function click(swiper, e) {
6467
+ if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(e.target).hasClass(swiper.params.pagination.bulletClass)) {
6468
+ var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);
6469
+
6470
+ if (isHidden === true) {
6471
+ swiper.emit('paginationShow');
6472
+ } else {
6473
+ swiper.emit('paginationHide');
6474
+ }
6475
+
6476
+ swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);
6477
+ }
6478
+ }
6479
+ }
6480
+ };
6481
+
6482
+ var Scrollbar = {
6483
+ setTranslate: function setTranslate() {
6484
+ var swiper = this;
6485
+ if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
6486
+ var scrollbar = swiper.scrollbar,
6487
+ rtl = swiper.rtlTranslate,
6488
+ progress = swiper.progress;
6489
+ var dragSize = scrollbar.dragSize,
6490
+ trackSize = scrollbar.trackSize,
6491
+ $dragEl = scrollbar.$dragEl,
6492
+ $el = scrollbar.$el;
6493
+ var params = swiper.params.scrollbar;
6494
+ var newSize = dragSize;
6495
+ var newPos = (trackSize - dragSize) * progress;
6496
+
6497
+ if (rtl) {
6498
+ newPos = -newPos;
6499
+
6500
+ if (newPos > 0) {
6501
+ newSize = dragSize - newPos;
6502
+ newPos = 0;
6503
+ } else if (-newPos + dragSize > trackSize) {
6504
+ newSize = trackSize + newPos;
6505
+ }
6506
+ } else if (newPos < 0) {
6507
+ newSize = dragSize + newPos;
6508
+ newPos = 0;
6509
+ } else if (newPos + dragSize > trackSize) {
6510
+ newSize = trackSize - newPos;
6511
+ }
6512
+
6513
+ if (swiper.isHorizontal()) {
6514
+ $dragEl.transform("translate3d(" + newPos + "px, 0, 0)");
6515
+ $dragEl[0].style.width = newSize + "px";
6516
+ } else {
6517
+ $dragEl.transform("translate3d(0px, " + newPos + "px, 0)");
6518
+ $dragEl[0].style.height = newSize + "px";
6519
+ }
6520
+
6521
+ if (params.hide) {
6522
+ clearTimeout(swiper.scrollbar.timeout);
6523
+ $el[0].style.opacity = 1;
6524
+ swiper.scrollbar.timeout = setTimeout(function () {
6525
+ $el[0].style.opacity = 0;
6526
+ $el.transition(400);
6527
+ }, 1000);
6528
+ }
6529
+ },
6530
+ setTransition: function setTransition(duration) {
6531
+ var swiper = this;
6532
+ if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
6533
+ swiper.scrollbar.$dragEl.transition(duration);
6534
+ },
6535
+ updateSize: function updateSize() {
6536
+ var swiper = this;
6537
+ if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
6538
+ var scrollbar = swiper.scrollbar;
6539
+ var $dragEl = scrollbar.$dragEl,
6540
+ $el = scrollbar.$el;
6541
+ $dragEl[0].style.width = '';
6542
+ $dragEl[0].style.height = '';
6543
+ var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;
6544
+ var divider = swiper.size / swiper.virtualSize;
6545
+ var moveDivider = divider * (trackSize / swiper.size);
6546
+ var dragSize;
6547
+
6548
+ if (swiper.params.scrollbar.dragSize === 'auto') {
6549
+ dragSize = trackSize * divider;
6550
+ } else {
6551
+ dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
6552
+ }
6553
+
6554
+ if (swiper.isHorizontal()) {
6555
+ $dragEl[0].style.width = dragSize + "px";
6556
+ } else {
6557
+ $dragEl[0].style.height = dragSize + "px";
6558
+ }
6559
+
6560
+ if (divider >= 1) {
6561
+ $el[0].style.display = 'none';
6562
+ } else {
6563
+ $el[0].style.display = '';
6564
+ }
6565
+
6566
+ if (swiper.params.scrollbar.hide) {
6567
+ $el[0].style.opacity = 0;
6568
+ }
6569
+
6570
+ extend$1(scrollbar, {
6571
+ trackSize: trackSize,
6572
+ divider: divider,
6573
+ moveDivider: moveDivider,
6574
+ dragSize: dragSize
6575
+ });
6576
+ scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);
6577
+ },
6578
+ getPointerPosition: function getPointerPosition(e) {
6579
+ var swiper = this;
6580
+
6581
+ if (swiper.isHorizontal()) {
6582
+ return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;
6583
+ }
6584
+
6585
+ return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;
6586
+ },
6587
+ setDragPosition: function setDragPosition(e) {
6588
+ var swiper = this;
6589
+ var scrollbar = swiper.scrollbar,
6590
+ rtl = swiper.rtlTranslate;
6591
+ var $el = scrollbar.$el,
6592
+ dragSize = scrollbar.dragSize,
6593
+ trackSize = scrollbar.trackSize,
6594
+ dragStartPos = scrollbar.dragStartPos;
6595
+ var positionRatio;
6596
+ positionRatio = (scrollbar.getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);
6597
+ positionRatio = Math.max(Math.min(positionRatio, 1), 0);
6598
+
6599
+ if (rtl) {
6600
+ positionRatio = 1 - positionRatio;
6601
+ }
6602
+
6603
+ var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
6604
+ swiper.updateProgress(position);
6605
+ swiper.setTranslate(position);
6606
+ swiper.updateActiveIndex();
6607
+ swiper.updateSlidesClasses();
6608
+ },
6609
+ onDragStart: function onDragStart(e) {
6610
+ var swiper = this;
6611
+ var params = swiper.params.scrollbar;
6612
+ var scrollbar = swiper.scrollbar,
6613
+ $wrapperEl = swiper.$wrapperEl;
6614
+ var $el = scrollbar.$el,
6615
+ $dragEl = scrollbar.$dragEl;
6616
+ swiper.scrollbar.isTouched = true;
6617
+ swiper.scrollbar.dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;
6618
+ e.preventDefault();
6619
+ e.stopPropagation();
6620
+ $wrapperEl.transition(100);
6621
+ $dragEl.transition(100);
6622
+ scrollbar.setDragPosition(e);
6623
+ clearTimeout(swiper.scrollbar.dragTimeout);
6624
+ $el.transition(0);
6625
+
6626
+ if (params.hide) {
6627
+ $el.css('opacity', 1);
6628
+ }
6629
+
6630
+ if (swiper.params.cssMode) {
6631
+ swiper.$wrapperEl.css('scroll-snap-type', 'none');
6632
+ }
6633
+
6634
+ swiper.emit('scrollbarDragStart', e);
6635
+ },
6636
+ onDragMove: function onDragMove(e) {
6637
+ var swiper = this;
6638
+ var scrollbar = swiper.scrollbar,
6639
+ $wrapperEl = swiper.$wrapperEl;
6640
+ var $el = scrollbar.$el,
6641
+ $dragEl = scrollbar.$dragEl;
6642
+ if (!swiper.scrollbar.isTouched) return;
6643
+ if (e.preventDefault) e.preventDefault();else e.returnValue = false;
6644
+ scrollbar.setDragPosition(e);
6645
+ $wrapperEl.transition(0);
6646
+ $el.transition(0);
6647
+ $dragEl.transition(0);
6648
+ swiper.emit('scrollbarDragMove', e);
6649
+ },
6650
+ onDragEnd: function onDragEnd(e) {
6651
+ var swiper = this;
6652
+ var params = swiper.params.scrollbar;
6653
+ var scrollbar = swiper.scrollbar,
6654
+ $wrapperEl = swiper.$wrapperEl;
6655
+ var $el = scrollbar.$el;
6656
+ if (!swiper.scrollbar.isTouched) return;
6657
+ swiper.scrollbar.isTouched = false;
6658
+
6659
+ if (swiper.params.cssMode) {
6660
+ swiper.$wrapperEl.css('scroll-snap-type', '');
6661
+ $wrapperEl.transition('');
6662
+ }
6663
+
6664
+ if (params.hide) {
6665
+ clearTimeout(swiper.scrollbar.dragTimeout);
6666
+ swiper.scrollbar.dragTimeout = nextTick(function () {
6667
+ $el.css('opacity', 0);
6668
+ $el.transition(400);
6669
+ }, 1000);
6670
+ }
6671
+
6672
+ swiper.emit('scrollbarDragEnd', e);
6673
+
6674
+ if (params.snapOnRelease) {
6675
+ swiper.slideToClosest();
6676
+ }
6677
+ },
6678
+ enableDraggable: function enableDraggable() {
6679
+ var swiper = this;
6680
+ if (!swiper.params.scrollbar.el) return;
6681
+ var document = getDocument();
6682
+ var scrollbar = swiper.scrollbar,
6683
+ touchEventsTouch = swiper.touchEventsTouch,
6684
+ touchEventsDesktop = swiper.touchEventsDesktop,
6685
+ params = swiper.params,
6686
+ support = swiper.support;
6687
+ var $el = scrollbar.$el;
6688
+ var target = $el[0];
6689
+ var activeListener = support.passiveListener && params.passiveListeners ? {
6690
+ passive: false,
6691
+ capture: false
6692
+ } : false;
6693
+ var passiveListener = support.passiveListener && params.passiveListeners ? {
6694
+ passive: true,
6695
+ capture: false
6696
+ } : false;
6697
+
6698
+ if (!support.touch) {
6699
+ target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
6700
+ document.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
6701
+ document.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
6702
+ } else {
6703
+ target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);
6704
+ target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);
6705
+ target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);
6706
+ }
6707
+ },
6708
+ disableDraggable: function disableDraggable() {
6709
+ var swiper = this;
6710
+ if (!swiper.params.scrollbar.el) return;
6711
+ var document = getDocument();
6712
+ var scrollbar = swiper.scrollbar,
6713
+ touchEventsTouch = swiper.touchEventsTouch,
6714
+ touchEventsDesktop = swiper.touchEventsDesktop,
6715
+ params = swiper.params,
6716
+ support = swiper.support;
6717
+ var $el = scrollbar.$el;
6718
+ var target = $el[0];
6719
+ var activeListener = support.passiveListener && params.passiveListeners ? {
6720
+ passive: false,
6721
+ capture: false
6722
+ } : false;
6723
+ var passiveListener = support.passiveListener && params.passiveListeners ? {
6724
+ passive: true,
6725
+ capture: false
6726
+ } : false;
6727
+
6728
+ if (!support.touch) {
6729
+ target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
6730
+ document.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
6731
+ document.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
6732
+ } else {
6733
+ target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);
6734
+ target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);
6735
+ target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);
6736
+ }
6737
+ },
6738
+ init: function init() {
6739
+ var swiper = this;
6740
+ if (!swiper.params.scrollbar.el) return;
6741
+ var scrollbar = swiper.scrollbar,
6742
+ $swiperEl = swiper.$el;
6743
+ var params = swiper.params.scrollbar;
6744
+ var $el = $(params.el);
6745
+
6746
+ if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {
6747
+ $el = $swiperEl.find(params.el);
6748
+ }
6749
+
6750
+ var $dragEl = $el.find("." + swiper.params.scrollbar.dragClass);
6751
+
6752
+ if ($dragEl.length === 0) {
6753
+ $dragEl = $("<div class=\"" + swiper.params.scrollbar.dragClass + "\"></div>");
6754
+ $el.append($dragEl);
6755
+ }
6756
+
6757
+ extend$1(scrollbar, {
6758
+ $el: $el,
6759
+ el: $el[0],
6760
+ $dragEl: $dragEl,
6761
+ dragEl: $dragEl[0]
6762
+ });
6763
+
6764
+ if (params.draggable) {
6765
+ scrollbar.enableDraggable();
6766
+ }
6767
+ },
6768
+ destroy: function destroy() {
6769
+ var swiper = this;
6770
+ swiper.scrollbar.disableDraggable();
6771
+ }
6772
+ };
6773
+ var Scrollbar$1 = {
6774
+ name: 'scrollbar',
6775
+ params: {
6776
+ scrollbar: {
6777
+ el: null,
6778
+ dragSize: 'auto',
6779
+ hide: false,
6780
+ draggable: false,
6781
+ snapOnRelease: true,
6782
+ lockClass: 'swiper-scrollbar-lock',
6783
+ dragClass: 'swiper-scrollbar-drag'
6784
+ }
6785
+ },
6786
+ create: function create() {
6787
+ var swiper = this;
6788
+ bindModuleMethods(swiper, {
6789
+ scrollbar: _extends({
6790
+ isTouched: false,
6791
+ timeout: null,
6792
+ dragTimeout: null
6793
+ }, Scrollbar)
6794
+ });
6795
+ },
6796
+ on: {
6797
+ init: function init(swiper) {
6798
+ swiper.scrollbar.init();
6799
+ swiper.scrollbar.updateSize();
6800
+ swiper.scrollbar.setTranslate();
6801
+ },
6802
+ update: function update(swiper) {
6803
+ swiper.scrollbar.updateSize();
6804
+ },
6805
+ resize: function resize(swiper) {
6806
+ swiper.scrollbar.updateSize();
6807
+ },
6808
+ observerUpdate: function observerUpdate(swiper) {
6809
+ swiper.scrollbar.updateSize();
6810
+ },
6811
+ setTranslate: function setTranslate(swiper) {
6812
+ swiper.scrollbar.setTranslate();
6813
+ },
6814
+ setTransition: function setTransition(swiper, duration) {
6815
+ swiper.scrollbar.setTransition(duration);
6816
+ },
6817
+ destroy: function destroy(swiper) {
6818
+ swiper.scrollbar.destroy();
6819
+ }
6820
+ }
6821
+ };
6822
+
6823
+ var Parallax = {
6824
+ setTransform: function setTransform(el, progress) {
6825
+ var swiper = this;
6826
+ var rtl = swiper.rtl;
6827
+ var $el = $(el);
6828
+ var rtlFactor = rtl ? -1 : 1;
6829
+ var p = $el.attr('data-swiper-parallax') || '0';
6830
+ var x = $el.attr('data-swiper-parallax-x');
6831
+ var y = $el.attr('data-swiper-parallax-y');
6832
+ var scale = $el.attr('data-swiper-parallax-scale');
6833
+ var opacity = $el.attr('data-swiper-parallax-opacity');
6834
+
6835
+ if (x || y) {
6836
+ x = x || '0';
6837
+ y = y || '0';
6838
+ } else if (swiper.isHorizontal()) {
6839
+ x = p;
6840
+ y = '0';
6841
+ } else {
6842
+ y = p;
6843
+ x = '0';
6844
+ }
6845
+
6846
+ if (x.indexOf('%') >= 0) {
6847
+ x = parseInt(x, 10) * progress * rtlFactor + "%";
6848
+ } else {
6849
+ x = x * progress * rtlFactor + "px";
6850
+ }
6851
+
6852
+ if (y.indexOf('%') >= 0) {
6853
+ y = parseInt(y, 10) * progress + "%";
6854
+ } else {
6855
+ y = y * progress + "px";
6856
+ }
6857
+
6858
+ if (typeof opacity !== 'undefined' && opacity !== null) {
6859
+ var currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));
6860
+ $el[0].style.opacity = currentOpacity;
6861
+ }
6862
+
6863
+ if (typeof scale === 'undefined' || scale === null) {
6864
+ $el.transform("translate3d(" + x + ", " + y + ", 0px)");
6865
+ } else {
6866
+ var currentScale = scale - (scale - 1) * (1 - Math.abs(progress));
6867
+ $el.transform("translate3d(" + x + ", " + y + ", 0px) scale(" + currentScale + ")");
6868
+ }
6869
+ },
6870
+ setTranslate: function setTranslate() {
6871
+ var swiper = this;
6872
+ var $el = swiper.$el,
6873
+ slides = swiper.slides,
6874
+ progress = swiper.progress,
6875
+ snapGrid = swiper.snapGrid;
6876
+ $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {
6877
+ swiper.parallax.setTransform(el, progress);
6878
+ });
6879
+ slides.each(function (slideEl, slideIndex) {
6880
+ var slideProgress = slideEl.progress;
6881
+
6882
+ if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {
6883
+ slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
6884
+ }
6885
+
6886
+ slideProgress = Math.min(Math.max(slideProgress, -1), 1);
6887
+ $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {
6888
+ swiper.parallax.setTransform(el, slideProgress);
6889
+ });
6890
+ });
6891
+ },
6892
+ setTransition: function setTransition(duration) {
6893
+ if (duration === void 0) {
6894
+ duration = this.params.speed;
6895
+ }
6896
+
6897
+ var swiper = this;
6898
+ var $el = swiper.$el;
6899
+ $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (parallaxEl) {
6900
+ var $parallaxEl = $(parallaxEl);
6901
+ var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;
6902
+ if (duration === 0) parallaxDuration = 0;
6903
+ $parallaxEl.transition(parallaxDuration);
6904
+ });
6905
+ }
6906
+ };
6907
+ var Parallax$1 = {
6908
+ name: 'parallax',
6909
+ params: {
6910
+ parallax: {
6911
+ enabled: false
6912
+ }
6913
+ },
6914
+ create: function create() {
6915
+ var swiper = this;
6916
+ bindModuleMethods(swiper, {
6917
+ parallax: _extends({}, Parallax)
6918
+ });
6919
+ },
6920
+ on: {
6921
+ beforeInit: function beforeInit(swiper) {
6922
+ if (!swiper.params.parallax.enabled) return;
6923
+ swiper.params.watchSlidesProgress = true;
6924
+ swiper.originalParams.watchSlidesProgress = true;
6925
+ },
6926
+ init: function init(swiper) {
6927
+ if (!swiper.params.parallax.enabled) return;
6928
+ swiper.parallax.setTranslate();
6929
+ },
6930
+ setTranslate: function setTranslate(swiper) {
6931
+ if (!swiper.params.parallax.enabled) return;
6932
+ swiper.parallax.setTranslate();
6933
+ },
6934
+ setTransition: function setTransition(swiper, duration) {
6935
+ if (!swiper.params.parallax.enabled) return;
6936
+ swiper.parallax.setTransition(duration);
6937
+ }
6938
+ }
6939
+ };
6940
+
6941
+ var Zoom = {
6942
+ // Calc Scale From Multi-touches
6943
+ getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {
6944
+ if (e.targetTouches.length < 2) return 1;
6945
+ var x1 = e.targetTouches[0].pageX;
6946
+ var y1 = e.targetTouches[0].pageY;
6947
+ var x2 = e.targetTouches[1].pageX;
6948
+ var y2 = e.targetTouches[1].pageY;
6949
+ var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
6950
+ return distance;
6951
+ },
6952
+ // Events
6953
+ onGestureStart: function onGestureStart(e) {
6954
+ var swiper = this;
6955
+ var support = swiper.support;
6956
+ var params = swiper.params.zoom;
6957
+ var zoom = swiper.zoom;
6958
+ var gesture = zoom.gesture;
6959
+ zoom.fakeGestureTouched = false;
6960
+ zoom.fakeGestureMoved = false;
6961
+
6962
+ if (!support.gestures) {
6963
+ if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {
6964
+ return;
6965
+ }
6966
+
6967
+ zoom.fakeGestureTouched = true;
6968
+ gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);
6969
+ }
6970
+
6971
+ if (!gesture.$slideEl || !gesture.$slideEl.length) {
6972
+ gesture.$slideEl = $(e.target).closest("." + swiper.params.slideClass);
6973
+ if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
6974
+ gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
6975
+ gesture.$imageWrapEl = gesture.$imageEl.parent("." + params.containerClass);
6976
+ gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
6977
+
6978
+ if (gesture.$imageWrapEl.length === 0) {
6979
+ gesture.$imageEl = undefined;
6980
+ return;
6981
+ }
6982
+ }
6983
+
6984
+ if (gesture.$imageEl) {
6985
+ gesture.$imageEl.transition(0);
6986
+ }
6987
+
6988
+ swiper.zoom.isScaling = true;
6989
+ },
6990
+ onGestureChange: function onGestureChange(e) {
6991
+ var swiper = this;
6992
+ var support = swiper.support;
6993
+ var params = swiper.params.zoom;
6994
+ var zoom = swiper.zoom;
6995
+ var gesture = zoom.gesture;
6996
+
6997
+ if (!support.gestures) {
6998
+ if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {
6999
+ return;
7000
+ }
7001
+
7002
+ zoom.fakeGestureMoved = true;
7003
+ gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);
7004
+ }
7005
+
7006
+ if (!gesture.$imageEl || gesture.$imageEl.length === 0) {
7007
+ if (e.type === 'gesturechange') zoom.onGestureStart(e);
7008
+ return;
7009
+ }
7010
+
7011
+ if (support.gestures) {
7012
+ zoom.scale = e.scale * zoom.currentScale;
7013
+ } else {
7014
+ zoom.scale = gesture.scaleMove / gesture.scaleStart * zoom.currentScale;
7015
+ }
7016
+
7017
+ if (zoom.scale > gesture.maxRatio) {
7018
+ zoom.scale = gesture.maxRatio - 1 + Math.pow(zoom.scale - gesture.maxRatio + 1, 0.5);
7019
+ }
7020
+
7021
+ if (zoom.scale < params.minRatio) {
7022
+ zoom.scale = params.minRatio + 1 - Math.pow(params.minRatio - zoom.scale + 1, 0.5);
7023
+ }
7024
+
7025
+ gesture.$imageEl.transform("translate3d(0,0,0) scale(" + zoom.scale + ")");
7026
+ },
7027
+ onGestureEnd: function onGestureEnd(e) {
7028
+ var swiper = this;
7029
+ var device = swiper.device;
7030
+ var support = swiper.support;
7031
+ var params = swiper.params.zoom;
7032
+ var zoom = swiper.zoom;
7033
+ var gesture = zoom.gesture;
7034
+
7035
+ if (!support.gestures) {
7036
+ if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {
7037
+ return;
7038
+ }
7039
+
7040
+ if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) {
7041
+ return;
7042
+ }
7043
+
7044
+ zoom.fakeGestureTouched = false;
7045
+ zoom.fakeGestureMoved = false;
7046
+ }
7047
+
7048
+ if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
7049
+ zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
7050
+ gesture.$imageEl.transition(swiper.params.speed).transform("translate3d(0,0,0) scale(" + zoom.scale + ")");
7051
+ zoom.currentScale = zoom.scale;
7052
+ zoom.isScaling = false;
7053
+ if (zoom.scale === 1) gesture.$slideEl = undefined;
7054
+ },
7055
+ onTouchStart: function onTouchStart(e) {
7056
+ var swiper = this;
7057
+ var device = swiper.device;
7058
+ var zoom = swiper.zoom;
7059
+ var gesture = zoom.gesture,
7060
+ image = zoom.image;
7061
+ if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
7062
+ if (image.isTouched) return;
7063
+ if (device.android && e.cancelable) e.preventDefault();
7064
+ image.isTouched = true;
7065
+ image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
7066
+ image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
7067
+ },
7068
+ onTouchMove: function onTouchMove(e) {
7069
+ var swiper = this;
7070
+ var zoom = swiper.zoom;
7071
+ var gesture = zoom.gesture,
7072
+ image = zoom.image,
7073
+ velocity = zoom.velocity;
7074
+ if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
7075
+ swiper.allowClick = false;
7076
+ if (!image.isTouched || !gesture.$slideEl) return;
7077
+
7078
+ if (!image.isMoved) {
7079
+ image.width = gesture.$imageEl[0].offsetWidth;
7080
+ image.height = gesture.$imageEl[0].offsetHeight;
7081
+ image.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0;
7082
+ image.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0;
7083
+ gesture.slideWidth = gesture.$slideEl[0].offsetWidth;
7084
+ gesture.slideHeight = gesture.$slideEl[0].offsetHeight;
7085
+ gesture.$imageWrapEl.transition(0);
7086
+
7087
+ if (swiper.rtl) {
7088
+ image.startX = -image.startX;
7089
+ image.startY = -image.startY;
7090
+ }
7091
+ } // Define if we need image drag
7092
+
7093
+
7094
+ var scaledWidth = image.width * zoom.scale;
7095
+ var scaledHeight = image.height * zoom.scale;
7096
+ if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;
7097
+ image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
7098
+ image.maxX = -image.minX;
7099
+ image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
7100
+ image.maxY = -image.minY;
7101
+ image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;
7102
+ image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;
7103
+
7104
+ if (!image.isMoved && !zoom.isScaling) {
7105
+ if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {
7106
+ image.isTouched = false;
7107
+ return;
7108
+ }
7109
+
7110
+ if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {
7111
+ image.isTouched = false;
7112
+ return;
7113
+ }
7114
+ }
7115
+
7116
+ if (e.cancelable) {
7117
+ e.preventDefault();
7118
+ }
7119
+
7120
+ e.stopPropagation();
7121
+ image.isMoved = true;
7122
+ image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;
7123
+ image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;
7124
+
7125
+ if (image.currentX < image.minX) {
7126
+ image.currentX = image.minX + 1 - Math.pow(image.minX - image.currentX + 1, 0.8);
7127
+ }
7128
+
7129
+ if (image.currentX > image.maxX) {
7130
+ image.currentX = image.maxX - 1 + Math.pow(image.currentX - image.maxX + 1, 0.8);
7131
+ }
7132
+
7133
+ if (image.currentY < image.minY) {
7134
+ image.currentY = image.minY + 1 - Math.pow(image.minY - image.currentY + 1, 0.8);
7135
+ }
7136
+
7137
+ if (image.currentY > image.maxY) {
7138
+ image.currentY = image.maxY - 1 + Math.pow(image.currentY - image.maxY + 1, 0.8);
7139
+ } // Velocity
7140
+
7141
+
7142
+ if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;
7143
+ if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;
7144
+ if (!velocity.prevTime) velocity.prevTime = Date.now();
7145
+ velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
7146
+ velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
7147
+ if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;
7148
+ if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;
7149
+ velocity.prevPositionX = image.touchesCurrent.x;
7150
+ velocity.prevPositionY = image.touchesCurrent.y;
7151
+ velocity.prevTime = Date.now();
7152
+ gesture.$imageWrapEl.transform("translate3d(" + image.currentX + "px, " + image.currentY + "px,0)");
7153
+ },
7154
+ onTouchEnd: function onTouchEnd() {
7155
+ var swiper = this;
7156
+ var zoom = swiper.zoom;
7157
+ var gesture = zoom.gesture,
7158
+ image = zoom.image,
7159
+ velocity = zoom.velocity;
7160
+ if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
7161
+
7162
+ if (!image.isTouched || !image.isMoved) {
7163
+ image.isTouched = false;
7164
+ image.isMoved = false;
7165
+ return;
7166
+ }
7167
+
7168
+ image.isTouched = false;
7169
+ image.isMoved = false;
7170
+ var momentumDurationX = 300;
7171
+ var momentumDurationY = 300;
7172
+ var momentumDistanceX = velocity.x * momentumDurationX;
7173
+ var newPositionX = image.currentX + momentumDistanceX;
7174
+ var momentumDistanceY = velocity.y * momentumDurationY;
7175
+ var newPositionY = image.currentY + momentumDistanceY; // Fix duration
7176
+
7177
+ if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);
7178
+ if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);
7179
+ var momentumDuration = Math.max(momentumDurationX, momentumDurationY);
7180
+ image.currentX = newPositionX;
7181
+ image.currentY = newPositionY; // Define if we need image drag
7182
+
7183
+ var scaledWidth = image.width * zoom.scale;
7184
+ var scaledHeight = image.height * zoom.scale;
7185
+ image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
7186
+ image.maxX = -image.minX;
7187
+ image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
7188
+ image.maxY = -image.minY;
7189
+ image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);
7190
+ image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);
7191
+ gesture.$imageWrapEl.transition(momentumDuration).transform("translate3d(" + image.currentX + "px, " + image.currentY + "px,0)");
7192
+ },
7193
+ onTransitionEnd: function onTransitionEnd() {
7194
+ var swiper = this;
7195
+ var zoom = swiper.zoom;
7196
+ var gesture = zoom.gesture;
7197
+
7198
+ if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {
7199
+ if (gesture.$imageEl) {
7200
+ gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');
7201
+ }
7202
+
7203
+ if (gesture.$imageWrapEl) {
7204
+ gesture.$imageWrapEl.transform('translate3d(0,0,0)');
7205
+ }
7206
+
7207
+ zoom.scale = 1;
7208
+ zoom.currentScale = 1;
7209
+ gesture.$slideEl = undefined;
7210
+ gesture.$imageEl = undefined;
7211
+ gesture.$imageWrapEl = undefined;
7212
+ }
7213
+ },
7214
+ // Toggle Zoom
7215
+ toggle: function toggle(e) {
7216
+ var swiper = this;
7217
+ var zoom = swiper.zoom;
7218
+
7219
+ if (zoom.scale && zoom.scale !== 1) {
7220
+ // Zoom Out
7221
+ zoom.out();
7222
+ } else {
7223
+ // Zoom In
7224
+ zoom.in(e);
7225
+ }
7226
+ },
7227
+ in: function _in(e) {
7228
+ var swiper = this;
7229
+ var zoom = swiper.zoom;
7230
+ var params = swiper.params.zoom;
7231
+ var gesture = zoom.gesture,
7232
+ image = zoom.image;
7233
+
7234
+ if (!gesture.$slideEl) {
7235
+ if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
7236
+ gesture.$slideEl = swiper.$wrapperEl.children("." + swiper.params.slideActiveClass);
7237
+ } else {
7238
+ gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
7239
+ }
7240
+
7241
+ gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
7242
+ gesture.$imageWrapEl = gesture.$imageEl.parent("." + params.containerClass);
7243
+ }
7244
+
7245
+ if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
7246
+ gesture.$slideEl.addClass("" + params.zoomedSlideClass);
7247
+ var touchX;
7248
+ var touchY;
7249
+ var offsetX;
7250
+ var offsetY;
7251
+ var diffX;
7252
+ var diffY;
7253
+ var translateX;
7254
+ var translateY;
7255
+ var imageWidth;
7256
+ var imageHeight;
7257
+ var scaledWidth;
7258
+ var scaledHeight;
7259
+ var translateMinX;
7260
+ var translateMinY;
7261
+ var translateMaxX;
7262
+ var translateMaxY;
7263
+ var slideWidth;
7264
+ var slideHeight;
7265
+
7266
+ if (typeof image.touchesStart.x === 'undefined' && e) {
7267
+ touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;
7268
+ touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;
7269
+ } else {
7270
+ touchX = image.touchesStart.x;
7271
+ touchY = image.touchesStart.y;
7272
+ }
7273
+
7274
+ zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
7275
+ zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
7276
+
7277
+ if (e) {
7278
+ slideWidth = gesture.$slideEl[0].offsetWidth;
7279
+ slideHeight = gesture.$slideEl[0].offsetHeight;
7280
+ offsetX = gesture.$slideEl.offset().left;
7281
+ offsetY = gesture.$slideEl.offset().top;
7282
+ diffX = offsetX + slideWidth / 2 - touchX;
7283
+ diffY = offsetY + slideHeight / 2 - touchY;
7284
+ imageWidth = gesture.$imageEl[0].offsetWidth;
7285
+ imageHeight = gesture.$imageEl[0].offsetHeight;
7286
+ scaledWidth = imageWidth * zoom.scale;
7287
+ scaledHeight = imageHeight * zoom.scale;
7288
+ translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
7289
+ translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
7290
+ translateMaxX = -translateMinX;
7291
+ translateMaxY = -translateMinY;
7292
+ translateX = diffX * zoom.scale;
7293
+ translateY = diffY * zoom.scale;
7294
+
7295
+ if (translateX < translateMinX) {
7296
+ translateX = translateMinX;
7297
+ }
7298
+
7299
+ if (translateX > translateMaxX) {
7300
+ translateX = translateMaxX;
7301
+ }
7302
+
7303
+ if (translateY < translateMinY) {
7304
+ translateY = translateMinY;
7305
+ }
7306
+
7307
+ if (translateY > translateMaxY) {
7308
+ translateY = translateMaxY;
7309
+ }
7310
+ } else {
7311
+ translateX = 0;
7312
+ translateY = 0;
7313
+ }
7314
+
7315
+ gesture.$imageWrapEl.transition(300).transform("translate3d(" + translateX + "px, " + translateY + "px,0)");
7316
+ gesture.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + zoom.scale + ")");
7317
+ },
7318
+ out: function out() {
7319
+ var swiper = this;
7320
+ var zoom = swiper.zoom;
7321
+ var params = swiper.params.zoom;
7322
+ var gesture = zoom.gesture;
7323
+
7324
+ if (!gesture.$slideEl) {
7325
+ if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
7326
+ gesture.$slideEl = swiper.$wrapperEl.children("." + swiper.params.slideActiveClass);
7327
+ } else {
7328
+ gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
7329
+ }
7330
+
7331
+ gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
7332
+ gesture.$imageWrapEl = gesture.$imageEl.parent("." + params.containerClass);
7333
+ }
7334
+
7335
+ if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
7336
+ zoom.scale = 1;
7337
+ zoom.currentScale = 1;
7338
+ gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');
7339
+ gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');
7340
+ gesture.$slideEl.removeClass("" + params.zoomedSlideClass);
7341
+ gesture.$slideEl = undefined;
7342
+ },
7343
+ toggleGestures: function toggleGestures(method) {
7344
+ var swiper = this;
7345
+ var zoom = swiper.zoom;
7346
+ var selector = zoom.slideSelector,
7347
+ passive = zoom.passiveListener;
7348
+ swiper.$wrapperEl[method]('gesturestart', selector, zoom.onGestureStart, passive);
7349
+ swiper.$wrapperEl[method]('gesturechange', selector, zoom.onGestureChange, passive);
7350
+ swiper.$wrapperEl[method]('gestureend', selector, zoom.onGestureEnd, passive);
7351
+ },
7352
+ enableGestures: function enableGestures() {
7353
+ if (this.zoom.gesturesEnabled) return;
7354
+ this.zoom.gesturesEnabled = true;
7355
+ this.zoom.toggleGestures('on');
7356
+ },
7357
+ disableGestures: function disableGestures() {
7358
+ if (!this.zoom.gesturesEnabled) return;
7359
+ this.zoom.gesturesEnabled = false;
7360
+ this.zoom.toggleGestures('off');
7361
+ },
7362
+ // Attach/Detach Events
7363
+ enable: function enable() {
7364
+ var swiper = this;
7365
+ var support = swiper.support;
7366
+ var zoom = swiper.zoom;
7367
+ if (zoom.enabled) return;
7368
+ zoom.enabled = true;
7369
+ var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {
7370
+ passive: true,
7371
+ capture: false
7372
+ } : false;
7373
+ var activeListenerWithCapture = support.passiveListener ? {
7374
+ passive: false,
7375
+ capture: true
7376
+ } : true;
7377
+ var slideSelector = "." + swiper.params.slideClass;
7378
+ swiper.zoom.passiveListener = passiveListener;
7379
+ swiper.zoom.slideSelector = slideSelector; // Scale image
7380
+
7381
+ if (support.gestures) {
7382
+ swiper.$wrapperEl.on(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);
7383
+ swiper.$wrapperEl.on(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);
7384
+ } else if (swiper.touchEvents.start === 'touchstart') {
7385
+ swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);
7386
+ swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);
7387
+ swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);
7388
+
7389
+ if (swiper.touchEvents.cancel) {
7390
+ swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);
7391
+ }
7392
+ } // Move image
7393
+
7394
+
7395
+ swiper.$wrapperEl.on(swiper.touchEvents.move, "." + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);
7396
+ },
7397
+ disable: function disable() {
7398
+ var swiper = this;
7399
+ var zoom = swiper.zoom;
7400
+ if (!zoom.enabled) return;
7401
+ var support = swiper.support;
7402
+ swiper.zoom.enabled = false;
7403
+ var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {
7404
+ passive: true,
7405
+ capture: false
7406
+ } : false;
7407
+ var activeListenerWithCapture = support.passiveListener ? {
7408
+ passive: false,
7409
+ capture: true
7410
+ } : true;
7411
+ var slideSelector = "." + swiper.params.slideClass; // Scale image
7412
+
7413
+ if (support.gestures) {
7414
+ swiper.$wrapperEl.off(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);
7415
+ swiper.$wrapperEl.off(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);
7416
+ } else if (swiper.touchEvents.start === 'touchstart') {
7417
+ swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);
7418
+ swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);
7419
+ swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);
7420
+
7421
+ if (swiper.touchEvents.cancel) {
7422
+ swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);
7423
+ }
7424
+ } // Move image
7425
+
7426
+
7427
+ swiper.$wrapperEl.off(swiper.touchEvents.move, "." + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);
7428
+ }
7429
+ };
7430
+ var Zoom$1 = {
7431
+ name: 'zoom',
7432
+ params: {
7433
+ zoom: {
7434
+ enabled: false,
7435
+ maxRatio: 3,
7436
+ minRatio: 1,
7437
+ toggle: true,
7438
+ containerClass: 'swiper-zoom-container',
7439
+ zoomedSlideClass: 'swiper-slide-zoomed'
7440
+ }
7441
+ },
7442
+ create: function create() {
7443
+ var swiper = this;
7444
+ bindModuleMethods(swiper, {
7445
+ zoom: _extends({
7446
+ enabled: false,
7447
+ scale: 1,
7448
+ currentScale: 1,
7449
+ isScaling: false,
7450
+ gesture: {
7451
+ $slideEl: undefined,
7452
+ slideWidth: undefined,
7453
+ slideHeight: undefined,
7454
+ $imageEl: undefined,
7455
+ $imageWrapEl: undefined,
7456
+ maxRatio: 3
7457
+ },
7458
+ image: {
7459
+ isTouched: undefined,
7460
+ isMoved: undefined,
7461
+ currentX: undefined,
7462
+ currentY: undefined,
7463
+ minX: undefined,
7464
+ minY: undefined,
7465
+ maxX: undefined,
7466
+ maxY: undefined,
7467
+ width: undefined,
7468
+ height: undefined,
7469
+ startX: undefined,
7470
+ startY: undefined,
7471
+ touchesStart: {},
7472
+ touchesCurrent: {}
7473
+ },
7474
+ velocity: {
7475
+ x: undefined,
7476
+ y: undefined,
7477
+ prevPositionX: undefined,
7478
+ prevPositionY: undefined,
7479
+ prevTime: undefined
7480
+ }
7481
+ }, Zoom)
7482
+ });
7483
+ var scale = 1;
7484
+ Object.defineProperty(swiper.zoom, 'scale', {
7485
+ get: function get() {
7486
+ return scale;
7487
+ },
7488
+ set: function set(value) {
7489
+ if (scale !== value) {
7490
+ var imageEl = swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0] : undefined;
7491
+ var slideEl = swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0] : undefined;
7492
+ swiper.emit('zoomChange', value, imageEl, slideEl);
7493
+ }
7494
+
7495
+ scale = value;
7496
+ }
7497
+ });
7498
+ },
7499
+ on: {
7500
+ init: function init(swiper) {
7501
+ if (swiper.params.zoom.enabled) {
7502
+ swiper.zoom.enable();
7503
+ }
7504
+ },
7505
+ destroy: function destroy(swiper) {
7506
+ swiper.zoom.disable();
7507
+ },
7508
+ touchStart: function touchStart(swiper, e) {
7509
+ if (!swiper.zoom.enabled) return;
7510
+ swiper.zoom.onTouchStart(e);
7511
+ },
7512
+ touchEnd: function touchEnd(swiper, e) {
7513
+ if (!swiper.zoom.enabled) return;
7514
+ swiper.zoom.onTouchEnd(e);
7515
+ },
7516
+ doubleTap: function doubleTap(swiper, e) {
7517
+ if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {
7518
+ swiper.zoom.toggle(e);
7519
+ }
7520
+ },
7521
+ transitionEnd: function transitionEnd(swiper) {
7522
+ if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
7523
+ swiper.zoom.onTransitionEnd();
7524
+ }
7525
+ },
7526
+ slideChange: function slideChange(swiper) {
7527
+ if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {
7528
+ swiper.zoom.onTransitionEnd();
7529
+ }
7530
+ }
7531
+ }
7532
+ };
7533
+
7534
+ var Lazy = {
7535
+ loadInSlide: function loadInSlide(index, loadInDuplicate) {
7536
+ if (loadInDuplicate === void 0) {
7537
+ loadInDuplicate = true;
7538
+ }
7539
+
7540
+ var swiper = this;
7541
+ var params = swiper.params.lazy;
7542
+ if (typeof index === 'undefined') return;
7543
+ if (swiper.slides.length === 0) return;
7544
+ var isVirtual = swiper.virtual && swiper.params.virtual.enabled;
7545
+ var $slideEl = isVirtual ? swiper.$wrapperEl.children("." + swiper.params.slideClass + "[data-swiper-slide-index=\"" + index + "\"]") : swiper.slides.eq(index);
7546
+ var $images = $slideEl.find("." + params.elementClass + ":not(." + params.loadedClass + "):not(." + params.loadingClass + ")");
7547
+
7548
+ if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {
7549
+ $images.push($slideEl[0]);
7550
+ }
7551
+
7552
+ if ($images.length === 0) return;
7553
+ $images.each(function (imageEl) {
7554
+ var $imageEl = $(imageEl);
7555
+ $imageEl.addClass(params.loadingClass);
7556
+ var background = $imageEl.attr('data-background');
7557
+ var src = $imageEl.attr('data-src');
7558
+ var srcset = $imageEl.attr('data-srcset');
7559
+ var sizes = $imageEl.attr('data-sizes');
7560
+ var $pictureEl = $imageEl.parent('picture');
7561
+ swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, function () {
7562
+ if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;
7563
+
7564
+ if (background) {
7565
+ $imageEl.css('background-image', "url(\"" + background + "\")");
7566
+ $imageEl.removeAttr('data-background');
7567
+ } else {
7568
+ if (srcset) {
7569
+ $imageEl.attr('srcset', srcset);
7570
+ $imageEl.removeAttr('data-srcset');
7571
+ }
7572
+
7573
+ if (sizes) {
7574
+ $imageEl.attr('sizes', sizes);
7575
+ $imageEl.removeAttr('data-sizes');
7576
+ }
7577
+
7578
+ if ($pictureEl.length) {
7579
+ $pictureEl.children('source').each(function (sourceEl) {
7580
+ var $source = $(sourceEl);
7581
+
7582
+ if ($source.attr('data-srcset')) {
7583
+ $source.attr('srcset', $source.attr('data-srcset'));
7584
+ $source.removeAttr('data-srcset');
7585
+ }
7586
+ });
7587
+ }
7588
+
7589
+ if (src) {
7590
+ $imageEl.attr('src', src);
7591
+ $imageEl.removeAttr('data-src');
7592
+ }
7593
+ }
7594
+
7595
+ $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);
7596
+ $slideEl.find("." + params.preloaderClass).remove();
7597
+
7598
+ if (swiper.params.loop && loadInDuplicate) {
7599
+ var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');
7600
+
7601
+ if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {
7602
+ var originalSlide = swiper.$wrapperEl.children("[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]:not(." + swiper.params.slideDuplicateClass + ")");
7603
+ swiper.lazy.loadInSlide(originalSlide.index(), false);
7604
+ } else {
7605
+ var duplicatedSlide = swiper.$wrapperEl.children("." + swiper.params.slideDuplicateClass + "[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]");
7606
+ swiper.lazy.loadInSlide(duplicatedSlide.index(), false);
7607
+ }
7608
+ }
7609
+
7610
+ swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);
7611
+
7612
+ if (swiper.params.autoHeight) {
7613
+ swiper.updateAutoHeight();
7614
+ }
7615
+ });
7616
+ swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);
7617
+ });
7618
+ },
7619
+ load: function load() {
7620
+ var swiper = this;
7621
+ var $wrapperEl = swiper.$wrapperEl,
7622
+ swiperParams = swiper.params,
7623
+ slides = swiper.slides,
7624
+ activeIndex = swiper.activeIndex;
7625
+ var isVirtual = swiper.virtual && swiperParams.virtual.enabled;
7626
+ var params = swiperParams.lazy;
7627
+ var slidesPerView = swiperParams.slidesPerView;
7628
+
7629
+ if (slidesPerView === 'auto') {
7630
+ slidesPerView = 0;
7631
+ }
7632
+
7633
+ function slideExist(index) {
7634
+ if (isVirtual) {
7635
+ if ($wrapperEl.children("." + swiperParams.slideClass + "[data-swiper-slide-index=\"" + index + "\"]").length) {
7636
+ return true;
7637
+ }
7638
+ } else if (slides[index]) return true;
7639
+
7640
+ return false;
7641
+ }
7642
+
7643
+ function slideIndex(slideEl) {
7644
+ if (isVirtual) {
7645
+ return $(slideEl).attr('data-swiper-slide-index');
7646
+ }
7647
+
7648
+ return $(slideEl).index();
7649
+ }
7650
+
7651
+ if (!swiper.lazy.initialImageLoaded) swiper.lazy.initialImageLoaded = true;
7652
+
7653
+ if (swiper.params.watchSlidesVisibility) {
7654
+ $wrapperEl.children("." + swiperParams.slideVisibleClass).each(function (slideEl) {
7655
+ var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();
7656
+ swiper.lazy.loadInSlide(index);
7657
+ });
7658
+ } else if (slidesPerView > 1) {
7659
+ for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {
7660
+ if (slideExist(i)) swiper.lazy.loadInSlide(i);
7661
+ }
7662
+ } else {
7663
+ swiper.lazy.loadInSlide(activeIndex);
7664
+ }
7665
+
7666
+ if (params.loadPrevNext) {
7667
+ if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {
7668
+ var amount = params.loadPrevNextAmount;
7669
+ var spv = slidesPerView;
7670
+ var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);
7671
+ var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides
7672
+
7673
+ for (var _i = activeIndex + slidesPerView; _i < maxIndex; _i += 1) {
7674
+ if (slideExist(_i)) swiper.lazy.loadInSlide(_i);
7675
+ } // Prev Slides
7676
+
7677
+
7678
+ for (var _i2 = minIndex; _i2 < activeIndex; _i2 += 1) {
7679
+ if (slideExist(_i2)) swiper.lazy.loadInSlide(_i2);
7680
+ }
7681
+ } else {
7682
+ var nextSlide = $wrapperEl.children("." + swiperParams.slideNextClass);
7683
+ if (nextSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(nextSlide));
7684
+ var prevSlide = $wrapperEl.children("." + swiperParams.slidePrevClass);
7685
+ if (prevSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(prevSlide));
7686
+ }
7687
+ }
7688
+ }
7689
+ };
7690
+ var Lazy$1 = {
7691
+ name: 'lazy',
7692
+ params: {
7693
+ lazy: {
7694
+ enabled: false,
7695
+ loadPrevNext: false,
7696
+ loadPrevNextAmount: 1,
7697
+ loadOnTransitionStart: false,
7698
+ elementClass: 'swiper-lazy',
7699
+ loadingClass: 'swiper-lazy-loading',
7700
+ loadedClass: 'swiper-lazy-loaded',
7701
+ preloaderClass: 'swiper-lazy-preloader'
7702
+ }
7703
+ },
7704
+ create: function create() {
7705
+ var swiper = this;
7706
+ bindModuleMethods(swiper, {
7707
+ lazy: _extends({
7708
+ initialImageLoaded: false
7709
+ }, Lazy)
7710
+ });
7711
+ },
7712
+ on: {
7713
+ beforeInit: function beforeInit(swiper) {
7714
+ if (swiper.params.lazy.enabled && swiper.params.preloadImages) {
7715
+ swiper.params.preloadImages = false;
7716
+ }
7717
+ },
7718
+ init: function init(swiper) {
7719
+ if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {
7720
+ swiper.lazy.load();
7721
+ }
7722
+ },
7723
+ scroll: function scroll(swiper) {
7724
+ if (swiper.params.freeMode && !swiper.params.freeModeSticky) {
7725
+ swiper.lazy.load();
7726
+ }
7727
+ },
7728
+ resize: function resize(swiper) {
7729
+ if (swiper.params.lazy.enabled) {
7730
+ swiper.lazy.load();
7731
+ }
7732
+ },
7733
+ scrollbarDragMove: function scrollbarDragMove(swiper) {
7734
+ if (swiper.params.lazy.enabled) {
7735
+ swiper.lazy.load();
7736
+ }
7737
+ },
7738
+ transitionStart: function transitionStart(swiper) {
7739
+ if (swiper.params.lazy.enabled) {
7740
+ if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded) {
7741
+ swiper.lazy.load();
7742
+ }
7743
+ }
7744
+ },
7745
+ transitionEnd: function transitionEnd(swiper) {
7746
+ if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {
7747
+ swiper.lazy.load();
7748
+ }
7749
+ },
7750
+ slideChange: function slideChange(swiper) {
7751
+ if (swiper.params.lazy.enabled && swiper.params.cssMode) {
7752
+ swiper.lazy.load();
7753
+ }
7754
+ }
7755
+ }
7756
+ };
7757
+
7758
+ var Controller = {
7759
+ LinearSpline: function LinearSpline(x, y) {
7760
+ var binarySearch = function search() {
7761
+ var maxIndex;
7762
+ var minIndex;
7763
+ var guess;
7764
+ return function (array, val) {
7765
+ minIndex = -1;
7766
+ maxIndex = array.length;
7767
+
7768
+ while (maxIndex - minIndex > 1) {
7769
+ guess = maxIndex + minIndex >> 1;
7770
+
7771
+ if (array[guess] <= val) {
7772
+ minIndex = guess;
7773
+ } else {
7774
+ maxIndex = guess;
7775
+ }
7776
+ }
7777
+
7778
+ return maxIndex;
7779
+ };
7780
+ }();
7781
+
7782
+ this.x = x;
7783
+ this.y = y;
7784
+ this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:
7785
+ // (x1,y1) is the known point before given value,
7786
+ // (x3,y3) is the known point after given value.
7787
+
7788
+ var i1;
7789
+ var i3;
7790
+
7791
+ this.interpolate = function interpolate(x2) {
7792
+ if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):
7793
+
7794
+ i3 = binarySearch(this.x, x2);
7795
+ i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:
7796
+ // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
7797
+
7798
+ return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
7799
+ };
7800
+
7801
+ return this;
7802
+ },
7803
+ // xxx: for now i will just save one spline function to to
7804
+ getInterpolateFunction: function getInterpolateFunction(c) {
7805
+ var swiper = this;
7806
+
7807
+ if (!swiper.controller.spline) {
7808
+ swiper.controller.spline = swiper.params.loop ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid) : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);
7809
+ }
7810
+ },
7811
+ setTranslate: function setTranslate(_setTranslate, byController) {
7812
+ var swiper = this;
7813
+ var controlled = swiper.controller.control;
7814
+ var multiplier;
7815
+ var controlledTranslate;
7816
+ var Swiper = swiper.constructor;
7817
+
7818
+ function setControlledTranslate(c) {
7819
+ // this will create an Interpolate function based on the snapGrids
7820
+ // x is the Grid of the scrolled scroller and y will be the controlled scroller
7821
+ // it makes sense to create this only once and recall it for the interpolation
7822
+ // the function does a lot of value caching for performance
7823
+ var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
7824
+
7825
+ if (swiper.params.controller.by === 'slide') {
7826
+ swiper.controller.getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
7827
+ // but it did not work out
7828
+
7829
+ controlledTranslate = -swiper.controller.spline.interpolate(-translate);
7830
+ }
7831
+
7832
+ if (!controlledTranslate || swiper.params.controller.by === 'container') {
7833
+ multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
7834
+ controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
7835
+ }
7836
+
7837
+ if (swiper.params.controller.inverse) {
7838
+ controlledTranslate = c.maxTranslate() - controlledTranslate;
7839
+ }
7840
+
7841
+ c.updateProgress(controlledTranslate);
7842
+ c.setTranslate(controlledTranslate, swiper);
7843
+ c.updateActiveIndex();
7844
+ c.updateSlidesClasses();
7845
+ }
7846
+
7847
+ if (Array.isArray(controlled)) {
7848
+ for (var i = 0; i < controlled.length; i += 1) {
7849
+ if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
7850
+ setControlledTranslate(controlled[i]);
7851
+ }
7852
+ }
7853
+ } else if (controlled instanceof Swiper && byController !== controlled) {
7854
+ setControlledTranslate(controlled);
7855
+ }
7856
+ },
7857
+ setTransition: function setTransition(duration, byController) {
7858
+ var swiper = this;
7859
+ var Swiper = swiper.constructor;
7860
+ var controlled = swiper.controller.control;
7861
+ var i;
7862
+
7863
+ function setControlledTransition(c) {
7864
+ c.setTransition(duration, swiper);
7865
+
7866
+ if (duration !== 0) {
7867
+ c.transitionStart();
7868
+
7869
+ if (c.params.autoHeight) {
7870
+ nextTick(function () {
7871
+ c.updateAutoHeight();
7872
+ });
7873
+ }
7874
+
7875
+ c.$wrapperEl.transitionEnd(function () {
7876
+ if (!controlled) return;
7877
+
7878
+ if (c.params.loop && swiper.params.controller.by === 'slide') {
7879
+ c.loopFix();
7880
+ }
7881
+
7882
+ c.transitionEnd();
7883
+ });
7884
+ }
7885
+ }
7886
+
7887
+ if (Array.isArray(controlled)) {
7888
+ for (i = 0; i < controlled.length; i += 1) {
7889
+ if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
7890
+ setControlledTransition(controlled[i]);
7891
+ }
7892
+ }
7893
+ } else if (controlled instanceof Swiper && byController !== controlled) {
7894
+ setControlledTransition(controlled);
7895
+ }
7896
+ }
7897
+ };
7898
+ var Controller$1 = {
7899
+ name: 'controller',
7900
+ params: {
7901
+ controller: {
7902
+ control: undefined,
7903
+ inverse: false,
7904
+ by: 'slide' // or 'container'
7905
+
7906
+ }
7907
+ },
7908
+ create: function create() {
7909
+ var swiper = this;
7910
+ bindModuleMethods(swiper, {
7911
+ controller: _extends({
7912
+ control: swiper.params.controller.control
7913
+ }, Controller)
7914
+ });
7915
+ },
7916
+ on: {
7917
+ update: function update(swiper) {
7918
+ if (!swiper.controller.control) return;
7919
+
7920
+ if (swiper.controller.spline) {
7921
+ swiper.controller.spline = undefined;
7922
+ delete swiper.controller.spline;
7923
+ }
7924
+ },
7925
+ resize: function resize(swiper) {
7926
+ if (!swiper.controller.control) return;
7927
+
7928
+ if (swiper.controller.spline) {
7929
+ swiper.controller.spline = undefined;
7930
+ delete swiper.controller.spline;
7931
+ }
7932
+ },
7933
+ observerUpdate: function observerUpdate(swiper) {
7934
+ if (!swiper.controller.control) return;
7935
+
7936
+ if (swiper.controller.spline) {
7937
+ swiper.controller.spline = undefined;
7938
+ delete swiper.controller.spline;
7939
+ }
7940
+ },
7941
+ setTranslate: function setTranslate(swiper, translate, byController) {
7942
+ if (!swiper.controller.control) return;
7943
+ swiper.controller.setTranslate(translate, byController);
7944
+ },
7945
+ setTransition: function setTransition(swiper, duration, byController) {
7946
+ if (!swiper.controller.control) return;
7947
+ swiper.controller.setTransition(duration, byController);
7948
+ }
7949
+ }
7950
+ };
7951
+
7952
+ var A11y = {
7953
+ getRandomNumber: function getRandomNumber(size) {
7954
+ if (size === void 0) {
7955
+ size = 16;
7956
+ }
7957
+
7958
+ var randomChar = function randomChar() {
7959
+ return Math.round(16 * Math.random()).toString(16);
7960
+ };
7961
+
7962
+ return 'x'.repeat(size).replace(/x/g, randomChar);
7963
+ },
7964
+ makeElFocusable: function makeElFocusable($el) {
7965
+ $el.attr('tabIndex', '0');
7966
+ return $el;
7967
+ },
7968
+ makeElNotFocusable: function makeElNotFocusable($el) {
7969
+ $el.attr('tabIndex', '-1');
7970
+ return $el;
7971
+ },
7972
+ addElRole: function addElRole($el, role) {
7973
+ $el.attr('role', role);
7974
+ return $el;
7975
+ },
7976
+ addElRoleDescription: function addElRoleDescription($el, description) {
7977
+ $el.attr('aria-role-description', description);
7978
+ return $el;
7979
+ },
7980
+ addElControls: function addElControls($el, controls) {
7981
+ $el.attr('aria-controls', controls);
7982
+ return $el;
7983
+ },
7984
+ addElLabel: function addElLabel($el, label) {
7985
+ $el.attr('aria-label', label);
7986
+ return $el;
7987
+ },
7988
+ addElId: function addElId($el, id) {
7989
+ $el.attr('id', id);
7990
+ return $el;
7991
+ },
7992
+ addElLive: function addElLive($el, live) {
7993
+ $el.attr('aria-live', live);
7994
+ return $el;
7995
+ },
7996
+ disableEl: function disableEl($el) {
7997
+ $el.attr('aria-disabled', true);
7998
+ return $el;
7999
+ },
8000
+ enableEl: function enableEl($el) {
8001
+ $el.attr('aria-disabled', false);
8002
+ return $el;
8003
+ },
8004
+ onEnterKey: function onEnterKey(e) {
8005
+ var sw