WooCommerce Variation Swatches - Version 1.0.29

Version Description

  • Add: IE-11 fallback
  • Add: Increase variation_threshold label
  • Fix: Divi woo_layout_injector script override
Download this release

Release Info

Developer EmranAhmed
Plugin Icon 128x128 WooCommerce Variation Swatches
Version 1.0.29
Comparing to
See all releases

Code changes from version 1.0.28 to 1.0.29

README.txt CHANGED
@@ -38,14 +38,16 @@ In the free WooCommerce attribute variation plugin, besides creating size, brand
38
  * Option to select ROUNDED and SQUARED variation shape.
39
  * Flexible tooltip insert and display settings
40
  * Option to disable default plugin stylesheet for theme developer.
 
41
  * No extra option and no confusion.
42
 
43
  = PREMIUM FEATURES OF WOOCOMMERCE VARIATION SWATCHES =
44
 
45
- [Live Demo](https://demo.getwooplugins.com/woocommerce-variation-swatches/?utm_source=wordpress.org&utm_medium=README&utm_campaign=woo-variation-swatches) | [Upgrade to PRO](https://getwooplugins.com/plugins/woocommerce-variation-swatches/?utm_source=wordpress.org&utm_medium=README&utm_campaign=woo-variation-swatches) | [Documentation](https://getwooplugins.com/documentation/woocommerce-variation-swatches/?utm_source=wordpress.org&utm_medium=README&utm_campaign=woo-variation-swatches) | [Support](https://getwooplugins.com/tickets/?utm_source=wordpress.org&utm_medium=README&utm_campaign=woo-variation-swatches)
46
 
47
  * Convert attribute variations into radio button
48
  * Individual Product Basis Swatches Customization
 
49
  * Enable Attributes Swatch In Archive / Store Pages
50
  * Control Swatches Width and Height on Archive Page.
51
  * Archive page swatches positioning
@@ -57,7 +59,6 @@ In the free WooCommerce attribute variation plugin, besides creating size, brand
57
  * Customize swatches colors, background and border sizes
58
  * Automatic updates and exclusive technical support
59
 
60
-
61
  = Sites Built With WooCommerce Variation Swatches Plugin =
62
  <blockquote>
63
  <ul>
@@ -179,6 +180,18 @@ Just call this javascript function on ajax load event `$('.variations_form').wc_
179
 
180
  == Changelog ==
181
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  = 1.0.28 =
183
 
184
  * Add: Admin Notice CSS
38
  * Option to select ROUNDED and SQUARED variation shape.
39
  * Flexible tooltip insert and display settings
40
  * Option to disable default plugin stylesheet for theme developer.
41
+ * Compatible With Popular WooCommerce Plugins Including <a href=="http://bit.ly/woovs-org-item-page">WooCommerce Variation Image Gallery</a>.
42
  * No extra option and no confusion.
43
 
44
  = PREMIUM FEATURES OF WOOCOMMERCE VARIATION SWATCHES =
45
 
46
+ [Live Demo](http://bit.ly/live-demo-readme) | [Upgrade to PRO](http://bit.ly/upgrade-to-pro-readme) | [Documentation](https://getwooplugins.com/documentation/woocommerce-variation-swatches/?utm_source=wordpress.org&utm_medium=README&utm_campaign=woo-variation-swatches) | [Support](https://getwooplugins.com/tickets/?utm_source=wordpress.org&utm_medium=README&utm_campaign=woo-variation-swatches)
47
 
48
  * Convert attribute variations into radio button
49
  * Individual Product Basis Swatches Customization
50
+ * Enable / Disable Ajax Variation
51
  * Enable Attributes Swatch In Archive / Store Pages
52
  * Control Swatches Width and Height on Archive Page.
53
  * Archive page swatches positioning
59
  * Customize swatches colors, background and border sizes
60
  * Automatic updates and exclusive technical support
61
 
 
62
  = Sites Built With WooCommerce Variation Swatches Plugin =
63
  <blockquote>
64
  <ul>
180
 
181
  == Changelog ==
182
 
183
+ = 1.0.30 =
184
+
185
+ * Add: body class uniqueness
186
+ * Add: Centralise feed
187
+ * Fix: Elementor Pro JS Issue
188
+
189
+ = 1.0.29 =
190
+
191
+ * Add: IE-11 fallback
192
+ * Add: Increase `variation_threshold` label
193
+ * Fix: Divi woo_layout_injector script override
194
+
195
  = 1.0.28 =
196
 
197
  * Add: Admin Notice CSS
assets/css/admin.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:12:59
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:29
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
assets/css/admin.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:13:03
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger{color:#fff;background-color:#af2d2b;border-color:#a62d2b;-webkit-box-shadow:0 1px 0 #a72d2b;box-shadow:0 1px 0 #a72d2b;vertical-align:top}.button.button-danger.active,.button.button-danger:active,.button.button-danger:focus,.button.button-danger:hover{color:#fff;background:#c9302c}[data-depends]{display:none}.meta-image-field-wrapper{display:table}.meta-image-field-wrapper .button{margin:5px 0;display:block}.meta-image-field-wrapper .image-preview{display:table-cell;width:60px;padding-right:10px}.meta-image-field-wrapper .button-wrapper{display:table-cell;vertical-align:top}.gwp-rate-stars{display:inline-block;color:#ffb900;position:relative;top:3px}.gwp-rate-stars svg,.gwp-rate-stars svg a{fill:#ffb900;stroke:#ffb900;cursor:pointer}.gwp-rate-stars svg:hover,.gwp-rate-stars svg a:hover{fill:#ffb900}.gwp-rate-stars svg:hover~svg,.gwp-rate-stars svg:hover~svg a,.gwp-rate-stars svg a:hover~svg,.gwp-rate-stars svg a:hover~svg a{fill:none}#wvs-meta-preview{width:30px}.wvs-preview{width:30px;height:30px;border:1px solid #000}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:33
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger{color:#fff;background-color:#af2d2b;border-color:#a62d2b;-webkit-box-shadow:0 1px 0 #a72d2b;box-shadow:0 1px 0 #a72d2b;vertical-align:top}.button.button-danger.active,.button.button-danger:active,.button.button-danger:focus,.button.button-danger:hover{color:#fff;background:#c9302c}[data-depends]{display:none}.meta-image-field-wrapper{display:table}.meta-image-field-wrapper .button{margin:5px 0;display:block}.meta-image-field-wrapper .image-preview{display:table-cell;width:60px;padding-right:10px}.meta-image-field-wrapper .button-wrapper{display:table-cell;vertical-align:top}.gwp-rate-stars{display:inline-block;color:#ffb900;position:relative;top:3px}.gwp-rate-stars svg,.gwp-rate-stars svg a{fill:#ffb900;stroke:#ffb900;cursor:pointer}.gwp-rate-stars svg:hover,.gwp-rate-stars svg a:hover{fill:#ffb900}.gwp-rate-stars svg:hover~svg,.gwp-rate-stars svg:hover~svg a,.gwp-rate-stars svg a:hover~svg,.gwp-rate-stars svg a:hover~svg a{fill:none}#wvs-meta-preview{width:30px}.wvs-preview{width:30px;height:30px;border:1px solid #000}
assets/css/frontend-tooltip.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:12:59
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip] {
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:29
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip] {
assets/css/frontend-tooltip.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:13:03
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip]{position:relative;cursor:pointer;outline:none}.variable-items-wrapper [data-wvstooltip]:after,.variable-items-wrapper [data-wvstooltip]:before{visibility:hidden;opacity:0;pointer-events:none;-webkit-box-sizing:inherit;box-sizing:inherit;position:absolute;bottom:130%;left:50%;z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0)}.variable-items-wrapper [data-wvstooltip]:before{margin-bottom:5px;margin-left:-50px;padding:7px;min-width:100px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-wvstooltip);text-align:center;font-size:14px;line-height:1.2}.variable-items-wrapper [data-wvstooltip]:after{margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}.variable-items-wrapper [data-wvstooltip]:active:after,.variable-items-wrapper [data-wvstooltip]:active:before,.variable-items-wrapper [data-wvstooltip]:focus:after,.variable-items-wrapper [data-wvstooltip]:focus:before,.variable-items-wrapper [data-wvstooltip]:hover:after,.variable-items-wrapper [data-wvstooltip]:hover:before{bottom:120%;visibility:visible;opacity:1}.variable-items-wrapper .image-tooltip-wrapper{position:absolute;bottom:140%;border-width:2px;border-style:solid;-webkit-box-shadow:0 7px 15px rgba(0,0,0,.3);box-shadow:0 7px 15px rgba(0,0,0,.3);line-height:0;visibility:hidden;opacity:0;pointer-events:none;-webkit-transition:all .2s linear;transition:all .2s linear;z-index:999}.variable-items-wrapper .image-tooltip-wrapper img{border-radius:0!important}.variable-items-wrapper .image-tooltip-wrapper:after{content:"";bottom:-16px;display:block;position:absolute;border-radius:0!important;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border:8px solid transparent}.variable-items-wrapper .variable-item:active .image-tooltip-wrapper,.variable-items-wrapper .variable-item:focus .image-tooltip-wrapper,.variable-items-wrapper .variable-item:hover .image-tooltip-wrapper{bottom:130%;visibility:visible;opacity:1}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:33
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip]{position:relative;cursor:pointer;outline:none}.variable-items-wrapper [data-wvstooltip]:after,.variable-items-wrapper [data-wvstooltip]:before{visibility:hidden;opacity:0;pointer-events:none;-webkit-box-sizing:inherit;box-sizing:inherit;position:absolute;bottom:130%;left:50%;z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0)}.variable-items-wrapper [data-wvstooltip]:before{margin-bottom:5px;margin-left:-50px;padding:7px;min-width:100px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-wvstooltip);text-align:center;font-size:14px;line-height:1.2}.variable-items-wrapper [data-wvstooltip]:after{margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}.variable-items-wrapper [data-wvstooltip]:active:after,.variable-items-wrapper [data-wvstooltip]:active:before,.variable-items-wrapper [data-wvstooltip]:focus:after,.variable-items-wrapper [data-wvstooltip]:focus:before,.variable-items-wrapper [data-wvstooltip]:hover:after,.variable-items-wrapper [data-wvstooltip]:hover:before{bottom:120%;visibility:visible;opacity:1}.variable-items-wrapper .image-tooltip-wrapper{position:absolute;bottom:140%;border-width:2px;border-style:solid;-webkit-box-shadow:0 7px 15px rgba(0,0,0,.3);box-shadow:0 7px 15px rgba(0,0,0,.3);line-height:0;visibility:hidden;opacity:0;pointer-events:none;-webkit-transition:all .2s linear;transition:all .2s linear;z-index:999}.variable-items-wrapper .image-tooltip-wrapper img{border-radius:0!important}.variable-items-wrapper .image-tooltip-wrapper:after{content:"";bottom:-16px;display:block;position:absolute;border-radius:0!important;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border:8px solid transparent}.variable-items-wrapper .variable-item:active .image-tooltip-wrapper,.variable-items-wrapper .variable-item:focus .image-tooltip-wrapper,.variable-items-wrapper .variable-item:hover .image-tooltip-wrapper{bottom:130%;visibility:visible;opacity:1}
assets/css/frontend.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:12:59
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:29
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,
assets/css/frontend.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:13:03
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,.woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select+.select2{display:none!important}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item{margin:0;padding:0;list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item img{margin:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper{display:block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;list-style:none;cursor:pointer;margin:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{cursor:pointer}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:auto;margin-right:5px}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{font-weight:400;font-size:14px;display:inline-block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item){-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);padding:2px;margin:4px 8px 4px 0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):last-of-type{margin-right:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{-webkit-box-shadow:0 0 0 3px rgba(0,0,0,.1);box-shadow:0 0 0 3px rgba(0,0,0,.1)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover{-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.9);box-shadow:0 0 0 2px rgba(0,0,0,.9)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color{width:100%;height:100%;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color:after{position:absolute;content:"";width:100%;height:100%;top:0;left:0;-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:center}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item img{border-radius:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item{border-radius:2px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item{width:auto}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{padding:0 5px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.color-variable-item span:after{border-radius:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover{cursor:not-allowed;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05);box-shadow:0 0 0 1px rgba(0,0,0,.05);pointer-events:none;position:relative;overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled label{cursor:not-allowed;text-decoration:line-through;opacity:.5}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:before{display:none}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled{opacity:0;visibility:hidden;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center;transform-origin:center;width:0!important;height:0!important;padding:0!important;margin:0!important;min-width:0!important;min-height:0!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled.radio-variable-item{width:auto!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]{position:relative}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:before{left:8px;bottom:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:8px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:100%}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:33
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,.woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select+.select2{display:none!important}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item{margin:0;padding:0;list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item img{margin:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper{display:block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;list-style:none;cursor:pointer;margin:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{cursor:pointer}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:auto;margin-right:5px}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{font-weight:400;font-size:14px;display:inline-block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item){-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);padding:2px;margin:4px 8px 4px 0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):last-of-type{margin-right:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{-webkit-box-shadow:0 0 0 3px rgba(0,0,0,.1);box-shadow:0 0 0 3px rgba(0,0,0,.1)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover{-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.9);box-shadow:0 0 0 2px rgba(0,0,0,.9)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color{width:100%;height:100%;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color:after{position:absolute;content:"";width:100%;height:100%;top:0;left:0;-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:center}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item img{border-radius:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item{border-radius:2px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item{width:auto}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{padding:0 5px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.color-variable-item span:after{border-radius:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover{cursor:not-allowed;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05);box-shadow:0 0 0 1px rgba(0,0,0,.05);pointer-events:none;position:relative;overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled label{cursor:not-allowed;text-decoration:line-through;opacity:.5}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:before{display:none}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled{opacity:0;visibility:hidden;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center;transform-origin:center;width:0!important;height:0!important;padding:0!important;margin:0!important;min-width:0!important;min-height:0!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled.radio-variable-item{width:auto!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]{position:relative}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:before{left:8px;bottom:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:8px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:100%}
assets/css/gwp-admin-notice.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:12:59
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents {
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:29
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents {
assets/css/gwp-admin-notice.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:13:03
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents{position:relative;clear:both;overflow:hidden}.gwp-live-feed-contents.notice-info:before{content:"\F348";background:#41a1d3}.gwp-live-feed-contents.notice-success:before{content:"\F147";background:#46b450}.gwp-live-feed-contents.notice-error:before{content:"\F158";background:#dc3232}.gwp-live-feed-contents.notice-warning:before{content:"\F534";background:#f6ba33}.gwp-live-feed-contents.gwp-notice-required:before{content:"\F463";background:#ce3100;text-shadow:0 -1px 1px #ce3100}.gwp-live-feed-contents.gwp-notice-recommended:before{content:"\F529";background:#3d4046;text-shadow:0 -1px 1px #3d4046}.gwp-live-feed-contents.gwp-notice-recommended,.gwp-live-feed-contents.gwp-notice-required,.gwp-live-feed-contents.notice-error,.gwp-live-feed-contents.notice-info,.gwp-live-feed-contents.notice-success,.gwp-live-feed-contents.notice-warning{border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:0;border-radius:4px}.gwp-live-feed-contents.gwp-notice-recommended:before,.gwp-live-feed-contents.gwp-notice-required:before,.gwp-live-feed-contents.notice-error:before,.gwp-live-feed-contents.notice-info:before,.gwp-live-feed-contents.notice-success:before,.gwp-live-feed-contents.notice-warning:before{font-family:dashicons;font-size:20px;color:#fff;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gwp-live-feed-contents.gwp-notice-recommended .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-required .feed-message-wrapper,.gwp-live-feed-contents.notice-error .feed-message-wrapper,.gwp-live-feed-contents.notice-info .feed-message-wrapper,.gwp-live-feed-contents.notice-success .feed-message-wrapper,.gwp-live-feed-contents.notice-warning .feed-message-wrapper{padding:10px 60px 10px 20px}.gwp-live-feed-contents.gwp-notice-discount{border-radius:5px;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:#594679}.gwp-live-feed-contents.gwp-notice-discount .feed-thumbnail-wrapper .attachment-thumbnail{display:block}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;color:#fff;text-shadow:0 -1px 1px #594679;padding:20px 30px 20px 20px}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper p{font-size:14px;margin:0;padding:0}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper span.big{font-weight:400;font-size:18px}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper strong{font-weight:800}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper .button-primary{font-size:16px;border-radius:30px;padding:0 25px;border:0;height:40px;line-height:40px}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close{color:#fff;opacity:.5;font-size:12px}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close:before{color:#fff}.gwp-live-feed-contents.gwp-notice-pro{border-radius:5px;border:0;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:#2196f3}.gwp-live-feed-contents.gwp-notice-pro,.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;color:#fff;text-shadow:0 -1px 1px #2196f3;padding:20px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper p{font-size:14px;margin:0;padding:0}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper span.big{font-weight:400;font-size:18px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper strong{font-weight:800}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade{position:relative;font-size:16px;color:#fff;font-weight:600;text-decoration:none;padding:25px 25px 25px 80px;display:block;margin:-20px;background:#673ab7;text-shadow:0 -1px 1px #673ab7}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade small{font-weight:300;display:block}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade i{position:absolute;left:25px;font-size:36px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:36px;height:36px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade:hover{background:#305af3;text-shadow:0 -1px 1px #305af3}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close{color:#fff;opacity:.5;font-size:12px;z-index:1}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close:before{color:#fff}.gwp-live-feed-contents.gwp-notice-new{border:0;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:transparent;-webkit-box-shadow:none;box-shadow:none}.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper img,.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper p{padding:0;margin:0}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close{color:rgba(0,0,0,.5);opacity:.5;font-size:12px}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close:before{color:rgba(0,0,0,.5)}.gwp-live-feed-contents .button-primary{background:#56bfd4;border-color:#3a9db1;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3);text-shadow:0 -1px 1px #238ea5}.gwp-live-feed-contents .button-primary:hover{background:#39b1ca;border-color:#3a9db1}.gwp-live-feed-contents .gwp-live-feed-close{display:-webkit-box;display:-ms-flexbox;display:flex;right:0;text-decoration:none;padding:10px 10px 10px 25px}.gwp-live-feed-contents .gwp-live-feed-close:before{display:inline-block}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:33
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-live-feed-contents{position:relative;clear:both;overflow:hidden}.gwp-live-feed-contents.notice-info:before{content:"\F348";background:#41a1d3}.gwp-live-feed-contents.notice-success:before{content:"\F147";background:#46b450}.gwp-live-feed-contents.notice-error:before{content:"\F158";background:#dc3232}.gwp-live-feed-contents.notice-warning:before{content:"\F534";background:#f6ba33}.gwp-live-feed-contents.gwp-notice-required:before{content:"\F463";background:#ce3100;text-shadow:0 -1px 1px #ce3100}.gwp-live-feed-contents.gwp-notice-recommended:before{content:"\F529";background:#3d4046;text-shadow:0 -1px 1px #3d4046}.gwp-live-feed-contents.gwp-notice-recommended,.gwp-live-feed-contents.gwp-notice-required,.gwp-live-feed-contents.notice-error,.gwp-live-feed-contents.notice-info,.gwp-live-feed-contents.notice-success,.gwp-live-feed-contents.notice-warning{border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:0;border-radius:4px}.gwp-live-feed-contents.gwp-notice-recommended:before,.gwp-live-feed-contents.gwp-notice-required:before,.gwp-live-feed-contents.notice-error:before,.gwp-live-feed-contents.notice-info:before,.gwp-live-feed-contents.notice-success:before,.gwp-live-feed-contents.notice-warning:before{font-family:dashicons;font-size:20px;color:#fff;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gwp-live-feed-contents.gwp-notice-recommended .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-required .feed-message-wrapper,.gwp-live-feed-contents.notice-error .feed-message-wrapper,.gwp-live-feed-contents.notice-info .feed-message-wrapper,.gwp-live-feed-contents.notice-success .feed-message-wrapper,.gwp-live-feed-contents.notice-warning .feed-message-wrapper{padding:10px 60px 10px 20px}.gwp-live-feed-contents.gwp-notice-discount{border-radius:5px;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:#594679}.gwp-live-feed-contents.gwp-notice-discount .feed-thumbnail-wrapper .attachment-thumbnail{display:block}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;color:#fff;text-shadow:0 -1px 1px #594679;padding:20px 30px 20px 20px}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper p{font-size:14px;margin:0;padding:0}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper span.big{font-weight:400;font-size:18px}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper strong{font-weight:800}.gwp-live-feed-contents.gwp-notice-discount .feed-message-wrapper .button-primary{font-size:16px;border-radius:30px;padding:0 25px;border:0;height:40px;line-height:40px}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close{color:#fff;opacity:.5;font-size:12px}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-discount .gwp-live-feed-close:before{color:#fff}.gwp-live-feed-contents.gwp-notice-pro{border-radius:5px;border:0;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:#2196f3}.gwp-live-feed-contents.gwp-notice-pro,.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;color:#fff;text-shadow:0 -1px 1px #2196f3;padding:20px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper p{font-size:14px;margin:0;padding:0}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper span.big{font-weight:400;font-size:18px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper strong{font-weight:800}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade{position:relative;font-size:16px;color:#fff;font-weight:600;text-decoration:none;padding:25px 25px 25px 80px;display:block;margin:-20px;background:#673ab7;text-shadow:0 -1px 1px #673ab7}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade small{font-weight:300;display:block}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade i{position:absolute;left:25px;font-size:36px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:36px;height:36px}.gwp-live-feed-contents.gwp-notice-pro .feed-message-wrapper .button-upgrade:hover{background:#305af3;text-shadow:0 -1px 1px #305af3}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close{color:#fff;opacity:.5;font-size:12px;z-index:1}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-pro .gwp-live-feed-close:before{color:#fff}.gwp-live-feed-contents.gwp-notice-new{border:0;padding:0;max-width:750px;margin-left:auto;margin-right:auto;background:transparent;-webkit-box-shadow:none;box-shadow:none}.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper,.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper img,.gwp-live-feed-contents.gwp-notice-new .feed-message-wrapper p{padding:0;margin:0}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close{color:rgba(0,0,0,.5);opacity:.5;font-size:12px}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close:hover{opacity:1}.gwp-live-feed-contents.gwp-notice-new .gwp-live-feed-close:before{color:rgba(0,0,0,.5)}.gwp-live-feed-contents .button-primary{background:#56bfd4;border-color:#3a9db1;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3);text-shadow:0 -1px 1px #238ea5}.gwp-live-feed-contents .button-primary:hover{background:#39b1ca;border-color:#3a9db1}.gwp-live-feed-contents .gwp-live-feed-close{display:-webkit-box;display:-ms-flexbox;display:flex;right:0;text-decoration:none;padding:10px 10px 10px 25px}.gwp-live-feed-contents .gwp-live-feed-close:before{display:inline-block}
assets/css/wvs-customize-heading-control.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:12:59
6
  * Released under the GPLv3 license.
7
  */
8
  .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title {
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:29
6
  * Released under the GPLv3 license.
7
  */
8
  .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title {
assets/css/wvs-customize-heading-control.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:13:03
6
  * Released under the GPLv3 license.
7
  */
8
  .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title{margin-top:-15px;margin-bottom:0}.wvs-customize-heading-control-title{background-color:#191e23;padding:10px 15px;color:#fff;margin:5px -15px;font-size:1rem;font-weight:200;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:33
6
  * Released under the GPLv3 license.
7
  */
8
  .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title{margin-top:-15px;margin-bottom:0}.wvs-customize-heading-control-title{background-color:#191e23;padding:10px 15px;color:#fff;margin:5px -15px;font-size:1rem;font-weight:200;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
assets/css/wvs-theme-override.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:12:59
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-sober .product form.cart .variations div {
@@ -31,7 +31,7 @@
31
  }
32
 
33
  .woo-variation-swatches-theme-sober .product form.cart .variations select {
34
- border: 1px solid #E4E6EB;
35
  padding: .5em 1em;
36
  text-align: left;
37
  text-align-last: left;
@@ -72,7 +72,7 @@
72
  }
73
 
74
  .woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .label label {
75
- border-bottom: 1px solid #EEEEEE;
76
  }
77
 
78
  .woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .variable-items-wrapper {
@@ -108,5 +108,14 @@
108
  transform: none;
109
  }
110
 
 
 
 
 
 
 
 
 
 
111
 
112
- /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy93dnMtdGhlbWUtb3ZlcnJpZGUuY3NzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3Mvc3JjL3Njc3MvdGhlbWUtb3ZlcnJpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi90aGVtZS1vdmVycmlkZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyIHtcblxuICAvLyBJdGVtIHBhZ2VcbiAgLy89PT09PT09PT09PT09PT09XG4gIC5wcm9kdWN0IGZvcm0uY2FydCB7XG4gICAgLnZhcmlhdGlvbnMge1xuICAgICAgZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbSAgIDogMjBweDtcbiAgICAgICAgZGlzcGxheSAgICAgICAgIDogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXMgICAgIDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheSAgICAgIDogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ24gICA6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQgOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgIC52YWx1ZSB7XG4gICAgICAgIGZsZXgtZ3JvdyA6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIGJvcmRlciAgICAgICAgICAgICA6IDFweCBzb2xpZCAjRTRFNkVCO1xuICAgICAgICBwYWRkaW5nICAgICAgICAgICAgOiAuNWVtIDFlbTtcbiAgICAgICAgdGV4dC1hbGlnbiAgICAgICAgIDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbi1sYXN0ICAgIDogbGVmdDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlIDogbWVudWxpc3QtYnV0dG9uO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIC5yYWRpby12YXJpYWJsZS1pdGVtIHtcbiAgICAgIG1hcmdpbiAgICAgOiA1cHg7XG4gICAgICB0ZXh0LWFsaWduIDogbGVmdDtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodCA6IDA7XG4gICAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0IDogMzBweDtcbiAgICAgICAgbWFyZ2luICAgICAgIDogMDtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3AgICAgICAgICAgIDogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzIDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcCA6IDhweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAvLyBJdGVtIHN0eWxlIDRcbiAgJi5wcm9kdWN0LXN0eWxlLTQgLnByb2R1Y3QgZm9ybS5jYXJ0IHtcbiAgICAudmFyaWF0aW9ucyB7XG4gICAgICBkaXYge1xuICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheSAgICAgICA6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduICAgIDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tIDogMTBweDtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbSA6IDFweCBzb2xpZCAjRUVFRUVFO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAudmFyaWFibGUtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudCA6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zaG9waGlzdGljLWxpdGUge1xuICAmLndvb2NvbW1lcmNlICNtYWluIC5lbnRyeS1zdW1tYXJ5IC52YXJpYXRpb25zIHtcbiAgICBkaXNwbGF5IDogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgLnFsX2N1c3RvbV92YXJpYXRpb25zIHtcbiAgICBkaXNwbGF5IDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAucmFkaW8tdmFyaWFibGUtaXRlbSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGRpc3BsYXkgOiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luICA6IDA7XG4gICAgfVxuICB9XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLWZsYXRzb21lIC52YXJpYXRpb25zIC5yZXNldF92YXJpYXRpb25zIHtcbiAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgYm90dG9tICAgOiAwO1xuICBsZWZ0ICAgICA6IDA7XG4gIH1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc3RvY2tob2xtIC52YXJpYXRpb25zIC5yZXNldF92YXJpYXRpb25zIHtcbiAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgYm90dG9tICAgOiAwO1xuICBsZWZ0ICAgICA6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9zY3NzL3NyYy9zY3NzL3RoZW1lLW92ZXJyaWRlLnNjc3MiLCIud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zb2JlciAucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgZGl2IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyIC5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyAubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIgLnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIC52YWx1ZSB7XG4gIGZsZXgtZ3JvdzogdW5zZXQ7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyIC5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTRFNkVCO1xuICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0LWJ1dHRvbjtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIgLnByb2R1Y3QgZm9ybS5jYXJ0IC5yYWRpby12YXJpYWJsZS1pdGVtIHtcbiAgbWFyZ2luOiA1cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyIC5wcm9kdWN0IGZvcm0uY2FydCAucmFkaW8tdmFyaWFibGUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zb2JlciAucHJvZHVjdCBmb3JtLmNhcnQgLnJhZGlvLXZhcmlhYmxlLWl0ZW0gbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIgLnByb2R1Y3QgZm9ybS5jYXJ0IC5yYWRpby12YXJpYWJsZS1pdGVtIGxhYmVsOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyIC5wcm9kdWN0IGZvcm0uY2FydCAucmFkaW8tdmFyaWFibGUtaXRlbSBsYWJlbDo6YWZ0ZXIge1xuICB0b3A6IDhweDtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIucHJvZHVjdC1zdHlsZS00IC5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBkaXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIucHJvZHVjdC1zdHlsZS00IC5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyAubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zb2Jlci5wcm9kdWN0LXN0eWxlLTQgLnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIC5sYWJlbCBsYWJlbCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zb2Jlci5wcm9kdWN0LXN0eWxlLTQgLnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIC52YXJpYWJsZS1pdGVtcy13cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNob3BoaXN0aWMtbGl0ZS53b29jb21tZXJjZSAjbWFpbiAuZW50cnktc3VtbWFyeSAudmFyaWF0aW9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNob3BoaXN0aWMtbGl0ZSAucWxfY3VzdG9tX3ZhcmlhdGlvbnMge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNob3BoaXN0aWMtbGl0ZSAucmFkaW8tdmFyaWFibGUtaXRlbSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtZmxhdHNvbWUgLnZhcmlhdGlvbnMgLnJlc2V0X3ZhcmlhdGlvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc3RvY2tob2xtIC52YXJpYXRpb25zIC5yZXNldF92YXJpYXRpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vdGhlbWUtb3ZlcnJpZGUuc2NzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBT0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUNMQTtBQUNBO0FETkE7QUFjQTtBQUNBO0FBQ0E7QUNMQTtBQUNBO0FET0E7QUFDQTtBQUFBO0FBQUE7QUNMQTtBQUNBO0FEaEJBO0FBd0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNMQTtBQUNBO0FEeEJBO0FBa0NBO0FBQ0E7QUNQQTtBQUNBO0FEN0JBO0FBcUNBO0FDTEE7QUFDQTtBRE1BO0FBQ0E7QUFDQTtBQ0pBO0FBQ0E7QUR0Q0E7QUEyQ0E7QUFDQTtBQ0ZBO0FBQ0E7QURKQTtBQVNBO0FDRkE7QUFDQTtBRC9DQTtBQTJEQTtBQ1RBO0FBQ0E7QURXQTtBQUNBO0FBQ0E7QUFDQTtBQ1RBO0FBQ0E7QURVQTtBQUNBO0FDUkE7QUFDQTtBRFdBO0FBQ0E7QUFBQTtBQUFBO0FDVEE7QUFDQTtBRGNBO0FBRUE7QUNiQTtBQUNBO0FEVUE7QUFNQTtBQ2JBO0FBQ0E7QURNQTtBQVVBO0FBQ0E7QUNiQTtBQUNBO0FEZ0JBO0FBQ0E7QUFDQTtBQUNBO0FDZEE7QUFDQTtBRGdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUNkQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==*/
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:29
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-sober .product form.cart .variations div {
31
  }
32
 
33
  .woo-variation-swatches-theme-sober .product form.cart .variations select {
34
+ border: 1px solid #e4e6eb;
35
  padding: .5em 1em;
36
  text-align: left;
37
  text-align-last: left;
72
  }
73
 
74
  .woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .label label {
75
+ border-bottom: 1px solid #eeeeee;
76
  }
77
 
78
  .woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .variable-items-wrapper {
108
  transform: none;
109
  }
110
 
111
+ .woo-variation-swatches-theme-kalium .image-variable-item img {
112
+ width: 100% !important;
113
+ }
114
+
115
+ .woo-variation-swatches-theme-kalium .radio-variable-item input {
116
+ width: 16px !important;
117
+ height: 16px !important;
118
+ }
119
+
120
 
121
+ /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy93dnMtdGhlbWUtb3ZlcnJpZGUuY3NzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3Mvc3JjL3Njc3MvdGhlbWUtb3ZlcnJpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi90aGVtZS1vdmVycmlkZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNvYmVyXG4vLz09PT09PT09PT09PVxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIge1xuXG4gIC8vIEl0ZW0gcGFnZVxuICAvLz09PT09PT09PT09PT09PT1cbiAgLnByb2R1Y3QgZm9ybS5jYXJ0IHtcbiAgICAudmFyaWF0aW9ucyB7XG4gICAgICBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tICAgOiAyMHB4O1xuICAgICAgICBkaXNwbGF5ICAgICAgICAgOiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtcyAgICAgOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudCA6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAubGFiZWwge1xuICAgICAgICBkaXNwbGF5ICAgICAgOiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbiAgIDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodCA6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgLnZhbHVlIHtcbiAgICAgICAgZmxleC1ncm93IDogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyICAgICAgICAgICAgIDogMXB4IHNvbGlkICNlNGU2ZWI7XG4gICAgICAgIHBhZGRpbmcgICAgICAgICAgICA6IC41ZW0gMWVtO1xuICAgICAgICB0ZXh0LWFsaWduICAgICAgICAgOiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduLWxhc3QgICAgOiBsZWZ0O1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2UgOiBtZW51bGlzdC1idXR0b247XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgLnJhZGlvLXZhcmlhYmxlLWl0ZW0ge1xuICAgICAgbWFyZ2luICAgICA6IDVweDtcbiAgICAgIHRleHQtYWxpZ24gOiBsZWZ0O1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0IDogMDtcbiAgICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQgOiAzMHB4O1xuICAgICAgICBtYXJnaW4gICAgICAgOiAwO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcCAgICAgICAgICAgOiAwO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXMgOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wIDogOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIC8vIEl0ZW0gc3R5bGUgNFxuICAmLnByb2R1Y3Qtc3R5bGUtNCAucHJvZHVjdCBmb3JtLmNhcnQge1xuICAgIC52YXJpYXRpb25zIHtcbiAgICAgIGRpdiB7XG4gICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAubGFiZWwge1xuICAgICAgICBkaXNwbGF5ICAgICAgIDogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ24gICAgOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b20gOiAxMHB4O1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIC52YXJpYWJsZS1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50IDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbi8vIFNob3BoaXN0aWMgTGl0ZVxuLy89PT09PT09PT09PT09PT09PVxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc2hvcGhpc3RpYy1saXRlIHtcbiAgJi53b29jb21tZXJjZSAjbWFpbiAuZW50cnktc3VtbWFyeSAudmFyaWF0aW9ucyB7XG4gICAgZGlzcGxheSA6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIC5xbF9jdXN0b21fdmFyaWF0aW9ucyB7XG4gICAgZGlzcGxheSA6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgLnJhZGlvLXZhcmlhYmxlLWl0ZW0gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBkaXNwbGF5IDogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbiAgOiAwO1xuICAgIH1cbiAgfVxuXG4vL0ZsYXRzb21lXG4vLz09PT09PT09PT09PVxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtZmxhdHNvbWUgLnZhcmlhdGlvbnMgLnJlc2V0X3ZhcmlhdGlvbnMge1xuICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICBib3R0b20gICA6IDA7XG4gIGxlZnQgICAgIDogMDtcbiAgfVxuXG4vLyBTdG9ja2hvbG1cbi8vPT09PT09PT09PT09PT1cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXN0b2NraG9sbSAudmFyaWF0aW9ucyAucmVzZXRfdmFyaWF0aW9ucyB7XG4gIHBvc2l0aW9uICA6IHJlbGF0aXZlO1xuICBib3R0b20gICAgOiAwO1xuICBsZWZ0ICAgICAgOiAwO1xuICB0cmFuc2Zvcm0gOiBub25lO1xuICB9XG5cbi8vS2FsaXVtXG4vLz09PT09PT09PT09PVxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUta2FsaXVtIHtcbiAgLmltYWdlLXZhcmlhYmxlLWl0ZW0gaW1nIHtcbiAgICB3aWR0aCA6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgLnJhZGlvLXZhcmlhYmxlLWl0ZW0gaW5wdXR7XG4gICAgd2lkdGg6IDE2cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc2Nzcy9zcmMvc2Nzcy90aGVtZS1vdmVycmlkZS5zY3NzIiwiLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIgLnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIGRpdiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zb2JlciAucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgLmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyIC5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyAudmFsdWUge1xuICBmbGV4LWdyb3c6IHVuc2V0O1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zb2JlciAucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTZlYjtcbiAgcGFkZGluZzogLjVlbSAxZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdC1idXR0b247XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyIC5wcm9kdWN0IGZvcm0uY2FydCAucmFkaW8tdmFyaWFibGUtaXRlbSB7XG4gIG1hcmdpbjogNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zb2JlciAucHJvZHVjdCBmb3JtLmNhcnQgLnJhZGlvLXZhcmlhYmxlLWl0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIgLnByb2R1Y3QgZm9ybS5jYXJ0IC5yYWRpby12YXJpYWJsZS1pdGVtIGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBtYXJnaW46IDA7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyIC5wcm9kdWN0IGZvcm0uY2FydCAucmFkaW8tdmFyaWFibGUtaXRlbSBsYWJlbDo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zb2JlciAucHJvZHVjdCBmb3JtLmNhcnQgLnJhZGlvLXZhcmlhYmxlLWl0ZW0gbGFiZWw6OmFmdGVyIHtcbiAgdG9wOiA4cHg7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyLnByb2R1Y3Qtc3R5bGUtNCAucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgZGl2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXNvYmVyLnByb2R1Y3Qtc3R5bGUtNCAucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgLmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIucHJvZHVjdC1zdHlsZS00IC5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyAubGFiZWwgbGFiZWwge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbn1cblxuLndvby12YXJpYXRpb24tc3dhdGNoZXMtdGhlbWUtc29iZXIucHJvZHVjdC1zdHlsZS00IC5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyAudmFyaWFibGUtaXRlbXMtd3JhcHBlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zaG9waGlzdGljLWxpdGUud29vY29tbWVyY2UgI21haW4gLmVudHJ5LXN1bW1hcnkgLnZhcmlhdGlvbnMge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zaG9waGlzdGljLWxpdGUgLnFsX2N1c3RvbV92YXJpYXRpb25zIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1zaG9waGlzdGljLWxpdGUgLnJhZGlvLXZhcmlhYmxlLWl0ZW0gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLWZsYXRzb21lIC52YXJpYXRpb25zIC5yZXNldF92YXJpYXRpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLXN0b2NraG9sbSAudmFyaWF0aW9ucyAucmVzZXRfdmFyaWF0aW9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi53b28tdmFyaWF0aW9uLXN3YXRjaGVzLXRoZW1lLWthbGl1bSAuaW1hZ2UtdmFyaWFibGUtaXRlbSBpbWcge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ud29vLXZhcmlhdGlvbi1zd2F0Y2hlcy10aGVtZS1rYWxpdW0gLnJhZGlvLXZhcmlhYmxlLWl0ZW0gaW5wdXQge1xuICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vdGhlbWUtb3ZlcnJpZGUuc2NzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBO0FBT0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUNQQTtBQUNBO0FESkE7QUFjQTtBQUNBO0FBQ0E7QUNQQTtBQUNBO0FEVkE7QUFvQkE7QUFBQTtBQUFBO0FDUEE7QUFDQTtBRGRBO0FBd0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNQQTtBQUNBO0FEdEJBO0FBa0NBO0FBQ0E7QUNUQTtBQUNBO0FETUE7QUFJQTtBQ1BBO0FBQ0E7QURRQTtBQUNBO0FBQ0E7QUNOQTtBQUNBO0FER0E7QUFJQTtBQUNBO0FDSkE7QUFDQTtBRHpDQTtBQWdEQTtBQ0pBO0FBQ0E7QUQ3Q0E7QUEyREE7QUNYQTtBQUNBO0FEYUE7QUFDQTtBQUNBO0FBQ0E7QUNYQTtBQUNBO0FEdkRBO0FBb0VBO0FDVkE7QUFDQTtBRDNEQTtBQXlFQTtBQUFBO0FBQUE7QUNYQTtBQUNBO0FEa0JBO0FBRUE7QUNqQkE7QUFDQTtBRGNBO0FBTUE7QUNqQkE7QUFDQTtBRG1CQTtBQUNBO0FBQ0E7QUNqQkE7QUFDQTtBRHNCQTtBQUNBO0FBQ0E7QUFDQTtBQ3BCQTtBQUNBO0FEd0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQ3RCQTtBQUNBO0FEMEJBO0FBRUE7QUN6QkE7QUFDQTtBRDJCQTtBQUNBO0FBQ0E7QUN6QkE7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=*/
assets/css/wvs-theme-override.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:13:03
6
  * Released under the GPLv3 license.
7
  */
8
- .woo-variation-swatches-theme-sober .product form.cart .variations div{margin-bottom:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.woo-variation-swatches-theme-sober .product form.cart .variations .label{display:block;text-align:right;margin-right:10px}.woo-variation-swatches-theme-sober .product form.cart .variations .value{-webkit-box-flex:unset;-ms-flex-positive:unset;flex-grow:unset}.woo-variation-swatches-theme-sober .product form.cart .variations select{border:1px solid #e4e6eb;padding:.5em 1em;text-align:left;text-align-last:left;-webkit-appearance:menulist-button}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item{margin:5px;text-align:left}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item:last-child{margin-right:0}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label{padding-left:30px;margin:0}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:before{top:0;border-radius:100%}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:after{top:8px}.woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations div{display:block}.woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .label{display:block;text-align:center;margin-bottom:10px}.woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .label label{border-bottom:1px solid #eee}.woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .variable-items-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.woo-variation-swatches-theme-shophistic-lite.woocommerce #main .entry-summary .variations{display:block!important}.woo-variation-swatches-theme-shophistic-lite .ql_custom_variations{display:none!important}.woo-variation-swatches-theme-shophistic-lite .radio-variable-item input[type=radio]{display:inline-block;margin:0}.woo-variation-swatches-theme-flatsome .variations .reset_variations{position:relative;bottom:0;left:0}.woo-variation-swatches-theme-stockholm .variations .reset_variations{position:relative;bottom:0;left:0;-webkit-transform:none;transform:none}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:33
6
  * Released under the GPLv3 license.
7
  */
8
+ .woo-variation-swatches-theme-sober .product form.cart .variations div{margin-bottom:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.woo-variation-swatches-theme-sober .product form.cart .variations .label{display:block;text-align:right;margin-right:10px}.woo-variation-swatches-theme-sober .product form.cart .variations .value{-webkit-box-flex:unset;-ms-flex-positive:unset;flex-grow:unset}.woo-variation-swatches-theme-sober .product form.cart .variations select{border:1px solid #e4e6eb;padding:.5em 1em;text-align:left;text-align-last:left;-webkit-appearance:menulist-button}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item{margin:5px;text-align:left}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item:last-child{margin-right:0}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label{padding-left:30px;margin:0}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:before{top:0;border-radius:100%}.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:after{top:8px}.woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations div{display:block}.woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .label{display:block;text-align:center;margin-bottom:10px}.woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .label label{border-bottom:1px solid #eee}.woo-variation-swatches-theme-sober.product-style-4 .product form.cart .variations .variable-items-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.woo-variation-swatches-theme-shophistic-lite.woocommerce #main .entry-summary .variations{display:block!important}.woo-variation-swatches-theme-shophistic-lite .ql_custom_variations{display:none!important}.woo-variation-swatches-theme-shophistic-lite .radio-variable-item input[type=radio]{display:inline-block;margin:0}.woo-variation-swatches-theme-flatsome .variations .reset_variations{position:relative;bottom:0;left:0}.woo-variation-swatches-theme-stockholm .variations .reset_variations{position:relative;bottom:0;left:0;-webkit-transform:none;transform:none}.woo-variation-swatches-theme-kalium .image-variable-item img{width:100%!important}.woo-variation-swatches-theme-kalium .radio-variable-item input{width:16px!important;height:16px!important}
assets/js/admin.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:12:59
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
@@ -408,4 +408,4 @@ var PluginHelper = function ($) {
408
 
409
  /***/ })
410
  /******/ ]);
411
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2FkbWluLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDY2NTAxYjNjNTBiZTBlMzhmZjhkIiwid2VicGFjazovLy9zcmMvanMvYmFja2VuZC5qcyIsIndlYnBhY2s6Ly8vc3JjL2pzL1BsdWdpbkhlbHBlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9iYWNrZW5kLnNjc3M/YmU2MSIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9nd3AtYWRtaW4tbm90aWNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZnJvbnRlbmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy90b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvdGhlbWUtb3ZlcnJpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9jdXN0b21pemUtaGVhZGluZy1jb250cm9sLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgNjY1MDFiM2M1MGJlMGUzOGZmOGQiLCJqUXVlcnkoJCA9PiB7XG4gICAgaW1wb3J0KCcuL1BsdWdpbkhlbHBlcicpLnRoZW4oKHtQbHVnaW5IZWxwZXJ9KSA9PiB7XG4gICAgICAgIFBsdWdpbkhlbHBlci5TZWxlY3RXb28oKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLkNvbG9yUGlja2VyKCk7XG4gICAgICAgIFBsdWdpbkhlbHBlci5GaWVsZERlcGVuZGVuY3koKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLkltYWdlVXBsb2FkZXIoKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLkF0dHJpYnV0ZURpYWxvZygpO1xuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCd3b29jb21tZXJjZV9hZGRlZF9hdHRyaWJ1dGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuU2VsZWN0V29vKCk7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuQ29sb3JQaWNrZXIoKTtcbiAgICAgICAgICAgIFBsdWdpbkhlbHBlci5JbWFnZVVwbG9hZGVyKCk7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuQXR0cmlidXRlRGlhbG9nKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICQoZG9jdW1lbnQuYm9keSkub24oJ3d2c19wcm9fcHJvZHVjdF9zd2F0Y2hlc192YXJpYXRpb25fbG9hZGVkJywgKCkgPT4ge1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLkNvbG9yUGlja2VyKCk7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuSW1hZ2VVcGxvYWRlcigpO1xuICAgICAgICB9KVxuXG4gICAgICAgICQoJy5nd3AtbGl2ZS1mZWVkLWNsb3NlJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGxldCBpZCA9ICQodGhpcykuZGF0YSgnZmVlZF9pZCcpO1xuICAgICAgICAgICAgd3AuYWpheC5zZW5kKCdnd3BfbGl2ZV9mZWVkX2Nsb3NlJywge1xuICAgICAgICAgICAgICAgIGRhdGEgOiB7aWR9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5mYWRlT3V0KCdmYXN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlKClcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgIH0pO1xufSk7ICAvLyBlbmQgb2YganF1ZXJ5IG1haW4gd3JhcHBlclxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBzcmMvanMvYmFja2VuZC5qcyIsIi8qZ2xvYmFsIFdWU1BsdWdpbk9iamVjdCwgd3AsIHdvb2NvbW1lcmNlX2FkbWluX21ldGFfYm94ZXMqL1xuXG5jb25zdCBQbHVnaW5IZWxwZXIgPSAoKCQpID0+IHtcbiAgICBjbGFzcyBQbHVnaW5IZWxwZXIge1xuXG4gICAgICAgIHN0YXRpYyBJbWFnZVVwbG9hZGVyKCkge1xuICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKCdjbGljaycsICdidXR0b24ud3ZzX3VwbG9hZF9pbWFnZV9idXR0b24nKTtcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX3VwbG9hZF9pbWFnZV9idXR0b24nLCB0aGlzLkFkZEltYWdlKTtcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX3JlbW92ZV9pbWFnZV9idXR0b24nLCB0aGlzLlJlbW92ZUltYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBBZGRJbWFnZShldmVudCkge1xuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGxldCBmaWxlX2ZyYW1lO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHdwICE9PSAndW5kZWZpbmVkJyAmJiB3cC5tZWRpYSAmJiB3cC5tZWRpYS5lZGl0b3IpIHtcblxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBtZWRpYSBmcmFtZSBhbHJlYWR5IGV4aXN0cywgcmVvcGVuIGl0LlxuICAgICAgICAgICAgICAgIGlmIChmaWxlX2ZyYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub3BlbigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBtZWRpYSBmcmFtZS5cbiAgICAgICAgICAgICAgICBmaWxlX2ZyYW1lID0gd3AubWVkaWEuZnJhbWVzLnNlbGVjdF9pbWFnZSA9IHdwLm1lZGlhKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgICAgOiBXVlNQbHVnaW5PYmplY3QubWVkaWFfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA6IFdWU1BsdWdpbk9iamVjdC5idXR0b25fdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIFdoZW4gYW4gaW1hZ2UgaXMgc2VsZWN0ZWQsIHJ1biBhIGNhbGxiYWNrLlxuICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub24oJ3NlbGVjdCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGF0dGFjaG1lbnQgPSBmaWxlX2ZyYW1lLnN0YXRlKCkuZ2V0KCdzZWxlY3Rpb24nKS5maXJzdCgpLnRvSlNPTigpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgkLnRyaW0oYXR0YWNobWVudC5pZCkgIT09ICcnKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSAodHlwZW9mKGF0dGFjaG1lbnQuc2l6ZXMudGh1bWJuYWlsKSA9PT0gJ3VuZGVmaW5lZCcpID8gYXR0YWNobWVudC5zaXplcy5mdWxsLnVybCA6IGF0dGFjaG1lbnQuc2l6ZXMudGh1bWJuYWlsLnVybDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wcmV2KCkudmFsKGF0dGFjaG1lbnQuaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jbG9zZXN0KCcubWV0YS1pbWFnZS1maWVsZC13cmFwcGVyJykuZmluZCgnaW1nJykuYXR0cignc3JjJywgdXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykubmV4dCgpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvL2ZpbGVfZnJhbWUuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIFdoZW4gb3BlbiBzZWxlY3Qgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICBmaWxlX2ZyYW1lLm9uKCdvcGVuJywgKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEdyYWIgb3VyIGF0dGFjaG1lbnQgc2VsZWN0aW9uIGFuZCBjb25zdHJ1Y3QgYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtb2RlbC5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGlvbiAgPSBmaWxlX2ZyYW1lLnN0YXRlKCkuZ2V0KCdzZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQgICAgPSAkKHRoaXMpLnByZXYoKS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGF0dGFjaG1lbnQgPSB3cC5tZWRpYS5hdHRhY2htZW50KGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50LmZldGNoKCk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5hZGQoYXR0YWNobWVudCA/IFthdHRhY2htZW50XSA6IFtdKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIEZpbmFsbHksIG9wZW4gdGhlIG1vZGFsLlxuICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIFJlbW92ZUltYWdlKGV2ZW50KSB7XG5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgbGV0IHBsYWNlaG9sZGVyID0gJCh0aGlzKS5jbG9zZXN0KCcubWV0YS1pbWFnZS1maWVsZC13cmFwcGVyJykuZmluZCgnaW1nJykuZGF0YSgncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnLm1ldGEtaW1hZ2UtZmllbGQtd3JhcHBlcicpLmZpbmQoJ2ltZycpLmF0dHIoJ3NyYycsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICQodGhpcykucHJldigpLnByZXYoKS52YWwoJycpO1xuICAgICAgICAgICAgJCh0aGlzKS5oaWRlKCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgU2VsZWN0V29vKHNlbGVjdG9yID0gJ3NlbGVjdC53dnMtc2VsZWN0d29vJykge1xuICAgICAgICAgICAgaWYgKCQoKS5zZWxlY3RXb28pIHtcbiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS5zZWxlY3RXb28oe1xuICAgICAgICAgICAgICAgICAgICBhbGxvd0NsZWFyIDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIENvbG9yUGlja2VyKHNlbGVjdG9yID0gJ2lucHV0Lnd2cy1jb2xvci1waWNrZXInKSB7XG4gICAgICAgICAgICBpZiAoJCgpLndwQ29sb3JQaWNrZXIpIHtcbiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS53cENvbG9yUGlja2VyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgRmllbGREZXBlbmRlbmN5KHNlbGVjdG9yID0gJ1tkYXRhLWRlcGVuZHNdJykge1xuICAgICAgICAgICAgaWYgKCQoKS5Gb3JtRmllbGREZXBlbmRlbmN5KSB7XG4gICAgICAgICAgICAgICAgJChzZWxlY3RvcikuRm9ybUZpZWxkRGVwZW5kZW5jeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIHNhdmluZ0RpYWxvZygkd3JhcHBlciwgJGRpYWxvZywgdGF4b25vbXkpIHtcblxuICAgICAgICAgICAgbGV0IGRhdGEgPSB7fTtcbiAgICAgICAgICAgIGxldCB0ZXJtID0gJyc7XG5cbiAgICAgICAgICAgIC8vIEBUT0RPOiBXZSBzaG91bGQgdXNlIGZvcm0gZGF0YSwgYmVjYXVzZSB3ZSBoYXZlIHRvIHBpY2sgYXJyYXkgYmFzZWQgZGF0YSBhbHNvIDopXG5cbiAgICAgICAgICAgICRkaWFsb2cuZmluZChgaW5wdXQsIHNlbGVjdGApLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGxldCBrZXkgICA9ICQodGhpcykuYXR0cignbmFtZScpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykudmFsKCk7XG4gICAgICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAndGFnX25hbWUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXJtID0gdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS52YWwoJycpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0ZXJtKSB7XG4gICAgICAgICAgICAgICAgJCgnLnByb2R1Y3RfYXR0cmlidXRlcycpLmJsb2NrKHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlDU1MgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJyNmZmYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgICA6IDAuNlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsZXQgYWpheF9kYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb24gICA6ICd3b29jb21tZXJjZV9hZGRfbmV3X2F0dHJpYnV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRheG9ub215IDogdGF4b25vbXksXG4gICAgICAgICAgICAgICAgICAgIHRlcm0gICAgIDogdGVybSxcbiAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHkgOiB3b29jb21tZXJjZV9hZG1pbl9tZXRhX2JveGVzLmFkZF9hdHRyaWJ1dGVfbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIC4uLmRhdGFcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgJC5wb3N0KHdvb2NvbW1lcmNlX2FkbWluX21ldGFfYm94ZXMuYWpheF91cmwsIGFqYXhfZGF0YSwgZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFcnJvci5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hbGVydChyZXNwb25zZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzcG9uc2Uuc2x1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VjY2Vzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgICR3cmFwcGVyLmZpbmQoJ3NlbGVjdC5hdHRyaWJ1dGVfdmFsdWVzJykuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPVwiJyArIHJlc3BvbnNlLnRlcm1faWQgKyAnXCIgc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPicgKyByZXNwb25zZS5uYW1lICsgJzwvb3B0aW9uPicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJHdyYXBwZXIuZmluZCgnc2VsZWN0LmF0dHJpYnV0ZV92YWx1ZXMnKS5jaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICQoJy5wcm9kdWN0X2F0dHJpYnV0ZXMnKS51bmJsb2NrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkKCcucHJvZHVjdF9hdHRyaWJ1dGVzJykudW5ibG9jaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIEF0dHJpYnV0ZURpYWxvZygpIHtcblxuICAgICAgICAgICAgbGV0IHNlbGYgPSB0aGlzO1xuICAgICAgICAgICAgJCgnLnByb2R1Y3RfYXR0cmlidXRlcycpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX2FkZF9uZXdfYXR0cmlidXRlJywgZnVuY3Rpb24gKGV2ZW50KSB7XG5cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0ICR3cmFwcGVyICA9ICQodGhpcykuY2xvc2VzdCgnLndvb2NvbW1lcmNlX2F0dHJpYnV0ZScpO1xuICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGUgPSAkd3JhcHBlci5kYXRhKCd0YXhvbm9teScpO1xuICAgICAgICAgICAgICAgIGxldCB0aXRsZSAgICAgPSAkKHRoaXMpLmRhdGEoJ2RpYWxvZ190aXRsZScpO1xuXG4gICAgICAgICAgICAgICAgJCgnLnd2cy1hdHRyaWJ1dGUtZGlhbG9nLWZvci0nICsgYXR0cmlidXRlKS5kaWFsb2coe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSAgICAgICAgIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGRpYWxvZ0NsYXNzICAgOiAnd3AtZGlhbG9nIHd2cy1hdHRyaWJ1dGUtZGlhbG9nJyxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NlcyAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidWktZGlhbG9nXCIgOiBcIndwLWRpYWxvZyB3dnMtYXR0cmlidXRlLWRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGF1dG9PcGVuICAgICAgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZHJhZ2dhYmxlICAgICA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgIG1vZGFsICAgICAgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemFibGUgICAgIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNsb3NlT25Fc2NhcGUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbXkgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXQgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgb2YgOiB3aW5kb3dcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb3BlbiAgICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsb3NlIGRpYWxvZyBieSBjbGlja2luZyB0aGUgb3ZlcmxheSBiZWhpbmQgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS13aWRnZXQtb3ZlcmxheScpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNhdHRyaWJ1dGUtZGlhbG9nJykuZGlhbG9nKCdjbG9zZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0eWxlIGZpeCBmb3IgV29yZFByZXNzIGFkbWluXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAkKCcudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlJykuYWRkQ2xhc3MoJ3VpLWJ1dHRvbicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmRpYWxvZyhcIm9wdGlvblwiLCBcInRpdGxlXCIsIHRpdGxlKVxuICAgICAgICAgICAgICAgICAgICAuZGlhbG9nKFwib3B0aW9uXCIsIFwiYnV0dG9uc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgOiBXVlNQbHVnaW5PYmplY3QuZGlhbG9nX3NhdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zYXZpbmdEaWFsb2coJHdyYXBwZXIsICQodGhpcyksIGF0dHJpYnV0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRpYWxvZyhcImNsb3NlXCIpLmRpYWxvZyhcImRlc3Ryb3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgOiBXVlNQbHVnaW5PYmplY3QuZGlhbG9nX2NhbmNlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2sgOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRpYWxvZyhcImNsb3NlXCIpLmRpYWxvZyhcImRlc3Ryb3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLmRpYWxvZygnb3BlbicpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBQbHVnaW5IZWxwZXI7XG59KShqUXVlcnkpO1xuXG5leHBvcnQgeyBQbHVnaW5IZWxwZXIgfTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL1BsdWdpbkhlbHBlci5qcyIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy9iYWNrZW5kLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9zY3NzL2d3cC1hZG1pbi1ub3RpY2Uuc2Nzc1xuLy8gbW9kdWxlIGlkID0gNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3Njc3MvZnJvbnRlbmQuc2Nzc1xuLy8gbW9kdWxlIGlkID0gNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3Njc3MvdG9vbHRpcC5zY3NzXG4vLyBtb2R1bGUgaWQgPSA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy90aGVtZS1vdmVycmlkZS5zY3NzXG4vLyBtb2R1bGUgaWQgPSA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy9jdXN0b21pemUtaGVhZGluZy1jb250cm9sLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDN0RBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0FDL0JBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBQUE7QUFBQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBTEE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTlEQTtBQUFBO0FBQUE7QUFDQTtBQWlFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExRUE7QUFBQTtBQUFBO0FBNEVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFsRkE7QUFBQTtBQUFBO0FBb0ZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQXhGQTtBQUFBO0FBQUE7QUEwRkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBOUZBO0FBQUE7QUFBQTtBQUNBO0FBaUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBRkE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQXhKQTtBQUFBO0FBQUE7QUFDQTtBQTJKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExQkE7QUFnQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVNBO0FBQ0E7QUFyTkE7QUFDQTtBQURBO0FBQUE7QUFDQTtBQXVOQTtBQUNBO0FBQ0E7Ozs7Ozs7QUM1TkE7Ozs7OztBQ0FBOzs7Ozs7QUNBQTs7Ozs7O0FDQUE7Ozs7OztBQ0FBOzs7Ozs7QUNBQTs7O0EiLCJzb3VyY2VSb290IjoiIn0=
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:29
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
408
 
409
  /***/ })
410
  /******/ ]);
411
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2FkbWluLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDZjNjQ0MzQwMjYyZDA4NmQwOWNhIiwid2VicGFjazovLy9zcmMvanMvYmFja2VuZC5qcyIsIndlYnBhY2s6Ly8vc3JjL2pzL1BsdWdpbkhlbHBlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9iYWNrZW5kLnNjc3M/YmU2MSIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9nd3AtYWRtaW4tbm90aWNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZnJvbnRlbmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy90b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvdGhlbWUtb3ZlcnJpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9jdXN0b21pemUtaGVhZGluZy1jb250cm9sLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgNmM2NDQzNDAyNjJkMDg2ZDA5Y2EiLCJqUXVlcnkoJCA9PiB7XG4gICAgaW1wb3J0KCcuL1BsdWdpbkhlbHBlcicpLnRoZW4oKHtQbHVnaW5IZWxwZXJ9KSA9PiB7XG4gICAgICAgIFBsdWdpbkhlbHBlci5TZWxlY3RXb28oKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLkNvbG9yUGlja2VyKCk7XG4gICAgICAgIFBsdWdpbkhlbHBlci5GaWVsZERlcGVuZGVuY3koKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLkltYWdlVXBsb2FkZXIoKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLkF0dHJpYnV0ZURpYWxvZygpO1xuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCd3b29jb21tZXJjZV9hZGRlZF9hdHRyaWJ1dGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuU2VsZWN0V29vKCk7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuQ29sb3JQaWNrZXIoKTtcbiAgICAgICAgICAgIFBsdWdpbkhlbHBlci5JbWFnZVVwbG9hZGVyKCk7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuQXR0cmlidXRlRGlhbG9nKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICQoZG9jdW1lbnQuYm9keSkub24oJ3d2c19wcm9fcHJvZHVjdF9zd2F0Y2hlc192YXJpYXRpb25fbG9hZGVkJywgKCkgPT4ge1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLkNvbG9yUGlja2VyKCk7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuSW1hZ2VVcGxvYWRlcigpO1xuICAgICAgICB9KVxuXG4gICAgICAgICQoJy5nd3AtbGl2ZS1mZWVkLWNsb3NlJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGxldCBpZCA9ICQodGhpcykuZGF0YSgnZmVlZF9pZCcpO1xuICAgICAgICAgICAgd3AuYWpheC5zZW5kKCdnd3BfbGl2ZV9mZWVkX2Nsb3NlJywge1xuICAgICAgICAgICAgICAgIGRhdGEgOiB7aWR9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5mYWRlT3V0KCdmYXN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlKClcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgIH0pO1xufSk7ICAvLyBlbmQgb2YganF1ZXJ5IG1haW4gd3JhcHBlclxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBzcmMvanMvYmFja2VuZC5qcyIsIi8qZ2xvYmFsIFdWU1BsdWdpbk9iamVjdCwgd3AsIHdvb2NvbW1lcmNlX2FkbWluX21ldGFfYm94ZXMqL1xuXG5jb25zdCBQbHVnaW5IZWxwZXIgPSAoKCQpID0+IHtcbiAgICBjbGFzcyBQbHVnaW5IZWxwZXIge1xuXG4gICAgICAgIHN0YXRpYyBJbWFnZVVwbG9hZGVyKCkge1xuICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKCdjbGljaycsICdidXR0b24ud3ZzX3VwbG9hZF9pbWFnZV9idXR0b24nKTtcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX3VwbG9hZF9pbWFnZV9idXR0b24nLCB0aGlzLkFkZEltYWdlKTtcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX3JlbW92ZV9pbWFnZV9idXR0b24nLCB0aGlzLlJlbW92ZUltYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBBZGRJbWFnZShldmVudCkge1xuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGxldCBmaWxlX2ZyYW1lO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHdwICE9PSAndW5kZWZpbmVkJyAmJiB3cC5tZWRpYSAmJiB3cC5tZWRpYS5lZGl0b3IpIHtcblxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBtZWRpYSBmcmFtZSBhbHJlYWR5IGV4aXN0cywgcmVvcGVuIGl0LlxuICAgICAgICAgICAgICAgIGlmIChmaWxlX2ZyYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub3BlbigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBtZWRpYSBmcmFtZS5cbiAgICAgICAgICAgICAgICBmaWxlX2ZyYW1lID0gd3AubWVkaWEuZnJhbWVzLnNlbGVjdF9pbWFnZSA9IHdwLm1lZGlhKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgICAgOiBXVlNQbHVnaW5PYmplY3QubWVkaWFfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA6IFdWU1BsdWdpbk9iamVjdC5idXR0b25fdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIFdoZW4gYW4gaW1hZ2UgaXMgc2VsZWN0ZWQsIHJ1biBhIGNhbGxiYWNrLlxuICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub24oJ3NlbGVjdCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGF0dGFjaG1lbnQgPSBmaWxlX2ZyYW1lLnN0YXRlKCkuZ2V0KCdzZWxlY3Rpb24nKS5maXJzdCgpLnRvSlNPTigpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgkLnRyaW0oYXR0YWNobWVudC5pZCkgIT09ICcnKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSAodHlwZW9mKGF0dGFjaG1lbnQuc2l6ZXMudGh1bWJuYWlsKSA9PT0gJ3VuZGVmaW5lZCcpID8gYXR0YWNobWVudC5zaXplcy5mdWxsLnVybCA6IGF0dGFjaG1lbnQuc2l6ZXMudGh1bWJuYWlsLnVybDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wcmV2KCkudmFsKGF0dGFjaG1lbnQuaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jbG9zZXN0KCcubWV0YS1pbWFnZS1maWVsZC13cmFwcGVyJykuZmluZCgnaW1nJykuYXR0cignc3JjJywgdXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykubmV4dCgpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvL2ZpbGVfZnJhbWUuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIFdoZW4gb3BlbiBzZWxlY3Qgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICBmaWxlX2ZyYW1lLm9uKCdvcGVuJywgKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEdyYWIgb3VyIGF0dGFjaG1lbnQgc2VsZWN0aW9uIGFuZCBjb25zdHJ1Y3QgYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtb2RlbC5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGlvbiAgPSBmaWxlX2ZyYW1lLnN0YXRlKCkuZ2V0KCdzZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQgICAgPSAkKHRoaXMpLnByZXYoKS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGF0dGFjaG1lbnQgPSB3cC5tZWRpYS5hdHRhY2htZW50KGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50LmZldGNoKCk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5hZGQoYXR0YWNobWVudCA/IFthdHRhY2htZW50XSA6IFtdKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIEZpbmFsbHksIG9wZW4gdGhlIG1vZGFsLlxuICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIFJlbW92ZUltYWdlKGV2ZW50KSB7XG5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgbGV0IHBsYWNlaG9sZGVyID0gJCh0aGlzKS5jbG9zZXN0KCcubWV0YS1pbWFnZS1maWVsZC13cmFwcGVyJykuZmluZCgnaW1nJykuZGF0YSgncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnLm1ldGEtaW1hZ2UtZmllbGQtd3JhcHBlcicpLmZpbmQoJ2ltZycpLmF0dHIoJ3NyYycsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICQodGhpcykucHJldigpLnByZXYoKS52YWwoJycpO1xuICAgICAgICAgICAgJCh0aGlzKS5oaWRlKCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgU2VsZWN0V29vKHNlbGVjdG9yID0gJ3NlbGVjdC53dnMtc2VsZWN0d29vJykge1xuICAgICAgICAgICAgaWYgKCQoKS5zZWxlY3RXb28pIHtcbiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS5zZWxlY3RXb28oe1xuICAgICAgICAgICAgICAgICAgICBhbGxvd0NsZWFyIDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIENvbG9yUGlja2VyKHNlbGVjdG9yID0gJ2lucHV0Lnd2cy1jb2xvci1waWNrZXInKSB7XG4gICAgICAgICAgICBpZiAoJCgpLndwQ29sb3JQaWNrZXIpIHtcbiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS53cENvbG9yUGlja2VyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgRmllbGREZXBlbmRlbmN5KHNlbGVjdG9yID0gJ1tkYXRhLWRlcGVuZHNdJykge1xuICAgICAgICAgICAgaWYgKCQoKS5Gb3JtRmllbGREZXBlbmRlbmN5KSB7XG4gICAgICAgICAgICAgICAgJChzZWxlY3RvcikuRm9ybUZpZWxkRGVwZW5kZW5jeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIHNhdmluZ0RpYWxvZygkd3JhcHBlciwgJGRpYWxvZywgdGF4b25vbXkpIHtcblxuICAgICAgICAgICAgbGV0IGRhdGEgPSB7fTtcbiAgICAgICAgICAgIGxldCB0ZXJtID0gJyc7XG5cbiAgICAgICAgICAgIC8vIEBUT0RPOiBXZSBzaG91bGQgdXNlIGZvcm0gZGF0YSwgYmVjYXVzZSB3ZSBoYXZlIHRvIHBpY2sgYXJyYXkgYmFzZWQgZGF0YSBhbHNvIDopXG5cbiAgICAgICAgICAgICRkaWFsb2cuZmluZChgaW5wdXQsIHNlbGVjdGApLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGxldCBrZXkgICA9ICQodGhpcykuYXR0cignbmFtZScpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykudmFsKCk7XG4gICAgICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAndGFnX25hbWUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXJtID0gdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS52YWwoJycpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0ZXJtKSB7XG4gICAgICAgICAgICAgICAgJCgnLnByb2R1Y3RfYXR0cmlidXRlcycpLmJsb2NrKHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlDU1MgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJyNmZmYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgICA6IDAuNlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsZXQgYWpheF9kYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb24gICA6ICd3b29jb21tZXJjZV9hZGRfbmV3X2F0dHJpYnV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRheG9ub215IDogdGF4b25vbXksXG4gICAgICAgICAgICAgICAgICAgIHRlcm0gICAgIDogdGVybSxcbiAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHkgOiB3b29jb21tZXJjZV9hZG1pbl9tZXRhX2JveGVzLmFkZF9hdHRyaWJ1dGVfbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIC4uLmRhdGFcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgJC5wb3N0KHdvb2NvbW1lcmNlX2FkbWluX21ldGFfYm94ZXMuYWpheF91cmwsIGFqYXhfZGF0YSwgZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFcnJvci5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hbGVydChyZXNwb25zZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzcG9uc2Uuc2x1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VjY2Vzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgICR3cmFwcGVyLmZpbmQoJ3NlbGVjdC5hdHRyaWJ1dGVfdmFsdWVzJykuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPVwiJyArIHJlc3BvbnNlLnRlcm1faWQgKyAnXCIgc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPicgKyByZXNwb25zZS5uYW1lICsgJzwvb3B0aW9uPicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJHdyYXBwZXIuZmluZCgnc2VsZWN0LmF0dHJpYnV0ZV92YWx1ZXMnKS5jaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICQoJy5wcm9kdWN0X2F0dHJpYnV0ZXMnKS51bmJsb2NrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkKCcucHJvZHVjdF9hdHRyaWJ1dGVzJykudW5ibG9jaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIEF0dHJpYnV0ZURpYWxvZygpIHtcblxuICAgICAgICAgICAgbGV0IHNlbGYgPSB0aGlzO1xuICAgICAgICAgICAgJCgnLnByb2R1Y3RfYXR0cmlidXRlcycpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX2FkZF9uZXdfYXR0cmlidXRlJywgZnVuY3Rpb24gKGV2ZW50KSB7XG5cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0ICR3cmFwcGVyICA9ICQodGhpcykuY2xvc2VzdCgnLndvb2NvbW1lcmNlX2F0dHJpYnV0ZScpO1xuICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGUgPSAkd3JhcHBlci5kYXRhKCd0YXhvbm9teScpO1xuICAgICAgICAgICAgICAgIGxldCB0aXRsZSAgICAgPSAkKHRoaXMpLmRhdGEoJ2RpYWxvZ190aXRsZScpO1xuXG4gICAgICAgICAgICAgICAgJCgnLnd2cy1hdHRyaWJ1dGUtZGlhbG9nLWZvci0nICsgYXR0cmlidXRlKS5kaWFsb2coe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSAgICAgICAgIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGRpYWxvZ0NsYXNzICAgOiAnd3AtZGlhbG9nIHd2cy1hdHRyaWJ1dGUtZGlhbG9nJyxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NlcyAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidWktZGlhbG9nXCIgOiBcIndwLWRpYWxvZyB3dnMtYXR0cmlidXRlLWRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGF1dG9PcGVuICAgICAgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZHJhZ2dhYmxlICAgICA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgIG1vZGFsICAgICAgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemFibGUgICAgIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNsb3NlT25Fc2NhcGUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbXkgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXQgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgb2YgOiB3aW5kb3dcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb3BlbiAgICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsb3NlIGRpYWxvZyBieSBjbGlja2luZyB0aGUgb3ZlcmxheSBiZWhpbmQgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS13aWRnZXQtb3ZlcmxheScpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNhdHRyaWJ1dGUtZGlhbG9nJykuZGlhbG9nKCdjbG9zZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0eWxlIGZpeCBmb3IgV29yZFByZXNzIGFkbWluXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAkKCcudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlJykuYWRkQ2xhc3MoJ3VpLWJ1dHRvbicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmRpYWxvZyhcIm9wdGlvblwiLCBcInRpdGxlXCIsIHRpdGxlKVxuICAgICAgICAgICAgICAgICAgICAuZGlhbG9nKFwib3B0aW9uXCIsIFwiYnV0dG9uc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgOiBXVlNQbHVnaW5PYmplY3QuZGlhbG9nX3NhdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zYXZpbmdEaWFsb2coJHdyYXBwZXIsICQodGhpcyksIGF0dHJpYnV0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRpYWxvZyhcImNsb3NlXCIpLmRpYWxvZyhcImRlc3Ryb3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgOiBXVlNQbHVnaW5PYmplY3QuZGlhbG9nX2NhbmNlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2sgOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRpYWxvZyhcImNsb3NlXCIpLmRpYWxvZyhcImRlc3Ryb3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLmRpYWxvZygnb3BlbicpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBQbHVnaW5IZWxwZXI7XG59KShqUXVlcnkpO1xuXG5leHBvcnQgeyBQbHVnaW5IZWxwZXIgfTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL1BsdWdpbkhlbHBlci5qcyIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy9iYWNrZW5kLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9zY3NzL2d3cC1hZG1pbi1ub3RpY2Uuc2Nzc1xuLy8gbW9kdWxlIGlkID0gNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3Njc3MvZnJvbnRlbmQuc2Nzc1xuLy8gbW9kdWxlIGlkID0gNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3Njc3MvdG9vbHRpcC5zY3NzXG4vLyBtb2R1bGUgaWQgPSA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy90aGVtZS1vdmVycmlkZS5zY3NzXG4vLyBtb2R1bGUgaWQgPSA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy9jdXN0b21pemUtaGVhZGluZy1jb250cm9sLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDN0RBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0FDL0JBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBQUE7QUFBQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBTEE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTlEQTtBQUFBO0FBQUE7QUFDQTtBQWlFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExRUE7QUFBQTtBQUFBO0FBNEVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFsRkE7QUFBQTtBQUFBO0FBb0ZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQXhGQTtBQUFBO0FBQUE7QUEwRkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBOUZBO0FBQUE7QUFBQTtBQUNBO0FBaUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBRkE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQXhKQTtBQUFBO0FBQUE7QUFDQTtBQTJKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExQkE7QUFnQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVNBO0FBQ0E7QUFyTkE7QUFDQTtBQURBO0FBQUE7QUFDQTtBQXVOQTtBQUNBO0FBQ0E7Ozs7Ozs7QUM1TkE7Ozs7OztBQ0FBOzs7Ozs7QUNBQTs7Ozs7O0FDQUE7Ozs7OztBQ0FBOzs7Ozs7QUNBQTs7O0EiLCJzb3VyY2VSb290IjoiIn0=
assets/js/divi_woo_layout_injector.js ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // SCRIPT Woo Layout Injector version: 4.5, script.js
2
+
3
+ jQuery(document).ready(function () {
4
+
5
+ if (jQuery('.single-product .sb_woo_product_image').length) {
6
+ if (!jQuery('.single-product .sb_woo_product_image').hasClass('sb_woo_image_disable_zoom')) {
7
+ jQuery('.single-product .sb_woo_product_image').zoom({
8
+ callback: function callback() {
9
+ if (!jQuery('.single-product .sb_woo_product_image').hasClass('sb_woo_image_disable_lightbox')) {
10
+ jQuery(this).colorbox({
11
+ href: jQuery('.single-product .sb_woo_product_image img').attr('src')
12
+ });
13
+ }
14
+ }
15
+ });
16
+ } else {
17
+ if (!jQuery('.single-product .sb_woo_product_image').hasClass('sb_woo_image_disable_lightbox')) {
18
+ jQuery('.sb_woo_product_image').colorbox({
19
+ href: jQuery('.single-product .sb_woo_product_image img').attr('src')
20
+ });
21
+ }
22
+ }
23
+ }
24
+
25
+ if (jQuery('.single-product .cart.variations_form')) {
26
+ ////////////////////////////////////////////////
27
+ jQuery('.single-product .cart.variations_form .variations .value select').each(function (index, attr) {
28
+ jQuery(this).change(function () {
29
+ sb_woo_variation_image();
30
+ });
31
+ });
32
+ ////////////////////////////////////////////////
33
+ }
34
+
35
+ if (jQuery('.woocommerce-remove-coupon').length) {
36
+ jQuery('.et_pb_woo_checkout_coupon').slideUp();
37
+ }
38
+
39
+ //to handle removing items from the cart with a blank response. Note to edit this if no empty cart layout specified
40
+ jQuery(document.body).on('wc_fragments_refreshed', function () {
41
+ //if (jQuery('body.woocommerce-cart').length && (!jQuery('.woocommerce-cart-form').length && !jQuery('.sb_et_woo_li_cart_empty').length)) {
42
+ //console.log('Woo Injector Refreshing Cart');
43
+ //location.reload(); //refresh the page
44
+ //}
45
+ });
46
+
47
+ if (jQuery('body').hasClass('wli_injected')) {
48
+
49
+ if (jQuery('.wpcf7').length > 0) {
50
+ var wli_post_id,
51
+ matches = document.body.className.match(/(^|\s)postid-(\d+)(\s|$)/);
52
+ if (matches) {
53
+ jQuery("input[name='_wpcf7_container_post']").val(matches[2]);
54
+ jQuery(".wpcf7-submit").addClass('button');
55
+ jQuery(".wpcf7-form > p").addClass('form-row');
56
+ jQuery(".wpcf7-form > p .wpcf7-form-control-wrap input").addClass('input-text');
57
+ }
58
+ }
59
+
60
+ //to add class of button to thr add to cart ajax function for consistency
61
+ jQuery(document.body).on('added_to_cart', function () {
62
+ setTimeout(function () {
63
+ jQuery('.added_to_cart').addClass('button');
64
+ }, 50);
65
+ });
66
+
67
+ //to recalculate the product count in cart
68
+ jQuery(document.body).on('wc_fragments_loaded', function () {
69
+ wli_refresh_cart_count();
70
+ });
71
+
72
+ //to recalculate the product count in cart
73
+ jQuery(document.body).on('wc_fragments_refreshed', function () {
74
+ wli_refresh_cart_count();
75
+ });
76
+
77
+ //to handle showing the coupon system in a lightbox
78
+ jQuery(document.body).on("checkout_error", function () {
79
+
80
+ if (jQuery('.woocommerce-NoticeGroup').length) {
81
+ sb_woo_popup_notice(jQuery('.woocommerce-NoticeGroup').html());
82
+ setTimeout(function () {
83
+ jQuery('.woocommerce-NoticeGroup').remove();
84
+ }, 250);
85
+ }
86
+ });
87
+
88
+ //to handle showing the coupon system in a lightbox
89
+ jQuery(document.body).on("updated_wc_div", function () {
90
+
91
+ if (jQuery('.woocommerce .woocommerce-error').length) {
92
+ sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-error'));
93
+ jQuery('.entry-content .woocommerce .woocommerce-error').remove();
94
+ }
95
+ if (jQuery('.woocommerce .woocommerce-message').length) {
96
+ sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-message').clone().wrap("<div />"));
97
+ jQuery('.entry-content .woocommerce .woocommerce-message').remove();
98
+ }
99
+ if (jQuery('.cart-empty').length > 0) {
100
+ jQuery('.et_pb_woo_cart_totals').remove();
101
+ }
102
+ });
103
+
104
+ //to handle showing the coupon system in a lightbox
105
+ jQuery(document.body).on("applied_coupon", function () {
106
+
107
+ if (jQuery('.woocommerce .woocommerce-error').length) {
108
+ sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-error'));
109
+ jQuery('.entry-content .woocommerce .woocommerce-error').remove();
110
+ }
111
+ });
112
+
113
+ //to handle showing the coupon removed in a lightbox
114
+ jQuery(document.body).on("removed_coupon", function () {
115
+
116
+ if (jQuery('.woocommerce .woocommerce-message').length) {
117
+ sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-message').clone().wrap("<div />"));
118
+ jQuery('.entry-content .woocommerce .woocommerce-message').remove();
119
+ }
120
+ });
121
+
122
+ //to handle showing the coupon system in a lightbox
123
+ jQuery(document.body).on("update_checkout", function () {
124
+
125
+ if (jQuery('.wli_wrapper_checkout-form-coupon .woocommerce-error').length) {
126
+ sb_woo_popup_notice(jQuery('.wli_wrapper_checkout-form-coupon .woocommerce-error').clone().wrap("<div />"));
127
+ jQuery('.et_pb_woo_checkout_coupon').slideDown();
128
+ } else if (jQuery('.wli_wrapper_checkout-form-coupon .woocommerce-message').length) {
129
+ sb_woo_popup_notice(jQuery('.wli_wrapper_checkout-form-coupon .woocommerce-message').clone().wrap("<div />"));
130
+ jQuery('.coupon-module').val('');
131
+
132
+ if (jQuery('.woocommerce-remove-coupon').length) {
133
+ jQuery('.et_pb_woo_checkout_coupon').slideDown();
134
+ } else {
135
+ jQuery('.et_pb_woo_checkout_coupon').slideUp();
136
+ }
137
+ } else if (jQuery('.woocommerce .woocommerce-message').length) {
138
+ sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-message').clone().wrap("<div />"));
139
+ setTimeout(function () {
140
+ jQuery('.entry-content > .woocommerce > .woocommerce-message').remove();
141
+ }, 250);
142
+ }
143
+ });
144
+ }
145
+ });
146
+
147
+ function wli_refresh_cart_count() {
148
+ var wli_new_count = 0;
149
+
150
+ if (jQuery('.sb_woo_mini_cart ul li').length) {
151
+ jQuery('.sb_woo_mini_cart ul li').each(function () {
152
+ var wli_quantity = jQuery(this).children('.quantity').text();
153
+ var wli_quantity_nums = wli_quantity.split(' ');
154
+ var wli_quantity_num = parseInt(wli_quantity_nums[0]);
155
+
156
+ wli_new_count += wli_quantity_num;
157
+ });
158
+ }
159
+
160
+ if (wli_new_count <= 0) {
161
+ wli_new_count = '';
162
+ }
163
+
164
+ jQuery('.sb_woo_prod_cart_container .et-cart-info span').text(wli_new_count);
165
+ }
166
+
167
+ function sb_woo_popup_notice(popup_object) {
168
+ jQuery('html, body').scrollTop(0);
169
+
170
+ jQuery.colorbox({
171
+ html: popup_object,
172
+ width: "50%",
173
+ className: "woocommerce"
174
+ });
175
+ }
176
+
177
+ function sb_woo_maybe_submit_checkout_coupon() {
178
+ jQuery(this).keypress(function (e) {
179
+ if (e.which == 13) {
180
+ sb_woo_submit_checkout_coupon();
181
+ }
182
+ });
183
+ }
184
+
185
+ function sb_woo_submit_checkout_coupon() {
186
+ if (jQuery('.coupon-module').length) {
187
+ jQuery('.coupon-module').parent().removeClass('woocommerce-invalid').removeClass('woocommerce-validated');
188
+
189
+ var coupon = jQuery('.coupon-module').val();
190
+
191
+ if (coupon != '') {
192
+ jQuery('#coupon_code').val(coupon);
193
+ jQuery('.checkout_coupon').submit();
194
+ } else {
195
+ jQuery('.coupon-module').parent().addClass('woocommerce-invalid').removeClass('woocommerce-validated');
196
+ }
197
+ }
198
+
199
+ return false;
200
+ }
201
+
202
+ function sb_woo_variation_image() {
203
+ //get variation data and store in sb_woo_attr_data
204
+ var sb_woo_attr_data = jQuery('.single-product .cart.variations_form').data('product_variations');
205
+ var sb_woo_attr_val = '';
206
+ var sb_woo_attr_id = '';
207
+ var sb_woo_attr_name = '';
208
+ var sb_woo_attr_set = [];
209
+ var sb_woo_attr_set_l = 0;
210
+ var sb_woo_attr_set_matched = 0;
211
+ var sb_woo_found_set = [];
212
+ var sb_woo_large_image = '';
213
+
214
+ ////////////////////////////////////////////////////
215
+
216
+ //cache current variation choices in "sb_woo_attr_set"
217
+ jQuery('.single-product .cart.variations_form .variations .value select').each(function (index2, attr2) {
218
+ sb_woo_attr_val = jQuery(this).val();
219
+ sb_woo_attr_id = jQuery(this).attr('id');
220
+ sb_woo_attr_name = 'attribute_' + sb_woo_attr_id;
221
+
222
+ if (sb_woo_attr_val) {
223
+ sb_woo_attr_set.push([sb_woo_attr_name, sb_woo_attr_val]);
224
+ sb_woo_attr_set_l++;
225
+ }
226
+ });
227
+
228
+ ////////////////////////////////////////////////////
229
+
230
+ if (sb_woo_attr_set_l > 0) {
231
+ //foreach of the stored attribute variables
232
+ jQuery(sb_woo_attr_data).each(function (index3, attr3) {
233
+ //loop variation prices
234
+ var sb_woo_attrs = attr3.attributes;
235
+ sb_woo_attr_set_matched = 0; //reset to 0
236
+
237
+ //loop attributes linked to this attribute set
238
+ jQuery(sb_woo_attrs).each(function (index4, attr4) {
239
+ jQuery(attr4).each(function (index4, attr4) {
240
+ jQuery(sb_woo_attr_set).each(function (index5, attr5) {
241
+ if (attr4[attr5[0]] == attr5[1] || attr4[attr5[0]] == "") {
242
+ sb_woo_attr_set_matched++;
243
+ }
244
+ });
245
+ });
246
+ });
247
+
248
+ if (sb_woo_attr_set_matched >= sb_woo_attr_set_l) {
249
+ sb_woo_found_set = attr3; //we found a matching set... store it!
250
+ }
251
+ });
252
+
253
+ if (typeof sb_woo_found_set.image !== 'undefined') {
254
+ sb_woo_large_image = sb_woo_found_set.image.full_src;
255
+ } else {
256
+ sb_woo_large_image = jQuery('.sb_woo_product_thumb_col_num_1 a').data('large_image');
257
+ }
258
+
259
+ sb_woo_product_thumb_replace_by_url(sb_woo_large_image, jQuery('.sb_woo_product_image_container')); //we aren't selecting the same element here so just grab the image directly
260
+ }
261
+ }
262
+
263
+ function sb_woo_product_thumb_replace_by_url(large_image, image_object) {
264
+ if (jQuery('.single-product .sb_woo_product_image img').attr('src') == large_image) {
265
+ return;
266
+ }
267
+
268
+ var parent_object = image_object.closest('.sb_woo_product_image_container');
269
+
270
+ if (parent_object.length == 0) {
271
+ var parent_object = jQuery('.sb_woo_product_image_container');
272
+ }
273
+
274
+ if (parent_object.length) {
275
+
276
+ parent_object.find('.sb_woo_product_image img').trigger('zoom.destroy'); // remove zoom
277
+ parent_object.find('.sb_woo_product_image img.zoomImg').remove(); //remove old zoom image
278
+
279
+ var image_height = parent_object.find('.sb_woo_product_image img').height();
280
+
281
+ parent_object.find('.sb_woo_product_image').css('height', image_height + 'px');
282
+
283
+ parent_object.find('.sb_woo_product_image img').fadeOut(400, function () {
284
+ parent_object.find('.sb_woo_product_image img').attr('src', large_image);
285
+
286
+ parent_object.find('.sb_woo_product_image').imagesLoaded(function () {
287
+ var image_height = parent_object.find('.sb_woo_product_image img').height();
288
+
289
+ parent_object.find('.sb_woo_product_image').css('height', image_height + 'px');
290
+
291
+ parent_object.find('.sb_woo_product_image img').fadeIn(400, function () {
292
+ if (!parent_object.find('.sb_woo_product_image').hasClass('sb_woo_image_disable_zoom')) {
293
+ parent_object.find('.sb_woo_product_image').zoom({
294
+ callback: function callback() {
295
+ if (!parent_object.find('.sb_woo_product_image').hasClass('sb_woo_image_disable_lightbox')) {
296
+ jQuery(this).colorbox({
297
+ href: parent_object.find('.sb_woo_product_image img').attr('src')
298
+ });
299
+ }
300
+ }
301
+ });
302
+ } else {
303
+ if (!parent_object.find('.sb_woo_product_image').hasClass('sb_woo_image_disable_lightbox')) {
304
+ jQuery('.sb_woo_product_image').colorbox({
305
+ href: parent_object.find('.sb_woo_product_image img').attr('src')
306
+ });
307
+ }
308
+ }
309
+ });
310
+ });
311
+ });
312
+ } else {
313
+ //
314
+ // Removed Code that conflict with WooCommerce Variation Swatches
315
+ //
316
+ /*jQuery.colorbox({
317
+ href: large_image
318
+ });*/
319
+ }
320
+ }
321
+
322
+ function sb_woo_product_thumb_replace(image_object) {
323
+ var large_image = image_object.data('large_image');
324
+
325
+ sb_woo_product_thumb_replace_by_url(large_image, image_object);
326
+ }
assets/js/divi_woo_layout_injector.min.js ADDED
@@ -0,0 +1 @@
 
1
+ function wli_refresh_cart_count(){var o=0;jQuery(".sb_woo_mini_cart ul li").length&&jQuery(".sb_woo_mini_cart ul li").each(function(){var e=jQuery(this).children(".quantity").text(),r=e.split(" "),c=parseInt(r[0]);o+=c}),o<=0&&(o=""),jQuery(".sb_woo_prod_cart_container .et-cart-info span").text(o)}function sb_woo_popup_notice(o){jQuery("html, body").scrollTop(0),jQuery.colorbox({html:o,width:"50%",className:"woocommerce"})}function sb_woo_maybe_submit_checkout_coupon(){jQuery(this).keypress(function(o){13==o.which&&sb_woo_submit_checkout_coupon()})}function sb_woo_submit_checkout_coupon(){if(jQuery(".coupon-module").length){jQuery(".coupon-module").parent().removeClass("woocommerce-invalid").removeClass("woocommerce-validated");var o=jQuery(".coupon-module").val();""!=o?(jQuery("#coupon_code").val(o),jQuery(".checkout_coupon").submit()):jQuery(".coupon-module").parent().addClass("woocommerce-invalid").removeClass("woocommerce-validated")}return!1}function sb_woo_variation_image(){var o=jQuery(".single-product .cart.variations_form").data("product_variations"),e="",r="",c="",t=[],u=0,_=0,n=[],i="";jQuery(".single-product .cart.variations_form .variations .value select").each(function(o,_){e=jQuery(this).val(),r=jQuery(this).attr("id"),c="attribute_"+r,e&&(t.push([c,e]),u++)}),u>0&&(jQuery(o).each(function(o,e){var r=e.attributes;_=0,jQuery(r).each(function(o,e){jQuery(e).each(function(o,e){jQuery(t).each(function(o,r){e[r[0]]!=r[1]&&""!=e[r[0]]||_++})})}),_>=u&&(n=e)}),i=void 0!==n.image?n.image.full_src:jQuery(".sb_woo_product_thumb_col_num_1 a").data("large_image"),sb_woo_product_thumb_replace_by_url(i,jQuery(".sb_woo_product_image_container")))}function sb_woo_product_thumb_replace_by_url(o,e){if(jQuery(".single-product .sb_woo_product_image img").attr("src")!=o){var r=e.closest(".sb_woo_product_image_container");if(0==r.length)var r=jQuery(".sb_woo_product_image_container");if(r.length){r.find(".sb_woo_product_image img").trigger("zoom.destroy"),r.find(".sb_woo_product_image img.zoomImg").remove();var c=r.find(".sb_woo_product_image img").height();r.find(".sb_woo_product_image").css("height",c+"px"),r.find(".sb_woo_product_image img").fadeOut(400,function(){r.find(".sb_woo_product_image img").attr("src",o),r.find(".sb_woo_product_image").imagesLoaded(function(){var o=r.find(".sb_woo_product_image img").height();r.find(".sb_woo_product_image").css("height",o+"px"),r.find(".sb_woo_product_image img").fadeIn(400,function(){r.find(".sb_woo_product_image").hasClass("sb_woo_image_disable_zoom")?r.find(".sb_woo_product_image").hasClass("sb_woo_image_disable_lightbox")||jQuery(".sb_woo_product_image").colorbox({href:r.find(".sb_woo_product_image img").attr("src")}):r.find(".sb_woo_product_image").zoom({callback:function(){r.find(".sb_woo_product_image").hasClass("sb_woo_image_disable_lightbox")||jQuery(this).colorbox({href:r.find(".sb_woo_product_image img").attr("src")})}})})})})}}}function sb_woo_product_thumb_replace(o){sb_woo_product_thumb_replace_by_url(o.data("large_image"),o)}jQuery(document).ready(function(){if(jQuery(".single-product .sb_woo_product_image").length&&(jQuery(".single-product .sb_woo_product_image").hasClass("sb_woo_image_disable_zoom")?jQuery(".single-product .sb_woo_product_image").hasClass("sb_woo_image_disable_lightbox")||jQuery(".sb_woo_product_image").colorbox({href:jQuery(".single-product .sb_woo_product_image img").attr("src")}):jQuery(".single-product .sb_woo_product_image").zoom({callback:function(){jQuery(".single-product .sb_woo_product_image").hasClass("sb_woo_image_disable_lightbox")||jQuery(this).colorbox({href:jQuery(".single-product .sb_woo_product_image img").attr("src")})}})),jQuery(".single-product .cart.variations_form")&&jQuery(".single-product .cart.variations_form .variations .value select").each(function(o,e){jQuery(this).change(function(){sb_woo_variation_image()})}),jQuery(".woocommerce-remove-coupon").length&&jQuery(".et_pb_woo_checkout_coupon").slideUp(),jQuery(document.body).on("wc_fragments_refreshed",function(){}),jQuery("body").hasClass("wli_injected")){if(jQuery(".wpcf7").length>0){var o=document.body.className.match(/(^|\s)postid-(\d+)(\s|$)/);o&&(jQuery("input[name='_wpcf7_container_post']").val(o[2]),jQuery(".wpcf7-submit").addClass("button"),jQuery(".wpcf7-form > p").addClass("form-row"),jQuery(".wpcf7-form > p .wpcf7-form-control-wrap input").addClass("input-text"))}jQuery(document.body).on("added_to_cart",function(){setTimeout(function(){jQuery(".added_to_cart").addClass("button")},50)}),jQuery(document.body).on("wc_fragments_loaded",function(){wli_refresh_cart_count()}),jQuery(document.body).on("wc_fragments_refreshed",function(){wli_refresh_cart_count()}),jQuery(document.body).on("checkout_error",function(){jQuery(".woocommerce-NoticeGroup").length&&(sb_woo_popup_notice(jQuery(".woocommerce-NoticeGroup").html()),setTimeout(function(){jQuery(".woocommerce-NoticeGroup").remove()},250))}),jQuery(document.body).on("updated_wc_div",function(){jQuery(".woocommerce .woocommerce-error").length&&(sb_woo_popup_notice(jQuery(".woocommerce .woocommerce-error")),jQuery(".entry-content .woocommerce .woocommerce-error").remove()),jQuery(".woocommerce .woocommerce-message").length&&(sb_woo_popup_notice(jQuery(".woocommerce .woocommerce-message").clone().wrap("<div />")),jQuery(".entry-content .woocommerce .woocommerce-message").remove()),jQuery(".cart-empty").length>0&&jQuery(".et_pb_woo_cart_totals").remove()}),jQuery(document.body).on("applied_coupon",function(){jQuery(".woocommerce .woocommerce-error").length&&(sb_woo_popup_notice(jQuery(".woocommerce .woocommerce-error")),jQuery(".entry-content .woocommerce .woocommerce-error").remove())}),jQuery(document.body).on("removed_coupon",function(){jQuery(".woocommerce .woocommerce-message").length&&(sb_woo_popup_notice(jQuery(".woocommerce .woocommerce-message").clone().wrap("<div />")),jQuery(".entry-content .woocommerce .woocommerce-message").remove())}),jQuery(document.body).on("update_checkout",function(){jQuery(".wli_wrapper_checkout-form-coupon .woocommerce-error").length?(sb_woo_popup_notice(jQuery(".wli_wrapper_checkout-form-coupon .woocommerce-error").clone().wrap("<div />")),jQuery(".et_pb_woo_checkout_coupon").slideDown()):jQuery(".wli_wrapper_checkout-form-coupon .woocommerce-message").length?(sb_woo_popup_notice(jQuery(".wli_wrapper_checkout-form-coupon .woocommerce-message").clone().wrap("<div />")),jQuery(".coupon-module").val(""),jQuery(".woocommerce-remove-coupon").length?jQuery(".et_pb_woo_checkout_coupon").slideDown():jQuery(".et_pb_woo_checkout_coupon").slideUp()):jQuery(".woocommerce .woocommerce-message").length&&(sb_woo_popup_notice(jQuery(".woocommerce .woocommerce-message").clone().wrap("<div />")),setTimeout(function(){jQuery(".entry-content > .woocommerce > .woocommerce-message").remove()},250))})}});
assets/js/frontend.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.27
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-6-3 16:12:59
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
@@ -124,6 +124,7 @@ var WooVariationSwatches = function ($) {
124
  this.is_ajax_variation = !this.product_variations;
125
  this.product_id = this._element.data('product_id');
126
  this.hidden_behaviour = $('body').hasClass('woo-variation-swatches-attribute-behavior-hide');
 
127
 
128
  // Call
129
  this.init(this.is_ajax_variation, this.hidden_behaviour);
@@ -145,6 +146,9 @@ var WooVariationSwatches = function ($) {
145
  var select = $(this).siblings('select.woo-variation-raw-select');
146
  var li = $(this).find('li');
147
  var reselect_clear = $(this).hasClass('reselect-clear');
 
 
 
148
 
149
  // For Avada FIX
150
  if (select.length < 1) {
@@ -158,8 +162,12 @@ var WooVariationSwatches = function ($) {
158
  var value = $(this).data('value');
159
  select.val(value).trigger('change');
160
  select.trigger('click');
 
161
  select.trigger('focusin');
162
- select.trigger('touchstart');
 
 
 
163
 
164
  $(this).trigger('focus'); // Mobile tooltip
165
  });
@@ -169,8 +177,12 @@ var WooVariationSwatches = function ($) {
169
  e.stopPropagation();
170
  select.val('').trigger('change');
171
  select.trigger('click');
 
172
  select.trigger('focusin');
173
- select.trigger('touchstart');
 
 
 
174
 
175
  $(this).trigger('focus'); // Mobile tooltip
176
  });
@@ -201,7 +213,9 @@ var WooVariationSwatches = function ($) {
201
 
202
  select.trigger('click');
203
  select.trigger('focusin');
204
- select.trigger('touchstart');
 
 
205
  });
206
  } else {
207
  $(this).on('touchstart click', 'li:not(.radio-variable-item)', function (e) {
@@ -211,7 +225,9 @@ var WooVariationSwatches = function ($) {
211
  select.val(value).trigger('change');
212
  select.trigger('click');
213
  select.trigger('focusin');
214
- select.trigger('touchstart');
 
 
215
 
216
  $(this).trigger('focus'); // Mobile tooltip
217
  });
@@ -225,7 +241,10 @@ var WooVariationSwatches = function ($) {
225
  select.val(value).trigger('change');
226
  select.trigger('click');
227
  select.trigger('focusin');
228
- select.trigger('touchstart');
 
 
 
229
 
230
  // Radio
231
  $(this).parent('li.radio-variable-item').removeClass('selected disabled').addClass('selected');
@@ -452,4 +471,4 @@ module.exports = __webpack_require__(10);
452
  /***/ })
453
 
454
  /******/ });
455
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2Zyb250ZW5kLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDY2NTAxYjNjNTBiZTBlMzhmZjhkIiwid2VicGFjazovLy9zcmMvanMvZnJvbnRlbmQuanMiLCJ3ZWJwYWNrOi8vL3NyYy9qcy9Xb29WYXJpYXRpb25Td2F0Y2hlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA5KTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCA2NjUwMWIzYzUwYmUwZTM4ZmY4ZCIsImpRdWVyeSgkID0+IHtcbiAgICBpbXBvcnQoJy4vV29vVmFyaWF0aW9uU3dhdGNoZXMnKS50aGVuKCgpID0+IHtcbiAgICAgICAgLy8gSW5pdCBvbiBBamF4IFBvcHVwIDopXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKCd3Y192YXJpYXRpb25fZm9ybScsICcudmFyaWF0aW9uc19mb3JtJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJCh0aGlzKS5Xb29WYXJpYXRpb25Td2F0Y2hlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTdXBwb3J0IGZvciBKZXRwYWNrJ3MgSW5maW5pdGUgU2Nyb2xsLFxuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCdwb3N0LWxvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAkKCcudmFyaWF0aW9uc19mb3JtJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS53Y192YXJpYXRpb25fZm9ybSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG5cbiAgICB9KTtcbn0pOyAgLy8gZW5kIG9mIGpxdWVyeSBtYWluIHdyYXBwZXJcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL2Zyb250ZW5kLmpzIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV29vQ29tbWVyY2UgVmFyaWF0aW9uIENoYW5nZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBXb29WYXJpYXRpb25Td2F0Y2hlcyA9ICgoJCkgPT4ge1xuXG4gICAgY29uc3QgRGVmYXVsdCA9IHt9O1xuXG4gICAgY2xhc3MgV29vVmFyaWF0aW9uU3dhdGNoZXMge1xuXG4gICAgICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQsIGNvbmZpZykge1xuXG4gICAgICAgICAgICAvLyBBc3NpZ25cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgICAgICAgICAgID0gJChlbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZyAgICAgICAgICAgID0gJC5leHRlbmQoe30sIERlZmF1bHQsIGNvbmZpZyk7XG4gICAgICAgICAgICB0aGlzLl9nZW5lcmF0ZWQgICAgICAgICA9IHt9O1xuICAgICAgICAgICAgdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnMgPSB0aGlzLl9lbGVtZW50LmRhdGEoJ3Byb2R1Y3RfdmFyaWF0aW9ucycpO1xuICAgICAgICAgICAgdGhpcy5pc19hamF4X3ZhcmlhdGlvbiAgPSAhdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnM7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RfaWQgICAgICAgICA9IHRoaXMuX2VsZW1lbnQuZGF0YSgncHJvZHVjdF9pZCcpO1xuICAgICAgICAgICAgdGhpcy5oaWRkZW5fYmVoYXZpb3VyICAgPSAkKCdib2R5JykuaGFzQ2xhc3MoJ3dvby12YXJpYXRpb24tc3dhdGNoZXMtYXR0cmlidXRlLWJlaGF2aW9yLWhpZGUnKTtcblxuICAgICAgICAgICAgLy8gQ2FsbFxuICAgICAgICAgICAgdGhpcy5pbml0KHRoaXMuaXNfYWpheF92YXJpYXRpb24sIHRoaXMuaGlkZGVuX2JlaGF2aW91cik7XG4gICAgICAgICAgICB0aGlzLmxvYWRlZCh0aGlzLmlzX2FqYXhfdmFyaWF0aW9uLCB0aGlzLmhpZGRlbl9iZWhhdmlvdXIpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGUodGhpcy5pc19hamF4X3ZhcmlhdGlvbiwgdGhpcy5oaWRkZW5fYmVoYXZpb3VyKTtcbiAgICAgICAgICAgIHRoaXMucmVzZXQodGhpcy5pc19hamF4X3ZhcmlhdGlvbiwgdGhpcy5oaWRkZW5fYmVoYXZpb3VyKTtcblxuICAgICAgICAgICAgLy8gVHJpZ2dlclxuICAgICAgICAgICAgJChkb2N1bWVudCkudHJpZ2dlcignd29vX3ZhcmlhdGlvbl9zd2F0Y2hlcycsIFt0aGlzLl9lbGVtZW50XSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgX2pRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIG5ldyBXb29WYXJpYXRpb25Td2F0Y2hlcyh0aGlzLCBjb25maWcpXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaW5pdChpc19hamF4LCBoaWRkZW5fYmVoYXZpb3VyKSB7XG5cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKGksIGVsKSB7XG5cbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ICAgICAgICAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0Jyk7XG4gICAgICAgICAgICAgICAgbGV0IGxpICAgICAgICAgICAgID0gJCh0aGlzKS5maW5kKCdsaScpO1xuICAgICAgICAgICAgICAgIGxldCByZXNlbGVjdF9jbGVhciA9ICQodGhpcykuaGFzQ2xhc3MoJ3Jlc2VsZWN0LWNsZWFyJyk7XG5cbiAgICAgICAgICAgICAgICAvLyBGb3IgQXZhZGEgRklYXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdC5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChyZXNlbGVjdF9jbGVhcikge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCd0b3VjaHN0YXJ0IGNsaWNrJywgJ2xpOm5vdCguc2VsZWN0ZWQpOm5vdCgucmFkaW8tdmFyaWFibGUtaXRlbSknLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuZGF0YSgndmFsdWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCdmb2N1cycpOyAvLyBNb2JpbGUgdG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCd0b3VjaHN0YXJ0IGNsaWNrJywgJ2xpLnNlbGVjdGVkOm5vdCgucmFkaW8tdmFyaWFibGUtaXRlbSknLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwoJycpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCdmb2N1cycpOyAvLyBNb2JpbGUgdG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBSQURJT1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCd0b3VjaHN0YXJ0IGNsaWNrJywgJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCdjaGFuZ2UnLCAnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gJCh0aGlzKS52YWwoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucGFyZW50KCcucmFkaW8tdmFyaWFibGUtaXRlbScpLmhhc0NsYXNzKCdzZWxlY3RlZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnZhbCgnJykudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucHJvcCgnY2hlY2tlZCcsIGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudmFsKHZhbHVlKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCd0b3VjaHN0YXJ0IGNsaWNrJywgJ2xpOm5vdCgucmFkaW8tdmFyaWFibGUtaXRlbSknLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuZGF0YSgndmFsdWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCdmb2N1cycpOyAvLyBNb2JpbGUgdG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBSYWRpb1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCdjaGFuZ2UnLCAnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykudmFsKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmFkaW9cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCdsaS5yYWRpby12YXJpYWJsZS1pdGVtJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkIGRpc2FibGVkJykuYWRkQ2xhc3MoJ3NlbGVjdGVkJylcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIF8uZGVsYXkoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQudHJpZ2dlcignd29vX3ZhcmlhdGlvbl9zd2F0Y2hlc19pbml0JywgW3RoaXMsIHRoaXMucHJvZHVjdF92YXJpYXRpb25zXSlcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS50cmlnZ2VyKCd3b29fdmFyaWF0aW9uX3N3YXRjaGVzX2xvYWRlZCcsIFt0aGlzLl9lbGVtZW50LCB0aGlzLnByb2R1Y3RfdmFyaWF0aW9uc10pXG4gICAgICAgICAgICB9LCAyKVxuICAgICAgICB9XG5cbiAgICAgICAgbG9hZGVkKGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgIGlmICghaXNfYWpheCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQub24oJ3dvb192YXJpYXRpb25fc3dhdGNoZXNfaW5pdCcsIGZ1bmN0aW9uIChldmVudCwgb2JqZWN0LCBwcm9kdWN0X3ZhcmlhdGlvbnMpIHtcblxuICAgICAgICAgICAgICAgICAgICBvYmplY3QuX2dlbmVyYXRlZCA9IHByb2R1Y3RfdmFyaWF0aW9ucy5yZWR1Y2UoKG9iaiwgdmFyaWF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh2YXJpYXRpb24uYXR0cmlidXRlcykubWFwKChhdHRyaWJ1dGVfbmFtZSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvYmpbYXR0cmlidXRlX25hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialthdHRyaWJ1dGVfbmFtZV0gPSBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YXJpYXRpb24uYXR0cmlidXRlc1thdHRyaWJ1dGVfbmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqW2F0dHJpYnV0ZV9uYW1lXS5wdXNoKHZhcmlhdGlvbi5hdHRyaWJ1dGVzW2F0dHJpYnV0ZV9uYW1lXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgICAgICAgICAgfSwge30pO1xuXG4gICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpICAgICAgICAgICAgICAgPSAkKHRoaXMpLmZpbmQoJ2xpJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXR0cmlidXRlICAgICAgICA9ICQodGhpcykuZGF0YSgnYXR0cmlidXRlX25hbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGVfdmFsdWVzID0gb2JqZWN0Ll9nZW5lcmF0ZWRbYXR0cmlidXRlXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGF0dHJpYnV0ZV92YWx1ZSA9ICQodGhpcykuYXR0cignZGF0YS12YWx1ZScpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFfLmlzRW1wdHkoYXR0cmlidXRlX3ZhbHVlcykgJiYgIWF0dHJpYnV0ZV92YWx1ZXMuaW5jbHVkZXMoYXR0cmlidXRlX3ZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdkaXNhYmxlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyQodGhpcykuc3RvcCgpLmZhZGVPdXQoJ2Zhc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXNldChpc19hamF4LCBoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm9uKCdyZXNldF9kYXRhJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsaSA9ICQodGhpcykuZmluZCgnbGknKTtcbiAgICAgICAgICAgICAgICAgICAgbGkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzX2FqYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCBkaXNhYmxlZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJCh0aGlzKS5zdG9wKCkuZmFkZUluKCdmYXN0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ3JhZGlvLXZhcmlhYmxlLWl0ZW0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGUoaXNfYWpheCwgaGlkZGVuX2JlaGF2aW91cikge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5vbignd29vY29tbWVyY2VfdmFyaWF0aW9uX2hhc19jaGFuZ2VkJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzX2FqYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zICA9ICQodGhpcykuc2libGluZ3MoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50ICA9ICQodGhpcykuc2libGluZ3MoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb246c2VsZWN0ZWQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcSAgICAgICA9ICQodGhpcykuc2libGluZ3MoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKS5lcSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSAgICAgICA9ICQodGhpcykuZmluZCgnbGknKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RzICA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3IgQXZhZGEgRklYXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb246c2VsZWN0ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcSAgICAgID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJykuZXEoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykudmFsKCkgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdHMucHVzaCgkKHRoaXMpLnZhbCgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBjdXJyZW50ID8gY3VycmVudC52YWwoKSA6IGVxLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBfLmRlbGF5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gJCh0aGlzKS5hdHRyKCdkYXRhLXZhbHVlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkIGRpc2FibGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyQodGhpcykuc3RvcCgpLmZhZGVJbignZmFzdCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5oYXNDbGFzcygncmFkaW8tdmFyaWFibGUtaXRlbScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpLnByb3AoJ2NoZWNrZWQnLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBXaXRoT3V0IEFqYXggVXBkYXRlXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm9uKCd3b29jb21tZXJjZV91cGRhdGVfdmFyaWF0aW9uX3ZhbHVlcycsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKCkge1xuXG4gICAgICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50ICA9ICQodGhpcykuc2libGluZ3MoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb246c2VsZWN0ZWQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVxICAgICAgID0gJCh0aGlzKS5zaWJsaW5ncygnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpLmVxKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGkgICAgICAgPSAkKHRoaXMpLmZpbmQoJ2xpJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RzICA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEZvciBBdmFkYSBGSVhcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbjpzZWxlY3RlZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXEgICAgICA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpLmVxKDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnZhbCgpICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdHMucHVzaCgkKHRoaXMpLnZhbCgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCA9IGN1cnJlbnQgPyBjdXJyZW50LnZhbCgpIDogZXEudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIF8uZGVsYXkoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gJCh0aGlzKS5hdHRyKCdkYXRhLXZhbHVlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnc2VsZWN0ZWQgZGlzYWJsZWQnKS5hZGRDbGFzcygnZGlzYWJsZWQnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJCh0aGlzKS5zdG9wKCkuZmFkZUluKCdmYXN0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF8uY29udGFpbnMoc2VsZWN0cywgdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2Rpc2FibGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnc2VsZWN0ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnY2hlY2tlZCcsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyQodGhpcykuc3RvcCgpLmZhZGVPdXQoJ2Zhc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5oYXNDbGFzcygncmFkaW8tdmFyaWFibGUtaXRlbScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnZGlzYWJsZWQnLCB0cnVlKS5wcm9wKCdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgKiBqUXVlcnlcbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgKi9cblxuICAgICQuZm5bJ1dvb1ZhcmlhdGlvblN3YXRjaGVzJ10gPSBXb29WYXJpYXRpb25Td2F0Y2hlcy5falF1ZXJ5SW50ZXJmYWNlO1xuICAgICQuZm5bJ1dvb1ZhcmlhdGlvblN3YXRjaGVzJ10uQ29uc3RydWN0b3IgPSBXb29WYXJpYXRpb25Td2F0Y2hlcztcbiAgICAkLmZuWydXb29WYXJpYXRpb25Td2F0Y2hlcyddLm5vQ29uZmxpY3QgID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAkLmZuWydXb29WYXJpYXRpb25Td2F0Y2hlcyddID0gJC5mblsnV29vVmFyaWF0aW9uU3dhdGNoZXMnXTtcbiAgICAgICAgcmV0dXJuIFdvb1ZhcmlhdGlvblN3YXRjaGVzLl9qUXVlcnlJbnRlcmZhY2VcbiAgICB9XG5cbiAgICByZXR1cm4gV29vVmFyaWF0aW9uU3dhdGNoZXM7XG5cbn0pKGpRdWVyeSk7XG5cbmV4cG9ydCBkZWZhdWx0IFdvb1ZhcmlhdGlvblN3YXRjaGVzXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHNyYy9qcy9Xb29WYXJpYXRpb25Td2F0Y2hlcy5qcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7OztBQzdEQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExQkE7QUFBQTtBQUFBO0FBaUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcElBO0FBQUE7QUFBQTtBQXVJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWpMQTtBQUFBO0FBQUE7QUFvTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBek1BO0FBQUE7QUFBQTtBQTRNQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWhUQTtBQUFBO0FBQUE7QUE0QkE7QUFDQTtBQUNBO0FBQ0E7QUEvQkE7QUFDQTtBQURBO0FBQUE7QUFDQTtBQWtUQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0EiLCJzb3VyY2VSb290IjoiIn0=
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.30
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-7-15 20:08:29
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
124
  this.is_ajax_variation = !this.product_variations;
125
  this.product_id = this._element.data('product_id');
126
  this.hidden_behaviour = $('body').hasClass('woo-variation-swatches-attribute-behavior-hide');
127
+ this.is_mobile = $('body').hasClass('woo-variation-swatches-on-mobile');
128
 
129
  // Call
130
  this.init(this.is_ajax_variation, this.hidden_behaviour);
146
  var select = $(this).siblings('select.woo-variation-raw-select');
147
  var li = $(this).find('li');
148
  var reselect_clear = $(this).hasClass('reselect-clear');
149
+ var is_mobile = $('body').hasClass('woo-variation-swatches-on-mobile');
150
+
151
+ $(this).parent().addClass('woo-variation-items-wrapper');
152
 
153
  // For Avada FIX
154
  if (select.length < 1) {
162
  var value = $(this).data('value');
163
  select.val(value).trigger('change');
164
  select.trigger('click');
165
+
166
  select.trigger('focusin');
167
+
168
+ if (is_mobile) {
169
+ select.trigger('touchstart');
170
+ }
171
 
172
  $(this).trigger('focus'); // Mobile tooltip
173
  });
177
  e.stopPropagation();
178
  select.val('').trigger('change');
179
  select.trigger('click');
180
+
181
  select.trigger('focusin');
182
+
183
+ if (is_mobile) {
184
+ select.trigger('touchstart');
185
+ }
186
 
187
  $(this).trigger('focus'); // Mobile tooltip
188
  });
213
 
214
  select.trigger('click');
215
  select.trigger('focusin');
216
+ if (is_mobile) {
217
+ select.trigger('touchstart');
218
+ }
219
  });
220
  } else {
221
  $(this).on('touchstart click', 'li:not(.radio-variable-item)', function (e) {
225
  select.val(value).trigger('change');
226
  select.trigger('click');
227
  select.trigger('focusin');
228
+ if (is_mobile) {
229
+ select.trigger('touchstart');
230
+ }
231
 
232
  $(this).trigger('focus'); // Mobile tooltip
233
  });
241
  select.val(value).trigger('change');
242
  select.trigger('click');
243
  select.trigger('focusin');
244
+
245
+ if (is_mobile) {
246
+ select.trigger('touchstart');
247
+ }
248
 
249
  // Radio
250
  $(this).parent('li.radio-variable-item').removeClass('selected disabled').addClass('selected');
471
  /***/ })
472
 
473
  /******/ });
474
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2Zyb250ZW5kLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDZjNjQ0MzQwMjYyZDA4NmQwOWNhIiwid2VicGFjazovLy9zcmMvanMvZnJvbnRlbmQuanMiLCJ3ZWJwYWNrOi8vL3NyYy9qcy9Xb29WYXJpYXRpb25Td2F0Y2hlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA5KTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCA2YzY0NDM0MDI2MmQwODZkMDljYSIsImpRdWVyeSgkID0+IHtcbiAgICBpbXBvcnQoJy4vV29vVmFyaWF0aW9uU3dhdGNoZXMnKS50aGVuKCgpID0+IHtcbiAgICAgICAgLy8gSW5pdCBvbiBBamF4IFBvcHVwIDopXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKCd3Y192YXJpYXRpb25fZm9ybScsICcudmFyaWF0aW9uc19mb3JtJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJCh0aGlzKS5Xb29WYXJpYXRpb25Td2F0Y2hlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTdXBwb3J0IGZvciBKZXRwYWNrJ3MgSW5maW5pdGUgU2Nyb2xsLFxuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCdwb3N0LWxvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAkKCcudmFyaWF0aW9uc19mb3JtJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS53Y192YXJpYXRpb25fZm9ybSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG5cbiAgICB9KTtcbn0pOyAgLy8gZW5kIG9mIGpxdWVyeSBtYWluIHdyYXBwZXJcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL2Zyb250ZW5kLmpzIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV29vQ29tbWVyY2UgVmFyaWF0aW9uIENoYW5nZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBXb29WYXJpYXRpb25Td2F0Y2hlcyA9ICgoJCkgPT4ge1xuXG4gICAgY29uc3QgRGVmYXVsdCA9IHt9O1xuXG4gICAgY2xhc3MgV29vVmFyaWF0aW9uU3dhdGNoZXMge1xuXG4gICAgICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQsIGNvbmZpZykge1xuXG4gICAgICAgICAgICAvLyBBc3NpZ25cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgICAgICAgICAgID0gJChlbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZyAgICAgICAgICAgID0gJC5leHRlbmQoe30sIERlZmF1bHQsIGNvbmZpZyk7XG4gICAgICAgICAgICB0aGlzLl9nZW5lcmF0ZWQgICAgICAgICA9IHt9O1xuICAgICAgICAgICAgdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnMgPSB0aGlzLl9lbGVtZW50LmRhdGEoJ3Byb2R1Y3RfdmFyaWF0aW9ucycpO1xuICAgICAgICAgICAgdGhpcy5pc19hamF4X3ZhcmlhdGlvbiAgPSAhdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnM7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RfaWQgICAgICAgICA9IHRoaXMuX2VsZW1lbnQuZGF0YSgncHJvZHVjdF9pZCcpO1xuICAgICAgICAgICAgdGhpcy5oaWRkZW5fYmVoYXZpb3VyICAgPSAkKCdib2R5JykuaGFzQ2xhc3MoJ3dvby12YXJpYXRpb24tc3dhdGNoZXMtYXR0cmlidXRlLWJlaGF2aW9yLWhpZGUnKTtcbiAgICAgICAgICAgIHRoaXMuaXNfbW9iaWxlICAgICAgICAgID0gJCgnYm9keScpLmhhc0NsYXNzKCd3b28tdmFyaWF0aW9uLXN3YXRjaGVzLW9uLW1vYmlsZScpO1xuXG4gICAgICAgICAgICAvLyBDYWxsXG4gICAgICAgICAgICB0aGlzLmluaXQodGhpcy5pc19hamF4X3ZhcmlhdGlvbiwgdGhpcy5oaWRkZW5fYmVoYXZpb3VyKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkKHRoaXMuaXNfYWpheF92YXJpYXRpb24sIHRoaXMuaGlkZGVuX2JlaGF2aW91cik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSh0aGlzLmlzX2FqYXhfdmFyaWF0aW9uLCB0aGlzLmhpZGRlbl9iZWhhdmlvdXIpO1xuICAgICAgICAgICAgdGhpcy5yZXNldCh0aGlzLmlzX2FqYXhfdmFyaWF0aW9uLCB0aGlzLmhpZGRlbl9iZWhhdmlvdXIpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyXG4gICAgICAgICAgICAkKGRvY3VtZW50KS50cmlnZ2VyKCd3b29fdmFyaWF0aW9uX3N3YXRjaGVzJywgW3RoaXMuX2VsZW1lbnRdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBfalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgbmV3IFdvb1ZhcmlhdGlvblN3YXRjaGVzKHRoaXMsIGNvbmZpZylcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpbml0KGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcblxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoaSwgZWwpIHtcblxuICAgICAgICAgICAgICAgIGxldCBzZWxlY3QgICAgICAgICA9ICQodGhpcykuc2libGluZ3MoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKTtcbiAgICAgICAgICAgICAgICBsZXQgbGkgICAgICAgICAgICAgPSAkKHRoaXMpLmZpbmQoJ2xpJyk7XG4gICAgICAgICAgICAgICAgbGV0IHJlc2VsZWN0X2NsZWFyID0gJCh0aGlzKS5oYXNDbGFzcygncmVzZWxlY3QtY2xlYXInKTtcbiAgICAgICAgICAgICAgICBsZXQgaXNfbW9iaWxlICAgICAgPSAkKCdib2R5JykuaGFzQ2xhc3MoJ3dvby12YXJpYXRpb24tc3dhdGNoZXMtb24tbW9iaWxlJyk7XG5cbiAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgpLmFkZENsYXNzKCd3b28tdmFyaWF0aW9uLWl0ZW1zLXdyYXBwZXInKTtcblxuICAgICAgICAgICAgICAgIC8vIEZvciBBdmFkYSBGSVhcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0Jyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHJlc2VsZWN0X2NsZWFyKSB7XG4gICAgICAgICAgICAgICAgICAgICQodGhpcykub24oJ3RvdWNoc3RhcnQgY2xpY2snLCAnbGk6bm90KC5zZWxlY3RlZCk6bm90KC5yYWRpby12YXJpYWJsZS1pdGVtKScsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gJCh0aGlzKS5kYXRhKCd2YWx1ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnZhbCh2YWx1ZSkudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignY2xpY2snKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2ZvY3VzaW4nKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzX21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCd0b3VjaHN0YXJ0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudHJpZ2dlcignZm9jdXMnKTsgLy8gTW9iaWxlIHRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vbigndG91Y2hzdGFydCBjbGljaycsICdsaS5zZWxlY3RlZDpub3QoLnJhZGlvLXZhcmlhYmxlLWl0ZW0pJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudmFsKCcnKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdjbGljaycpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCdmb2N1cycpOyAvLyBNb2JpbGUgdG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBSQURJT1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCd0b3VjaHN0YXJ0IGNsaWNrJywgJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCdjaGFuZ2UnLCAnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gJCh0aGlzKS52YWwoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucGFyZW50KCcucmFkaW8tdmFyaWFibGUtaXRlbScpLmhhc0NsYXNzKCdzZWxlY3RlZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnZhbCgnJykudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucHJvcCgnY2hlY2tlZCcsIGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudmFsKHZhbHVlKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzX21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCd0b3VjaHN0YXJ0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vbigndG91Y2hzdGFydCBjbGljaycsICdsaTpub3QoLnJhZGlvLXZhcmlhYmxlLWl0ZW0pJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLmRhdGEoJ3ZhbHVlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudmFsKHZhbHVlKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdjbGljaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2ZvY3VzaW4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcigndG91Y2hzdGFydCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2ZvY3VzJyk7IC8vIE1vYmlsZSB0b29sdGlwXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFJhZGlvXG4gICAgICAgICAgICAgICAgICAgICQodGhpcykub24oJ2NoYW5nZScsICdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gJCh0aGlzKS52YWwoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnZhbCh2YWx1ZSkudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignY2xpY2snKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdmb2N1c2luJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcigndG91Y2hzdGFydCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSYWRpb1xuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoJ2xpLnJhZGlvLXZhcmlhYmxlLWl0ZW0nKS5yZW1vdmVDbGFzcygnc2VsZWN0ZWQgZGlzYWJsZWQnKS5hZGRDbGFzcygnc2VsZWN0ZWQnKVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgXy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC50cmlnZ2VyKCd3b29fdmFyaWF0aW9uX3N3YXRjaGVzX2luaXQnLCBbdGhpcywgdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnNdKVxuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnRyaWdnZXIoJ3dvb192YXJpYXRpb25fc3dhdGNoZXNfbG9hZGVkJywgW3RoaXMuX2VsZW1lbnQsIHRoaXMucHJvZHVjdF92YXJpYXRpb25zXSlcbiAgICAgICAgICAgIH0sIDIpXG4gICAgICAgIH1cblxuICAgICAgICBsb2FkZWQoaXNfYWpheCwgaGlkZGVuX2JlaGF2aW91cikge1xuICAgICAgICAgICAgaWYgKCFpc19hamF4KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5vbignd29vX3ZhcmlhdGlvbl9zd2F0Y2hlc19pbml0JywgZnVuY3Rpb24gKGV2ZW50LCBvYmplY3QsIHByb2R1Y3RfdmFyaWF0aW9ucykge1xuXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC5fZ2VuZXJhdGVkID0gcHJvZHVjdF92YXJpYXRpb25zLnJlZHVjZSgob2JqLCB2YXJpYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhcmlhdGlvbi5hdHRyaWJ1dGVzKS5tYXAoKGF0dHJpYnV0ZV9uYW1lKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9ialthdHRyaWJ1dGVfbmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqW2F0dHJpYnV0ZV9uYW1lXSA9IFtdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhcmlhdGlvbi5hdHRyaWJ1dGVzW2F0dHJpYnV0ZV9uYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmpbYXR0cmlidXRlX25hbWVdLnB1c2godmFyaWF0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlX25hbWVdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGkgICAgICAgICAgICAgICA9ICQodGhpcykuZmluZCgnbGknKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGUgICAgICAgID0gJCh0aGlzKS5kYXRhKCdhdHRyaWJ1dGVfbmFtZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGF0dHJpYnV0ZV92YWx1ZXMgPSBvYmplY3QuX2dlbmVyYXRlZFthdHRyaWJ1dGVdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXR0cmlidXRlX3ZhbHVlID0gJCh0aGlzKS5hdHRyKCdkYXRhLXZhbHVlJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIV8uaXNFbXB0eShhdHRyaWJ1dGVfdmFsdWVzKSAmJiAhYXR0cmlidXRlX3ZhbHVlcy5pbmNsdWRlcyhhdHRyaWJ1dGVfdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2Rpc2FibGVkJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJCh0aGlzKS5zdG9wKCkuZmFkZU91dCgnZmFzdCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ3JhZGlvLXZhcmlhYmxlLWl0ZW0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycpLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSkucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlc2V0KGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQub24oJ3Jlc2V0X2RhdGEnLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ3VsLnZhcmlhYmxlLWl0ZW1zLXdyYXBwZXInKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxpID0gJCh0aGlzKS5maW5kKCdsaScpO1xuICAgICAgICAgICAgICAgICAgICBsaS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNfYWpheCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkIGRpc2FibGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8kKHRoaXMpLnN0b3AoKS5mYWRlSW4oJ2Zhc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ3JhZGlvLXZhcmlhYmxlLWl0ZW0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSkucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5oYXNDbGFzcygncmFkaW8tdmFyaWFibGUtaXRlbScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVwZGF0ZShpc19hamF4LCBoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm9uKCd3b29jb21tZXJjZV92YXJpYXRpb25faGFzX2NoYW5nZWQnLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNfYWpheCkge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ3VsLnZhcmlhYmxlLWl0ZW1zLXdyYXBwZXInKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgID0gJCh0aGlzKS5zaWJsaW5ncygnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgID0gJCh0aGlzKS5zaWJsaW5ncygnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbjpzZWxlY3RlZCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxICAgICAgID0gJCh0aGlzKS5zaWJsaW5ncygnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpLmVxKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpICAgICAgID0gJCh0aGlzKS5maW5kKCdsaScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdHMgID0gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBBdmFkYSBGSVhcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbjpzZWxlY3RlZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxICAgICAgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKS5lcSgxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS52YWwoKSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0cy5wdXNoKCQodGhpcykudmFsKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCA9IGN1cnJlbnQgPyBjdXJyZW50LnZhbCgpIDogZXEudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIF8uZGVsYXkoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtdmFsdWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnc2VsZWN0ZWQgZGlzYWJsZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJCh0aGlzKS5zdG9wKCkuZmFkZUluKCdmYXN0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnc2VsZWN0ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSkucHJvcCgnY2hlY2tlZCcsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIFdpdGhPdXQgQWpheCBVcGRhdGVcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQub24oJ3dvb2NvbW1lcmNlX3VwZGF0ZV92YXJpYXRpb25fdmFsdWVzJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkID0gJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zICA9ICQodGhpcykuc2libGluZ3MoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgID0gJCh0aGlzKS5zaWJsaW5ncygnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbjpzZWxlY3RlZCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXEgICAgICAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJykuZXEoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSAgICAgICA9ICQodGhpcykuZmluZCgnbGknKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdHMgID0gW107XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yIEF2YWRhIEZJWFxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uOnNlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcSAgICAgID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJykuZXEoMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykudmFsKCkgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0cy5wdXNoKCQodGhpcykudmFsKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkID0gY3VycmVudCA/IGN1cnJlbnQudmFsKCkgOiBlcS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgXy5kZWxheShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtdmFsdWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCBkaXNhYmxlZCcpLmFkZENsYXNzKCdkaXNhYmxlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8kKHRoaXMpLnN0b3AoKS5mYWRlSW4oJ2Zhc3QnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXy5jb250YWlucyhzZWxlY3RzLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnZGlzYWJsZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdzZWxlY3RlZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ3JhZGlvLXZhcmlhYmxlLWl0ZW0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdjaGVja2VkJywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJCh0aGlzKS5zdG9wKCkuZmFkZU91dCgnZmFzdCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGpRdWVyeVxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqL1xuXG4gICAgJC5mblsnV29vVmFyaWF0aW9uU3dhdGNoZXMnXSA9IFdvb1ZhcmlhdGlvblN3YXRjaGVzLl9qUXVlcnlJbnRlcmZhY2U7XG4gICAgJC5mblsnV29vVmFyaWF0aW9uU3dhdGNoZXMnXS5Db25zdHJ1Y3RvciA9IFdvb1ZhcmlhdGlvblN3YXRjaGVzO1xuICAgICQuZm5bJ1dvb1ZhcmlhdGlvblN3YXRjaGVzJ10ubm9Db25mbGljdCAgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICQuZm5bJ1dvb1ZhcmlhdGlvblN3YXRjaGVzJ10gPSAkLmZuWydXb29WYXJpYXRpb25Td2F0Y2hlcyddO1xuICAgICAgICByZXR1cm4gV29vVmFyaWF0aW9uU3dhdGNoZXMuX2pRdWVyeUludGVyZmFjZVxuICAgIH1cblxuICAgIHJldHVybiBXb29WYXJpYXRpb25Td2F0Y2hlcztcblxufSkoalF1ZXJ5KTtcblxuZXhwb3J0IGRlZmF1bHQgV29vVmFyaWF0aW9uU3dhdGNoZXNcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL1dvb1ZhcmlhdGlvblN3YXRjaGVzLmpzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FDN0RBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBM0JBO0FBQUE7QUFBQTtBQWtDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXZKQTtBQUFBO0FBQUE7QUEwSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFwTUE7QUFBQTtBQUFBO0FBdU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVOQTtBQUFBO0FBQUE7QUErTkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFuVUE7QUFBQTtBQUFBO0FBNkJBO0FBQ0E7QUFDQTtBQUNBO0FBaENBO0FBQ0E7QUFEQTtBQUFBO0FBQ0E7QUFxVUE7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBIiwic291cmNlUm9vdCI6IiJ9
assets/js/frontend.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){function i(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,i),n.l=!0,n.exports}var e={};i.m=t,i.c=e,i.d=function(t,e,a){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:a})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=9)}({10:function(t,i,e){jQuery(function(t){Promise.resolve().then(function(){return e(11)}).then(function(){t(document).on("wc_variation_form",".variations_form",function(){t(this).WooVariationSwatches()}),t(document.body).on("post-load",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})})})})},11:function(t,i,e){"use strict";function a(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,i){for(var e=0;e<i.length;e++){var a=i[e];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(i,e,a){return e&&t(i.prototype,e),a&&t(i,a),i}}(),r=function(t){var i={},e=function(){function e(n,r){a(this,e),this._element=t(n),this._config=t.extend({},i,r),this._generated={},this.product_variations=this._element.data("product_variations"),this.is_ajax_variation=!this.product_variations,this.product_id=this._element.data("product_id"),this.hidden_behaviour=t("body").hasClass("woo-variation-swatches-attribute-behavior-hide"),this.init(this.is_ajax_variation,this.hidden_behaviour),this.loaded(this.is_ajax_variation,this.hidden_behaviour),this.update(this.is_ajax_variation,this.hidden_behaviour),this.reset(this.is_ajax_variation,this.hidden_behaviour),t(document).trigger("woo_variation_swatches",[this._element])}return n(e,[{key:"init",value:function(i,e){var a=this;this._element.find("ul.variable-items-wrapper").each(function(i,e){var a=t(this).siblings("select.woo-variation-raw-select"),n=(t(this).find("li"),t(this).hasClass("reselect-clear"));a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select")),n?(t(this).on("touchstart click","li:not(.selected):not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),a.trigger("touchstart"),t(this).trigger("focus")}),t(this).on("touchstart click","li.selected:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation(),a.val("").trigger("change"),a.trigger("click"),a.trigger("focusin"),a.trigger("touchstart"),t(this).trigger("focus")}),t(this).on("touchstart click","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation(),t(this).trigger("change")}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){var e=this;i.preventDefault(),i.stopPropagation();var n=t(this).val();t(this).parent(".radio-variable-item").hasClass("selected")?(a.val("").trigger("change"),_.delay(function(){t(e).prop("checked",!1)},1)):a.val(n).trigger("change"),a.trigger("click"),a.trigger("focusin"),a.trigger("touchstart")})):(t(this).on("touchstart click","li:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),a.trigger("touchstart"),t(this).trigger("focus")}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).val();a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),a.trigger("touchstart"),t(this).parent("li.radio-variable-item").removeClass("selected disabled").addClass("selected")}))}),_.delay(function(){a._element.trigger("woo_variation_swatches_init",[a,a.product_variations]),t(document).trigger("woo_variation_swatches_loaded",[a._element,a.product_variations])},2)}},{key:"loaded",value:function(i,e){i||this._element.on("woo_variation_swatches_init",function(i,e,a){e._generated=a.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&t[e].push(i.attributes[e])}),t},{}),t(this).find("ul.variable-items-wrapper").each(function(){var i=t(this).find("li"),a=t(this).data("attribute_name"),n=e._generated[a];i.each(function(){var i=t(this).attr("data-value");_.isEmpty(n)||n.includes(i)||(t(this).removeClass("selected"),t(this).addClass("disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1))})})})}},{key:"reset",value:function(i,e){this._element.on("reset_data",function(e){t(this).find("ul.variable-items-wrapper").each(function(){t(this).find("li").each(function(){i?t(this).hasClass("radio-variable-item"):(t(this).removeClass("selected disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!1))})})})}},{key:"update",value:function(i,e){this._element.on("woocommerce_variation_has_changed",function(e){i&&t(this).find("ul.variable-items-wrapper").each(function(){var i="",e=t(this).siblings("select.woo-variation-raw-select").find("option"),a=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),n=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),r=t(this).find("li"),o=[];e.length<1&&(e=t(this).parent().find("select.woo-variation-raw-select").find("option"),a=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),n=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),e.each(function(){""!==t(this).val()&&(o.push(t(this).val()),i=a?a.val():n.val())}),_.delay(function(){r.each(function(){var e=t(this).attr("data-value");t(this).removeClass("selected disabled"),e===i&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!0))})},1)})}),this._element.on("woocommerce_update_variation_values",function(i){t(this).find("ul.variable-items-wrapper").each(function(){var i="",e=t(this).siblings("select.woo-variation-raw-select").find("option"),a=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),n=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),r=t(this).find("li"),o=[];e.length<1&&(e=t(this).parent().find("select.woo-variation-raw-select").find("option"),a=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),n=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),e.each(function(){""!==t(this).val()&&(o.push(t(this).val()),i=a?a.val():n.val())}),_.delay(function(){r.each(function(){var e=t(this).attr("data-value");t(this).removeClass("selected disabled").addClass("disabled"),_.contains(o,e)?(t(this).removeClass("disabled"),t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1),e===i&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("checked",!0))):t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1)})},1)})})}}],[{key:"_jQueryInterface",value:function(t){return this.each(function(){new e(this,t)})}}]),e}();return t.fn.WooVariationSwatches=e._jQueryInterface,t.fn.WooVariationSwatches.Constructor=e,t.fn.WooVariationSwatches.noConflict=function(){return t.fn.WooVariationSwatches=t.fn.WooVariationSwatches,e._jQueryInterface},e}(jQuery);i.default=r},9:function(t,i,e){t.exports=e(10)}});
1
+ !function(t){function i(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,i),n.l=!0,n.exports}var e={};i.m=t,i.c=e,i.d=function(t,e,a){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:a})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=9)}({10:function(t,i,e){jQuery(function(t){Promise.resolve().then(function(){return e(11)}).then(function(){t(document).on("wc_variation_form",".variations_form",function(){t(this).WooVariationSwatches()}),t(document.body).on("post-load",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})})})})},11:function(t,i,e){"use strict";function a(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,i){for(var e=0;e<i.length;e++){var a=i[e];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(i,e,a){return e&&t(i.prototype,e),a&&t(i,a),i}}(),o=function(t){var i={},e=function(){function e(n,o){a(this,e),this._element=t(n),this._config=t.extend({},i,o),this._generated={},this.product_variations=this._element.data("product_variations"),this.is_ajax_variation=!this.product_variations,this.product_id=this._element.data("product_id"),this.hidden_behaviour=t("body").hasClass("woo-variation-swatches-attribute-behavior-hide"),this.is_mobile=t("body").hasClass("woo-variation-swatches-on-mobile"),this.init(this.is_ajax_variation,this.hidden_behaviour),this.loaded(this.is_ajax_variation,this.hidden_behaviour),this.update(this.is_ajax_variation,this.hidden_behaviour),this.reset(this.is_ajax_variation,this.hidden_behaviour),t(document).trigger("woo_variation_swatches",[this._element])}return n(e,[{key:"init",value:function(i,e){var a=this;this._element.find("ul.variable-items-wrapper").each(function(i,e){var a=t(this).siblings("select.woo-variation-raw-select"),n=(t(this).find("li"),t(this).hasClass("reselect-clear")),o=t("body").hasClass("woo-variation-swatches-on-mobile");t(this).parent().addClass("woo-variation-items-wrapper"),a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select")),n?(t(this).on("touchstart click","li:not(.selected):not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart"),t(this).trigger("focus")}),t(this).on("touchstart click","li.selected:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation(),a.val("").trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart"),t(this).trigger("focus")}),t(this).on("touchstart click","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation(),t(this).trigger("change")}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){var e=this;i.preventDefault(),i.stopPropagation();var n=t(this).val();t(this).parent(".radio-variable-item").hasClass("selected")?(a.val("").trigger("change"),_.delay(function(){t(e).prop("checked",!1)},1)):a.val(n).trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart")})):(t(this).on("touchstart click","li:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart"),t(this).trigger("focus")}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).val();a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart"),t(this).parent("li.radio-variable-item").removeClass("selected disabled").addClass("selected")}))}),_.delay(function(){a._element.trigger("woo_variation_swatches_init",[a,a.product_variations]),t(document).trigger("woo_variation_swatches_loaded",[a._element,a.product_variations])},2)}},{key:"loaded",value:function(i,e){i||this._element.on("woo_variation_swatches_init",function(i,e,a){e._generated=a.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&t[e].push(i.attributes[e])}),t},{}),t(this).find("ul.variable-items-wrapper").each(function(){var i=t(this).find("li"),a=t(this).data("attribute_name"),n=e._generated[a];i.each(function(){var i=t(this).attr("data-value");_.isEmpty(n)||n.includes(i)||(t(this).removeClass("selected"),t(this).addClass("disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1))})})})}},{key:"reset",value:function(i,e){this._element.on("reset_data",function(e){t(this).find("ul.variable-items-wrapper").each(function(){t(this).find("li").each(function(){i?t(this).hasClass("radio-variable-item"):(t(this).removeClass("selected disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!1))})})})}},{key:"update",value:function(i,e){this._element.on("woocommerce_variation_has_changed",function(e){i&&t(this).find("ul.variable-items-wrapper").each(function(){var i="",e=t(this).siblings("select.woo-variation-raw-select").find("option"),a=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),n=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),o=t(this).find("li"),r=[];e.length<1&&(e=t(this).parent().find("select.woo-variation-raw-select").find("option"),a=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),n=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),e.each(function(){""!==t(this).val()&&(r.push(t(this).val()),i=a?a.val():n.val())}),_.delay(function(){o.each(function(){var e=t(this).attr("data-value");t(this).removeClass("selected disabled"),e===i&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!0))})},1)})}),this._element.on("woocommerce_update_variation_values",function(i){t(this).find("ul.variable-items-wrapper").each(function(){var i="",e=t(this).siblings("select.woo-variation-raw-select").find("option"),a=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),n=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),o=t(this).find("li"),r=[];e.length<1&&(e=t(this).parent().find("select.woo-variation-raw-select").find("option"),a=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),n=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),e.each(function(){""!==t(this).val()&&(r.push(t(this).val()),i=a?a.val():n.val())}),_.delay(function(){o.each(function(){var e=t(this).attr("data-value");t(this).removeClass("selected disabled").addClass("disabled"),_.contains(r,e)?(t(this).removeClass("disabled"),t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1),e===i&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("checked",!0))):t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1)})},1)})})}}],[{key:"_jQueryInterface",value:function(t){return this.each(function(){new e(this,t)})}}]),e}();return t.fn.WooVariationSwatches=e._jQueryInterface,t.fn.WooVariationSwatches.Constructor=e,t.fn.WooVariationSwatches.noConflict=function(){return t.fn.WooVariationSwatches=t.fn.WooVariationSwatches,e._jQueryInterface},e}(jQuery);i.default=o},9:function(t,i,e){t.exports=e(10)}});
images/archive-preview.png CHANGED
Binary file
images/style-preview.png CHANGED
Binary file
includes/functions.php CHANGED
@@ -2,6 +2,21 @@
2
 
3
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  //-------------------------------------------------------------------------------
6
  // Get All Image Sizes
7
  //-------------------------------------------------------------------------------
@@ -181,10 +196,10 @@
181
  'id' => 'threshold',
182
  'type' => 'number',
183
  'title' => esc_html__( 'Ajax variation threshold', 'woo-variation-swatches' ),
184
- 'desc' => __( 'Control the number of enable ajax variation threshold, If you set <code>1</code> all product variation will be load via ajax. Default value is <code>30</code>, <br><span style="color: red">Note: Product variation loaded via ajax doesn\'t follow attribute behaviour.</span>', 'woo-variation-swatches' ),
185
  'default' => 30,
186
  'min' => 1,
187
- 'max' => 40,
188
  ),
189
  array(
190
  'id' => 'attribute-behavior',
@@ -248,7 +263,7 @@
248
  'fields' => apply_filters( 'wvs_pro_style_setting_fields', array(
249
  array(
250
  'pro' => TRUE,
251
- 'width' => '45%',
252
  'screen_shot' => woo_variation_swatches()->images_uri( 'style-preview.png' ),
253
  'product_link' => woo_variation_swatches()->get_pro_link( 'style-tab' ),
254
  ),
@@ -266,7 +281,7 @@
266
  'fields' => apply_filters( 'wvs_pro_archive_setting_fields', array(
267
  array(
268
  'pro' => TRUE,
269
- 'width' => '45%',
270
  'screen_shot' => woo_variation_swatches()->images_uri( 'archive-preview.png' ),
271
  'product_link' => woo_variation_swatches()->get_pro_link( 'archive-tab' ),
272
  ),
@@ -914,6 +929,12 @@
914
 
915
  if ( ! function_exists( 'wvs_variation_attribute_options_html' ) ):
916
  function wvs_variation_attribute_options_html( $html, $args ) {
 
 
 
 
 
 
917
  ob_start();
918
 
919
  $available_type_keys = array_keys( wvs_available_attributes_types() );
2
 
3
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
4
 
5
+ //-------------------------------------------------------------------------------
6
+ // Detecting IE 11 Browser
7
+ //-------------------------------------------------------------------------------
8
+
9
+ if ( ! function_exists( 'wvs_is_ie11' ) ):
10
+ function wvs_is_ie11() {
11
+ global $is_IE;
12
+ $ua = $_SERVER[ 'HTTP_USER_AGENT' ];
13
+ $is11 = preg_match( "/Trident\/7.0;(.*)rv:11.0/", $ua, $match ) !== FALSE;
14
+
15
+ return $is_IE && $is11;
16
+ //return TRUE;
17
+ }
18
+ endif;
19
+
20
  //-------------------------------------------------------------------------------
21
  // Get All Image Sizes
22
  //-------------------------------------------------------------------------------
196
  'id' => 'threshold',
197
  'type' => 'number',
198
  'title' => esc_html__( 'Ajax variation threshold', 'woo-variation-swatches' ),
199
+ 'desc' => __( 'Control the number of enable ajax variation threshold, If you set <code>1</code> all product variation will be load via ajax. Default value is <code>30</code>, <br><span style="color: red">Note: Product variation loaded via ajax doesn\'t follow attribute behaviour. It\'s recommended to keep this number between 30 - 40.</span>', 'woo-variation-swatches' ),
200
  'default' => 30,
201
  'min' => 1,
202
+ 'max' => 80,
203
  ),
204
  array(
205
  'id' => 'attribute-behavior',
263
  'fields' => apply_filters( 'wvs_pro_style_setting_fields', array(
264
  array(
265
  'pro' => TRUE,
266
+ 'width' => '40%',
267
  'screen_shot' => woo_variation_swatches()->images_uri( 'style-preview.png' ),
268
  'product_link' => woo_variation_swatches()->get_pro_link( 'style-tab' ),
269
  ),
281
  'fields' => apply_filters( 'wvs_pro_archive_setting_fields', array(
282
  array(
283
  'pro' => TRUE,
284
+ 'width' => '44%',
285
  'screen_shot' => woo_variation_swatches()->images_uri( 'archive-preview.png' ),
286
  'product_link' => woo_variation_swatches()->get_pro_link( 'archive-tab' ),
287
  ),
929
 
930
  if ( ! function_exists( 'wvs_variation_attribute_options_html' ) ):
931
  function wvs_variation_attribute_options_html( $html, $args ) {
932
+
933
+ // IE 11 Fallback to default select box
934
+ if ( wvs_is_ie11() ) {
935
+ return $html;
936
+ }
937
+
938
  ob_start();
939
 
940
  $available_type_keys = array_keys( wvs_available_attributes_types() );
includes/hooks.php CHANGED
@@ -1,11 +1,6 @@
1
  <?php
2
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
 
4
- add_action( 'wp_ajax_gwp_live_feed_close', function () {
5
- $id = absint( $_POST[ 'id' ] );
6
- set_transient( "gwp_live_feed_seen_{$id}", TRUE, 1 * WEEK_IN_SECONDS );
7
- } );
8
-
9
  add_action( 'wp_ajax_nopriv_wvs_get_available_variations', 'wvs_get_available_product_variations' );
10
 
11
  add_action( 'wp_ajax_wvs_get_available_variations', 'wvs_get_available_product_variations' );
1
  <?php
2
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
 
 
 
 
 
 
4
  add_action( 'wp_ajax_nopriv_wvs_get_available_variations', 'wvs_get_available_product_variations' );
5
 
6
  add_action( 'wp_ajax_wvs_get_available_variations', 'wvs_get_available_product_variations' );
includes/themes-support.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
+
4
+ if ( ! function_exists( 'wvs_woo_layout_injector_script_override' ) ):
5
+ function wvs_woo_layout_injector_script_override() {
6
+ if ( function_exists( 'sb_et_woo_li_enqueue' ) ) :
7
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
8
+ wp_dequeue_script( 'sb_et_woo_li_js' );
9
+ wp_enqueue_script( 'sb_et_woo_li_js_override', woo_variation_swatches()->assets_uri( "/js/divi_woo_layout_injector{$suffix}.js" ), array( 'jquery' ), woo_variation_swatches()->version(), TRUE );
10
+ endif;
11
+ }
12
+
13
+ add_action( 'wp_enqueue_scripts', 'wvs_woo_layout_injector_script_override', 99999 );
14
+ endif;
15
+
languages/woo-variation-swatches.pot CHANGED
@@ -16,7 +16,7 @@ msgstr ""
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
 
19
- #: ../includes/class-wvs-customizer.php:34, ../woo-variation-swatches.php:476
20
  msgid "WooCommerce Variation Swatches"
21
  msgstr ""
22
 
@@ -24,7 +24,7 @@ msgstr ""
24
  msgid "WooCommerce Variation Swatches Settings"
25
  msgstr ""
26
 
27
- #: ../includes/class-wvs-settings-api.php:82, ../includes/class-wvs-settings-api.php:95, ../includes/functions.php:950
28
  msgid "Swatches Settings"
29
  msgstr ""
30
 
@@ -44,229 +44,229 @@ msgstr ""
44
  msgid "Remove image"
45
  msgstr ""
46
 
47
- #: ../includes/functions.php:28, ../includes/functions.php:293
48
  msgid "Color"
49
  msgstr ""
50
 
51
- #: ../includes/functions.php:34, ../includes/functions.php:302
52
  msgid "Image"
53
  msgstr ""
54
 
55
- #: ../includes/functions.php:40
56
  msgid "Button"
57
  msgstr ""
58
 
59
- #: ../includes/functions.php:133
60
  msgid "Simple"
61
  msgstr ""
62
 
63
- #: ../includes/functions.php:135, ../includes/functions.php:170
64
  msgid "Visual Section"
65
  msgstr ""
66
 
67
- #: ../includes/functions.php:136
68
  msgid "Simple change some visual styles"
69
  msgstr ""
70
 
71
- #: ../includes/functions.php:141
72
  msgid "Enable Tooltip"
73
  msgstr ""
74
 
75
- #: ../includes/functions.php:142
76
  msgid "Enable / Disable plugin default tooltip on each product attribute."
77
  msgstr ""
78
 
79
- #: ../includes/functions.php:148
80
  msgid "Enable Stylesheet"
81
  msgstr ""
82
 
83
- #: ../includes/functions.php:149
84
  msgid "Enable / Disable plugin default stylesheet"
85
  msgstr ""
86
 
87
- #: ../includes/functions.php:155
88
  msgid "Shape style"
89
  msgstr ""
90
 
91
- #: ../includes/functions.php:156
92
  msgid "Attribute Shape Style"
93
  msgstr ""
94
 
95
- #: ../includes/functions.php:158
96
  msgid "Rounded Shape"
97
  msgstr ""
98
 
99
- #: ../includes/functions.php:159
100
  msgid "Squared Shape"
101
  msgstr ""
102
 
103
- #: ../includes/functions.php:168
104
  msgid "Advanced"
105
  msgstr ""
106
 
107
- #: ../includes/functions.php:171
108
  msgid "Advanced change some visual styles"
109
  msgstr ""
110
 
111
- #: ../includes/functions.php:176
112
  msgid "Clear on Reselect"
113
  msgstr ""
114
 
115
- #: ../includes/functions.php:177
116
  msgid "Clear selected attribute on select again"
117
  msgstr ""
118
 
119
- #: ../includes/functions.php:183
120
  msgid "Ajax variation threshold"
121
  msgstr ""
122
 
123
- #: ../includes/functions.php:184
124
- msgid "Control the number of enable ajax variation threshold, If you set <code>1</code> all product variation will be load via ajax. Default value is <code>30</code>, <br><span style=\"color: red\">Note: Product variation loaded via ajax doesn't follow attribute behaviour.</span>"
125
  msgstr ""
126
 
127
- #: ../includes/functions.php:192
128
  msgid "Attribute behavior"
129
  msgstr ""
130
 
131
- #: ../includes/functions.php:193
132
  msgid "Disabled attribute will be hide / blur. <br><span style=\"color: red\">Note: Product variation loaded via ajax doesn't apply this feature.</span>"
133
  msgstr ""
134
 
135
- #: ../includes/functions.php:195
136
  msgid "Blur"
137
  msgstr ""
138
 
139
- #: ../includes/functions.php:196
140
  msgid "Hide"
141
  msgstr ""
142
 
143
- #: ../includes/functions.php:203
144
  msgid "Attribute image size"
145
  msgstr ""
146
 
147
- #: ../includes/functions.php:204
148
  msgid "<span style=\"color: red\">Attribute image size changed by <code>wvs_product_attribute_image_size</code> hook. So this option will not apply any effect.</span>"
149
  msgstr ""
150
 
151
- #: ../includes/functions.php:204
152
  msgstr ""
153
 
154
- #: ../includes/functions.php:211
155
  msgid "Width"
156
  msgstr ""
157
 
158
- #: ../includes/functions.php:212
159
  msgid "Variation item width"
160
  msgstr ""
161
 
162
- #: ../includes/functions.php:221
163
  msgid "Height"
164
  msgstr ""
165
 
166
- #: ../includes/functions.php:222
167
  msgid "Variation item height"
168
  msgstr ""
169
 
170
- #: ../includes/functions.php:231
171
  msgid "Font Size"
172
  msgstr ""
173
 
174
- #: ../includes/functions.php:232
175
  msgid "Single product variation item font size"
176
  msgstr ""
177
 
178
- #: ../includes/functions.php:243
179
  msgid "Style"
180
  msgstr ""
181
 
182
- #: ../includes/functions.php:294
183
  msgid "Choose a color"
184
  msgstr ""
185
 
186
- #: ../includes/functions.php:303, ../woo-variation-swatches.php:296
187
  msgid "Choose an Image"
188
  msgstr ""
189
 
190
- #: ../includes/functions.php:462
191
  msgid "Select terms"
192
  msgstr ""
193
 
194
- #: ../includes/functions.php:473
195
  msgid "Select all"
196
  msgstr ""
197
 
198
- #: ../includes/functions.php:474
199
  msgid "Select none"
200
  msgstr ""
201
 
202
- #: ../includes/functions.php:479
203
  msgid "Add new %s"
204
  msgstr ""
205
 
206
- #: ../includes/functions.php:479, ../includes/functions.php:481
207
  msgid "Add new"
208
  msgstr ""
209
 
210
- #: ../includes/functions.php:640, ../includes/functions.php:712, ../includes/functions.php:785, ../includes/functions.php:856
211
  msgid "Choose an option"
212
  msgstr ""
213
 
214
- #: ../woo-variation-swatches.php:297
215
  msgid "Add Attribute"
216
  msgstr ""
217
 
218
- #: ../woo-variation-swatches.php:298
219
  msgid "Add"
220
  msgstr ""
221
 
222
- #: ../woo-variation-swatches.php:299
223
  msgid "Cancel"
224
  msgstr ""
225
 
226
- #: ../woo-variation-swatches.php:300
227
  msgid "Use Image"
228
  msgstr ""
229
 
230
- #: ../woo-variation-swatches.php:301
231
  msgid "Add Media"
232
  msgstr ""
233
 
234
- #: ../woo-variation-swatches.php:371, ../woo-variation-swatches.php:371
235
  msgid "Read Documentation"
236
  msgstr ""
237
 
238
- #: ../woo-variation-swatches.php:373
239
  msgid "Facing issue?"
240
  msgstr ""
241
 
242
- #: ../woo-variation-swatches.php:373
243
  msgid "Please open a ticket."
244
  msgstr ""
245
 
246
- #: ../woo-variation-swatches.php:388
247
  msgid "Go Pro"
248
  msgstr ""
249
 
250
- #: ../woo-variation-swatches.php:441
251
  msgid "Please check PHP version requirement."
252
  msgstr ""
253
 
254
- #: ../woo-variation-swatches.php:443
255
  msgid "It's required to use latest version of PHP to use <strong>WooCommerce Variation Swatches</strong>."
256
  msgstr ""
257
 
258
- #: ../woo-variation-swatches.php:455
259
  msgid "WooCommerce"
260
  msgstr ""
261
 
262
- #: ../woo-variation-swatches.php:463
263
  msgid "<strong>WooCommerce Variation Swatches</strong> is an add-on of "
264
  msgstr ""
265
 
266
- #: ../woo-variation-swatches.php:476
267
  msgid "Currently, you are using older version of WooCommerce. It's recommended to use latest version of WooCommerce to work with %s."
268
  msgstr ""
269
 
270
- #: ../woo-variation-swatches.php:576
271
  msgid "WooCommerce Variation Swatches Plugin try to load \"%s\" but template \"%s\" was not found."
272
  msgstr ""
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
 
19
+ #: ../includes/class-wvs-customizer.php:34, ../woo-variation-swatches.php:386
20
  msgid "WooCommerce Variation Swatches"
21
  msgstr ""
22
 
24
  msgid "WooCommerce Variation Swatches Settings"
25
  msgstr ""
26
 
27
+ #: ../includes/class-wvs-settings-api.php:82, ../includes/class-wvs-settings-api.php:95, ../includes/functions.php:971
28
  msgid "Swatches Settings"
29
  msgstr ""
30
 
44
  msgid "Remove image"
45
  msgstr ""
46
 
47
+ #: ../includes/functions.php:43, ../includes/functions.php:308
48
  msgid "Color"
49
  msgstr ""
50
 
51
+ #: ../includes/functions.php:49, ../includes/functions.php:317
52
  msgid "Image"
53
  msgstr ""
54
 
55
+ #: ../includes/functions.php:55
56
  msgid "Button"
57
  msgstr ""
58
 
59
+ #: ../includes/functions.php:148
60
  msgid "Simple"
61
  msgstr ""
62
 
63
+ #: ../includes/functions.php:150, ../includes/functions.php:185
64
  msgid "Visual Section"
65
  msgstr ""
66
 
67
+ #: ../includes/functions.php:151
68
  msgid "Simple change some visual styles"
69
  msgstr ""
70
 
71
+ #: ../includes/functions.php:156
72
  msgid "Enable Tooltip"
73
  msgstr ""
74
 
75
+ #: ../includes/functions.php:157
76
  msgid "Enable / Disable plugin default tooltip on each product attribute."
77
  msgstr ""
78
 
79
+ #: ../includes/functions.php:163
80
  msgid "Enable Stylesheet"
81
  msgstr ""
82
 
83
+ #: ../includes/functions.php:164
84
  msgid "Enable / Disable plugin default stylesheet"
85
  msgstr ""
86
 
87
+ #: ../includes/functions.php:170
88
  msgid "Shape style"
89
  msgstr ""
90
 
91
+ #: ../includes/functions.php:171
92
  msgid "Attribute Shape Style"
93
  msgstr ""
94
 
95
+ #: ../includes/functions.php:173
96
  msgid "Rounded Shape"
97
  msgstr ""
98
 
99
+ #: ../includes/functions.php:174
100
  msgid "Squared Shape"
101
  msgstr ""
102
 
103
+ #: ../includes/functions.php:183
104
  msgid "Advanced"
105
  msgstr ""
106
 
107
+ #: ../includes/functions.php:186
108
  msgid "Advanced change some visual styles"
109
  msgstr ""
110
 
111
+ #: ../includes/functions.php:191
112
  msgid "Clear on Reselect"
113
  msgstr ""
114
 
115
+ #: ../includes/functions.php:192
116
  msgid "Clear selected attribute on select again"
117
  msgstr ""
118
 
119
+ #: ../includes/functions.php:198
120
  msgid "Ajax variation threshold"
121
  msgstr ""
122
 
123
+ #: ../includes/functions.php:199
124
+ msgid "Control the number of enable ajax variation threshold, If you set <code>1</code> all product variation will be load via ajax. Default value is <code>30</code>, <br><span style=\"color: red\">Note: Product variation loaded via ajax doesn't follow attribute behaviour. It's recommended to keep this number between 30 - 40.</span>"
125
  msgstr ""
126
 
127
+ #: ../includes/functions.php:207
128
  msgid "Attribute behavior"
129
  msgstr ""
130
 
131
+ #: ../includes/functions.php:208
132
  msgid "Disabled attribute will be hide / blur. <br><span style=\"color: red\">Note: Product variation loaded via ajax doesn't apply this feature.</span>"
133
  msgstr ""
134
 
135
+ #: ../includes/functions.php:210
136
  msgid "Blur"
137
  msgstr ""
138
 
139
+ #: ../includes/functions.php:211
140
  msgid "Hide"
141
  msgstr ""
142
 
143
+ #: ../includes/functions.php:218
144
  msgid "Attribute image size"
145
  msgstr ""
146
 
147
+ #: ../includes/functions.php:219
148
  msgid "<span style=\"color: red\">Attribute image size changed by <code>wvs_product_attribute_image_size</code> hook. So this option will not apply any effect.</span>"
149
  msgstr ""
150
 
151
+ #: ../includes/functions.php:219
152
  msgstr ""
153
 
154
+ #: ../includes/functions.php:226
155
  msgid "Width"
156
  msgstr ""
157
 
158
+ #: ../includes/functions.php:227
159
  msgid "Variation item width"
160
  msgstr ""
161
 
162
+ #: ../includes/functions.php:236
163
  msgid "Height"
164
  msgstr ""
165
 
166
+ #: ../includes/functions.php:237
167
  msgid "Variation item height"
168
  msgstr ""
169
 
170
+ #: ../includes/functions.php:246
171
  msgid "Font Size"
172
  msgstr ""
173
 
174
+ #: ../includes/functions.php:247
175
  msgid "Single product variation item font size"
176
  msgstr ""
177
 
178
+ #: ../includes/functions.php:258
179
  msgid "Style"
180
  msgstr ""
181
 
182
+ #: ../includes/functions.php:309
183
  msgid "Choose a color"
184
  msgstr ""
185
 
186
+ #: ../includes/functions.php:318, ../woo-variation-swatches.php:206
187
  msgid "Choose an Image"
188
  msgstr ""
189
 
190
+ #: ../includes/functions.php:477
191
  msgid "Select terms"
192
  msgstr ""
193
 
194
+ #: ../includes/functions.php:488
195
  msgid "Select all"
196
  msgstr ""
197
 
198
+ #: ../includes/functions.php:489
199
  msgid "Select none"
200
  msgstr ""
201
 
202
+ #: ../includes/functions.php:494
203
  msgid "Add new %s"
204
  msgstr ""
205
 
206
+ #: ../includes/functions.php:494, ../includes/functions.php:496
207
  msgid "Add new"
208
  msgstr ""
209
 
210
+ #: ../includes/functions.php:655, ../includes/functions.php:727, ../includes/functions.php:800, ../includes/functions.php:871
211
  msgid "Choose an option"
212
  msgstr ""
213
 
214
+ #: ../woo-variation-swatches.php:207
215
  msgid "Add Attribute"
216
  msgstr ""
217
 
218
+ #: ../woo-variation-swatches.php:208
219
  msgid "Add"
220
  msgstr ""
221
 
222
+ #: ../woo-variation-swatches.php:209
223
  msgid "Cancel"
224
  msgstr ""
225
 
226
+ #: ../woo-variation-swatches.php:210
227
  msgid "Use Image"
228
  msgstr ""
229
 
230
+ #: ../woo-variation-swatches.php:211
231
  msgid "Add Media"
232
  msgstr ""
233
 
234
+ #: ../woo-variation-swatches.php:281, ../woo-variation-swatches.php:281
235
  msgid "Read Documentation"
236
  msgstr ""
237
 
238
+ #: ../woo-variation-swatches.php:283
239
  msgid "Facing issue?"
240
  msgstr ""
241
 
242
+ #: ../woo-variation-swatches.php:283
243
  msgid "Please open a ticket."
244
  msgstr ""
245
 
246
+ #: ../woo-variation-swatches.php:298
247
  msgid "Go Pro"
248
  msgstr ""
249
 
250
+ #: ../woo-variation-swatches.php:351
251
  msgid "Please check PHP version requirement."
252
  msgstr ""
253
 
254
+ #: ../woo-variation-swatches.php:353
255
  msgid "It's required to use latest version of PHP to use <strong>WooCommerce Variation Swatches</strong>."
256
  msgstr ""
257
 
258
+ #: ../woo-variation-swatches.php:365
259
  msgid "WooCommerce"
260
  msgstr ""
261
 
262
+ #: ../woo-variation-swatches.php:373
263
  msgid "<strong>WooCommerce Variation Swatches</strong> is an add-on of "
264
  msgstr ""
265
 
266
+ #: ../woo-variation-swatches.php:386
267
  msgid "Currently, you are using older version of WooCommerce. It's recommended to use latest version of WooCommerce to work with %s."
268
  msgstr ""
269
 
270
+ #: ../woo-variation-swatches.php:481
271
  msgid "WooCommerce Variation Swatches Plugin try to load \"%s\" but template \"%s\" was not found."
272
  msgstr ""
package.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "package": "WooCommerce Variation Swatches",
3
  "name": "woo-variation-swatches",
4
- "version": "1.0.28",
5
  "author": "Emran Ahmed <emran.bd.08@gmail.com>",
6
  "contact": "emran.bd.08@gmail.com",
7
  "license": "GNU General Public License v3",
1
  {
2
  "package": "WooCommerce Variation Swatches",
3
  "name": "woo-variation-swatches",
4
+ "version": "1.0.30",
5
  "author": "Emran Ahmed <emran.bd.08@gmail.com>",
6
  "contact": "emran.bd.08@gmail.com",
7
  "license": "GNU General Public License v3",
webpack.mix.js CHANGED
@@ -61,7 +61,7 @@ if (Mix.inProduction()) {
61
  }
62
 
63
  mix.banner({
64
- banner : "WooCommerce Variation Swatches v1.0.27 \n\nAuthor: Emran Ahmed ( emran.bd.08@gmail.com ) \nDate: " + new Date().toLocaleString() + "\nReleased under the GPLv3 license."
65
  });
66
 
67
  mix.notification({
@@ -75,6 +75,10 @@ if (!Mix.inProduction()) {
75
 
76
  mix.js(`src/js/backend.js`, `assets/js/admin${min}.js`);
77
  mix.js(`src/js/frontend.js`, `assets/js/frontend${min}.js`);
 
 
 
 
78
  mix.babel(`src/js/FormFieldDependency.js`, `assets/js/form-field-dependency${min}.js`);
79
  mix.babel(`src/js/wp-color-picker-alpha.js`, `assets/js/wp-color-picker-alpha${min}.js`);
80
  mix.babel(`src/js/wvs-customize-alpha-color-control.js`, `assets/js/wvs-customize-alpha-color-control${min}.js`);
61
  }
62
 
63
  mix.banner({
64
+ banner : "WooCommerce Variation Swatches v1.0.30 \n\nAuthor: Emran Ahmed ( emran.bd.08@gmail.com ) \nDate: " + new Date().toLocaleString() + "\nReleased under the GPLv3 license."
65
  });
66
 
67
  mix.notification({
75
 
76
  mix.js(`src/js/backend.js`, `assets/js/admin${min}.js`);
77
  mix.js(`src/js/frontend.js`, `assets/js/frontend${min}.js`);
78
+
79
+ // Woo Layout Injector
80
+ mix.babel(`src/js/divi_woo_layout_injector.js`, `assets/js/divi_woo_layout_injector${min}.js`);
81
+
82
  mix.babel(`src/js/FormFieldDependency.js`, `assets/js/form-field-dependency${min}.js`);
83
  mix.babel(`src/js/wp-color-picker-alpha.js`, `assets/js/wp-color-picker-alpha${min}.js`);
84
  mix.babel(`src/js/wvs-customize-alpha-color-control.js`, `assets/js/wvs-customize-alpha-color-control${min}.js`);
woo-variation-swatches.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: https://wordpress.org/plugins/woo-variation-swatches/
5
  * Description: Beautiful colors, images and buttons variation swatches for woocommerce product attributes. Requires WooCommerce 3.2+
6
  * Author: Emran Ahmed
7
- * Version: 1.0.28
8
  * Domain Path: /languages
9
  * Requires at least: 4.8
10
  * Tested up to: 4.9
@@ -20,7 +20,7 @@
20
 
21
  final class Woo_Variation_Swatches {
22
 
23
- protected $_version = '1.0.28';
24
 
25
  protected static $_instance = NULL;
26
  private $_settings_api;
@@ -64,6 +64,7 @@
64
  require_once $this->include_path( 'class-wvs-term-meta.php' );
65
  require_once $this->include_path( 'functions.php' );
66
  require_once $this->include_path( 'hooks.php' );
 
67
  }
68
  }
69
 
@@ -92,6 +93,7 @@
92
  add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
93
  add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
94
  add_filter( 'body_class', array( $this, 'body_class' ) );
 
95
 
96
  add_filter( 'plugin_action_links_' . $this->basename(), array( $this, 'plugin_action_links' ) );
97
  add_action( 'after_wvs_product_option_terms_button', array( $this, 'add_product_attribute_dialog' ), 10, 2 );
@@ -122,102 +124,6 @@
122
  return class_exists( 'Woo_Variation_Swatches_Pro' );
123
  }
124
 
125
- public function feed() {
126
-
127
- $api_url = 'https://getwooplugins.com/wp-json/getwooplugins/v1/fetch-feed';
128
-
129
- if ( apply_filters( 'stop_gwp_live_feed', FALSE ) ) {
130
- return;
131
- }
132
-
133
- if ( isset( $_GET[ 'raw_gwp_live_feed' ] ) ) {
134
- delete_transient( "gwp_live_feed" );
135
- }
136
-
137
- if ( FALSE === ( $body = get_transient( 'gwp_live_feed' ) ) ) {
138
- $response = wp_remote_get( $api_url, $args = array(
139
- 'sslverify' => FALSE,
140
- 'timeout' => 60,
141
- 'body' => array(
142
- 'item' => 'woo-variation-swatches',
143
- )
144
- ) );
145
-
146
- if ( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) == 200 ) {
147
- $body = json_decode( wp_remote_retrieve_body( $response ), TRUE );
148
- set_transient( "gwp_live_feed", $body, 6 * HOUR_IN_SECONDS );
149
-
150
- if ( isset( $_GET[ 'raw_gwp_live_feed' ] ) && isset( $body[ 'id' ] ) ) {
151
- delete_transient( "gwp_live_feed_seen_{$body[ 'id' ]}" );
152
- }
153
- }
154
- }
155
-
156
- if ( isset( $body[ 'id' ] ) && FALSE !== get_transient( "gwp_live_feed_seen_{$body[ 'id' ]}" ) ) {
157
- return;
158
- }
159
-
160
- if ( isset( $body[ 'version' ] ) && ! empty( $body[ 'version' ] ) && $body[ 'version' ] != $this->version() ) {
161
- return;
162
- }
163
-
164
- if ( isset( $body[ 'skip_pro' ] ) && ! empty( $body[ 'skip_pro' ] ) && $this->is_pro_active() ) {
165
- return;
166
- }
167
-
168
- if ( isset( $body[ 'only_pro' ] ) && ! empty( $body[ 'only_pro' ] ) && ! $this->is_pro_active() ) {
169
- return;
170
- }
171
-
172
- if ( isset( $body[ 'theme' ] ) && ! empty( $body[ 'theme' ] ) && $body[ 'theme' ] != $this->get_parent_theme_dir() ) {
173
- return;
174
- }
175
-
176
- if ( isset( $body[ 'message' ] ) && ! empty( $body[ 'message' ] ) ) {
177
- $user = wp_get_current_user();
178
- $search = array( '{pro_link}', '{user_login}', '{user_email}', '{user_firstname}', '{user_lastname}', '{display_name}', '{nickname}' );
179
- $replace = array(
180
- esc_url( woo_variation_swatches()->get_pro_link( 'product-feed' ) ),
181
- $user->user_login ? $user->user_login : 'there',
182
- $user->user_email,
183
- $user->user_firstname ? $user->user_firstname : 'there',
184
- $user->user_lastname ? $user->user_lastname : 'there',
185
- $user->display_name ? $user->display_name : 'there',
186
- $user->nickname ? $user->nickname : 'there',
187
- );
188
-
189
- $message = str_ireplace( $search, $replace, $body[ 'message' ] );
190
-
191
- echo $message;
192
- }
193
- }
194
-
195
- public function feed_css_uri() {
196
-
197
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
198
-
199
- $api_url = "https://api.github.com/repos/EmranAhmed/gwp-admin-notice/commits/master";
200
-
201
- if ( isset( $_GET[ 'raw_gwp_feed_css' ] ) ) {
202
- delete_transient( "gwp_feed_css" );
203
- }
204
-
205
- if ( FALSE === ( $sha = get_transient( 'gwp_feed_css' ) ) ) {
206
- $response = wp_remote_get( $api_url, $args = array(
207
- 'sslverify' => FALSE,
208
- 'timeout' => 60
209
- ) );
210
-
211
- if ( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) == 200 ) {
212
- $body = json_decode( wp_remote_retrieve_body( $response ) );
213
- $sha = $body->sha;
214
- set_transient( "gwp_feed_css", $sha, 3 * HOUR_IN_SECONDS );
215
- }
216
- }
217
-
218
- return sprintf( 'https://cdn.rawgit.com/EmranAhmed/gwp-admin-notice/%s/gwp-admin-notice%s.css', substr( $sha, 0, 8 ), $suffix );
219
- }
220
-
221
  public function body_class( $classes ) {
222
  array_push( $classes, 'woo-variation-swatches' );
223
  if ( wp_is_mobile() ) {
@@ -234,13 +140,17 @@
234
  array_push( $classes, 'woo-variation-swatches-pro' );
235
  }
236
 
237
- return $classes;
238
  }
239
 
240
  public function enqueue_scripts() {
241
 
242
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
243
- wp_enqueue_script( 'woo-variation-swatches', $this->assets_uri( "/js/frontend{$suffix}.js" ), array( 'jquery' ), $this->version(), TRUE );
 
 
 
 
244
 
245
  if ( $this->get_option( 'stylesheet' ) ) {
246
  wp_enqueue_style( 'woo-variation-swatches', $this->assets_uri( "/css/frontend{$suffix}.css" ), array(), $this->version() );
@@ -483,12 +393,7 @@
483
  }
484
 
485
  public function is_wc_active() {
486
-
487
- if ( ! function_exists( 'is_plugin_active' ) ) {
488
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
489
- }
490
-
491
- return is_plugin_active( 'woocommerce/woocommerce.php' );
492
  }
493
 
494
  public function basename() {
@@ -622,6 +527,110 @@
622
 
623
  return apply_filters( 'wvs_get_theme_file_uri', $uri, $file );
624
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
625
  }
626
 
627
  function woo_variation_swatches() {
4
  * Plugin URI: https://wordpress.org/plugins/woo-variation-swatches/
5
  * Description: Beautiful colors, images and buttons variation swatches for woocommerce product attributes. Requires WooCommerce 3.2+
6
  * Author: Emran Ahmed
7
+ * Version: 1.0.30
8
  * Domain Path: /languages
9
  * Requires at least: 4.8
10
  * Tested up to: 4.9
20
 
21
  final class Woo_Variation_Swatches {
22
 
23
+ protected $_version = '1.0.30';
24
 
25
  protected static $_instance = NULL;
26
  private $_settings_api;
64
  require_once $this->include_path( 'class-wvs-term-meta.php' );
65
  require_once $this->include_path( 'functions.php' );
66
  require_once $this->include_path( 'hooks.php' );
67
+ require_once $this->include_path( 'themes-support.php' );
68
  }
69
  }
70
 
93
  add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
94
  add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
95
  add_filter( 'body_class', array( $this, 'body_class' ) );
96
+ add_filter( 'wp_ajax_gwp_live_feed_close', array( $this, 'feed_close' ) );
97
 
98
  add_filter( 'plugin_action_links_' . $this->basename(), array( $this, 'plugin_action_links' ) );
99
  add_action( 'after_wvs_product_option_terms_button', array( $this, 'add_product_attribute_dialog' ), 10, 2 );
124
  return class_exists( 'Woo_Variation_Swatches_Pro' );
125
  }
126
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
  public function body_class( $classes ) {
128
  array_push( $classes, 'woo-variation-swatches' );
129
  if ( wp_is_mobile() ) {
140
  array_push( $classes, 'woo-variation-swatches-pro' );
141
  }
142
 
143
+ return array_unique( $classes );
144
  }
145
 
146
  public function enqueue_scripts() {
147
 
148
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
149
+
150
+ // Don't load JS on IE11
151
+ if ( ! wvs_is_ie11() ) {
152
+ wp_enqueue_script( 'woo-variation-swatches', $this->assets_uri( "/js/frontend{$suffix}.js" ), array( 'jquery' ), $this->version(), TRUE );
153
+ }
154
 
155
  if ( $this->get_option( 'stylesheet' ) ) {
156
  wp_enqueue_style( 'woo-variation-swatches', $this->assets_uri( "/css/frontend{$suffix}.css" ), array(), $this->version() );
393
  }
394
 
395
  public function is_wc_active() {
396
+ return class_exists( 'WooCommerce' );
 
 
 
 
 
397
  }
398
 
399
  public function basename() {
527
 
528
  return apply_filters( 'wvs_get_theme_file_uri', $uri, $file );
529
  }
530
+
531
+ // Feed API
532
+ public function feed() {
533
+
534
+ $feed_transient_id = "gwp_live_feed_wvs";
535
+
536
+ $api_url = 'https://getwooplugins.com/wp-json/getwooplugins/v1/fetch-feed';
537
+
538
+ if ( apply_filters( 'stop_gwp_live_feed', FALSE ) ) {
539
+ return;
540
+ }
541
+
542
+ if ( isset( $_GET[ 'raw_gwp_live_feed' ] ) ) {
543
+ delete_transient( $feed_transient_id );
544
+ }
545
+
546
+ if ( FALSE === ( $body = get_transient( $feed_transient_id ) ) ) {
547
+ $response = wp_remote_get( $api_url, $args = array(
548
+ 'sslverify' => FALSE,
549
+ 'timeout' => 60,
550
+ 'body' => array(
551
+ 'item' => 'woo-variation-swatches',
552
+ )
553
+ ) );
554
+
555
+ if ( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) == 200 ) {
556
+ $body = json_decode( wp_remote_retrieve_body( $response ), TRUE );
557
+ set_transient( $feed_transient_id, $body, 6 * HOUR_IN_SECONDS );
558
+
559
+ if ( isset( $_GET[ 'raw_gwp_live_feed' ] ) && isset( $body[ 'id' ] ) ) {
560
+ delete_transient( "gwp_live_feed_seen_{$body[ 'id' ]}" );
561
+ }
562
+ }
563
+ }
564
+
565
+ if ( isset( $body[ 'id' ] ) && FALSE !== get_transient( "gwp_live_feed_seen_{$body[ 'id' ]}" ) ) {
566
+ return;
567
+ }
568
+
569
+ if ( isset( $body[ 'version' ] ) && ! empty( $body[ 'version' ] ) && $body[ 'version' ] != $this->version() ) {
570
+ return;
571
+ }
572
+
573
+ if ( isset( $body[ 'skip_pro' ] ) && ! empty( $body[ 'skip_pro' ] ) && $this->is_pro_active() ) {
574
+ return;
575
+ }
576
+
577
+ if ( isset( $body[ 'only_pro' ] ) && ! empty( $body[ 'only_pro' ] ) && ! $this->is_pro_active() ) {
578
+ return;
579
+ }
580
+
581
+ if ( isset( $body[ 'theme' ] ) && ! empty( $body[ 'theme' ] ) && $body[ 'theme' ] != $this->get_parent_theme_dir() ) {
582
+ return;
583
+ }
584
+
585
+ if ( isset( $body[ 'message' ] ) && ! empty( $body[ 'message' ] ) ) {
586
+ $user = wp_get_current_user();
587
+ $search = array( '{pro_link}', '{user_login}', '{user_email}', '{user_firstname}', '{user_lastname}', '{display_name}', '{nickname}' );
588
+ $replace = array(
589
+ esc_url( woo_variation_swatches()->get_pro_link( 'product-feed' ) ),
590
+ $user->user_login ? $user->user_login : 'there',
591
+ $user->user_email,
592
+ $user->user_firstname ? $user->user_firstname : 'there',
593
+ $user->user_lastname ? $user->user_lastname : 'there',
594
+ $user->display_name ? $user->display_name : 'there',
595
+ $user->nickname ? $user->nickname : 'there',
596
+ );
597
+
598
+ $message = str_ireplace( $search, $replace, $body[ 'message' ] );
599
+
600
+ echo $message;
601
+ }
602
+ }
603
+
604
+ public function feed_css_uri() {
605
+
606
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
607
+
608
+ $api_url = "https://api.github.com/repos/EmranAhmed/gwp-admin-notice/commits/master";
609
+
610
+ if ( isset( $_GET[ 'raw_gwp_feed_css' ] ) ) {
611
+ delete_transient( "gwp_feed_css" );
612
+ }
613
+
614
+ if ( FALSE === ( $sha = get_transient( 'gwp_feed_css' ) ) ) {
615
+ $response = wp_remote_get( $api_url, $args = array(
616
+ 'sslverify' => FALSE,
617
+ 'timeout' => 60
618
+ ) );
619
+
620
+ if ( ! is_wp_error( $response ) && wp_remote_retrieve_response_code( $response ) == 200 ) {
621
+ $body = json_decode( wp_remote_retrieve_body( $response ) );
622
+ $sha = $body->sha;
623
+ set_transient( "gwp_feed_css", $sha, 3 * HOUR_IN_SECONDS );
624
+ }
625
+ }
626
+
627
+ return sprintf( 'https://cdn.rawgit.com/EmranAhmed/gwp-admin-notice/%s/gwp-admin-notice%s.css', substr( $sha, 0, 8 ), $suffix );
628
+ }
629
+
630
+ public function feed_close() {
631
+ $id = absint( $_POST[ 'id' ] );
632
+ set_transient( "gwp_live_feed_seen_{$id}", TRUE, 1 * WEEK_IN_SECONDS );
633
+ }
634
  }
635
 
636
  function woo_variation_swatches() {