@shift72/core-template 1.9.3 → 1.9.4
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +7 -2
- package/kibble.json +1 -1
- package/package.json +1 -1
- package/site/ar_LB.all.json +7 -1
- package/site/authpass.html.jet +22 -0
- package/site/ca_ES.all.json +7 -1
- package/site/da_DK.all.json +7 -1
- package/site/de_DE.all.json +7 -1
- package/site/el_EL.all.json +7 -1
- package/site/en_AU.all.json +7 -1
- package/site/es_ES.all.json +7 -1
- package/site/es_MX.all.json +7 -1
- package/site/et_ET.all.json +7 -1
- package/site/fi_FI.all.json +7 -1
- package/site/fr_FR.all.json +7 -1
- package/site/hr_HR.all.json +7 -1
- package/site/hu_HU.all.json +7 -1
- package/site/it_IT.all.json +7 -1
- package/site/ja_JP.all.json +7 -1
- package/site/lt_LT.all.json +7 -1
- package/site/nl_BE.all.json +7 -1
- package/site/no_NO.all.json +7 -1
- package/site/pl_PL.all.json +7 -1
- package/site/pt_BR.all.json +7 -1
- package/site/pt_PT.all.json +7 -1
- package/site/ru_RU.all.json +7 -1
- package/site/sr_SR.all.json +7 -1
- package/site/static/js/external-purchase-button.component.js +76 -0
- package/site/static/js/main.js +1 -0
- package/site/static/scripts/main.js.map +1 -1
- package/site/styles/_collections.scss +14 -1
- package/site/templates/common/cta_buttons.jet +15 -5
- package/site/templates/items/meta_item.jet +15 -2
- package/site/tr_TR.all.json +7 -1
- package/site/uk_UA.all.json +7 -1
- package/site/zh_TW.all.json +7 -1
package/CHANGELOG.md
CHANGED
@@ -1,10 +1,15 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [Unreleased](https://github.com/shift72/core-template/compare/1.9.
|
3
|
+
## [Unreleased](https://github.com/shift72/core-template/compare/1.9.4...HEAD)
|
4
|
+
|
5
|
+
## [1.9.4](https://github.com/shift72/core-template/compare/1.9.3...1.9.4)
|
6
|
+
### Added
|
7
|
+
- external purchase CTA button (based on custom fields)
|
8
|
+
- page for signing users in across domains
|
4
9
|
|
5
10
|
## [1.9.3](https://github.com/shift72/core-template/compare/1.9.2...1.9.3)
|
6
11
|
### Added
|
7
|
-
- Show character names next to actors if populated. Can be disabled with feature toggle
|
12
|
+
- Show character names next to actors if populated. Can be disabled with feature toggle site_hide_cast_character_name
|
8
13
|
|
9
14
|
## [1.9.2](https://github.com/shift72/core-template/compare/1.9.1...1.9.2)
|
10
15
|
|
package/kibble.json
CHANGED
package/package.json
CHANGED
package/site/ar_LB.all.json
CHANGED
@@ -1716,5 +1716,11 @@
|
|
1716
1716
|
},
|
1717
1717
|
"verify_email_success_page_back": {
|
1718
1718
|
"other": "ألم تتلق بريدًا إلكترونيًا؟"
|
1719
|
+
},
|
1720
|
+
"external_purchase_button_text": {
|
1721
|
+
"other": "شراء"
|
1722
|
+
},
|
1723
|
+
"wcag_aria_label_social_linkedin": {
|
1724
|
+
"other": "قم بزيارتنا على LinkedIn"
|
1719
1725
|
}
|
1720
|
-
}
|
1726
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<script type="text/javascript">
|
6
|
+
let [key, val] = window.location.hash.slice(1).split("=");
|
7
|
+
if (key === "token") {
|
8
|
+
fetch("/services/users/detail/users", {
|
9
|
+
headers: {
|
10
|
+
'X-Auth-Token': val
|
11
|
+
}
|
12
|
+
}).then(res => res.json()).then(res => {
|
13
|
+
localStorage.setItem("shift72.user", JSON.stringify(res.account.users[0]));
|
14
|
+
localStorage.setItem("shift72.authToken", JSON.stringify(val));
|
15
|
+
}).finally(() => {
|
16
|
+
window.location.href = "about:blank";
|
17
|
+
});
|
18
|
+
}
|
19
|
+
</script>
|
20
|
+
</head>
|
21
|
+
|
22
|
+
</html>
|
package/site/ca_ES.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "No has rebut cap correu electrònic?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Compra"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Visita'ns a LinkedIn"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/da_DK.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Har du ikke modtaget en e-mail?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Køb"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Besøg os på LinkedIn"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/de_DE.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Keine E-Mail erhalten?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Kaufen"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Besuchen Sie uns auf LinkedIn"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/el_EL.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Δεν λάβατε email;"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Αγορά"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Επισκεφθείτε μας στο LinkedIn"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/en_AU.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Didn't receive an email?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Purchase"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Visit us on LinkedIn"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/es_ES.all.json
CHANGED
@@ -1656,5 +1656,11 @@
|
|
1656
1656
|
},
|
1657
1657
|
"verify_email_success_page_back": {
|
1658
1658
|
"other": "¿No recibiste un correo electrónico?"
|
1659
|
+
},
|
1660
|
+
"external_purchase_button_text": {
|
1661
|
+
"other": "Compra"
|
1662
|
+
},
|
1663
|
+
"wcag_aria_label_social_linkedin": {
|
1664
|
+
"other": "Visítenos en LinkedIn"
|
1659
1665
|
}
|
1660
|
-
}
|
1666
|
+
}
|
package/site/es_MX.all.json
CHANGED
@@ -1656,5 +1656,11 @@
|
|
1656
1656
|
},
|
1657
1657
|
"verify_email_success_page_back": {
|
1658
1658
|
"other": "¿No recibiste un correo electrónico?"
|
1659
|
+
},
|
1660
|
+
"external_purchase_button_text": {
|
1661
|
+
"other": "Compra"
|
1662
|
+
},
|
1663
|
+
"wcag_aria_label_social_linkedin": {
|
1664
|
+
"other": "Visítenos en LinkedIn"
|
1659
1665
|
}
|
1660
|
-
}
|
1666
|
+
}
|
package/site/et_ET.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Kas te ei saanud meili?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "ostma"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Külastage meid LinkedInis"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/fi_FI.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Etkö saanut sähköpostia?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Ostaa"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Vieraile meillä LinkedInissä"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/fr_FR.all.json
CHANGED
@@ -1656,5 +1656,11 @@
|
|
1656
1656
|
},
|
1657
1657
|
"verify_email_success_page_back": {
|
1658
1658
|
"other": "Vous n'avez pas reçu d'e-mail ?"
|
1659
|
+
},
|
1660
|
+
"external_purchase_button_text": {
|
1661
|
+
"other": "Achat"
|
1662
|
+
},
|
1663
|
+
"wcag_aria_label_social_linkedin": {
|
1664
|
+
"other": "Visitez-nous sur LinkedIn"
|
1659
1665
|
}
|
1660
|
-
}
|
1666
|
+
}
|
package/site/hr_HR.all.json
CHANGED
@@ -1654,5 +1654,11 @@
|
|
1654
1654
|
},
|
1655
1655
|
"verify_email_success_page_back": {
|
1656
1656
|
"other": "Niste primili e-poruku?"
|
1657
|
+
},
|
1658
|
+
"external_purchase_button_text": {
|
1659
|
+
"other": "Kupiti"
|
1660
|
+
},
|
1661
|
+
"wcag_aria_label_social_linkedin": {
|
1662
|
+
"other": "Posjetite nas na LinkedInu"
|
1657
1663
|
}
|
1658
|
-
}
|
1664
|
+
}
|
package/site/hu_HU.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Nem kapott e-mailt?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Vásárlás"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Látogasson el hozzánk a LinkedIn-en"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/it_IT.all.json
CHANGED
@@ -1656,5 +1656,11 @@
|
|
1656
1656
|
},
|
1657
1657
|
"verify_email_success_page_back": {
|
1658
1658
|
"other": "Non hai ricevuto un'e-mail?"
|
1659
|
+
},
|
1660
|
+
"external_purchase_button_text": {
|
1661
|
+
"other": "Acquistare"
|
1662
|
+
},
|
1663
|
+
"wcag_aria_label_social_linkedin": {
|
1664
|
+
"other": "Visitaci su LinkedIn"
|
1659
1665
|
}
|
1660
|
-
}
|
1666
|
+
}
|
package/site/ja_JP.all.json
CHANGED
@@ -1639,5 +1639,11 @@
|
|
1639
1639
|
},
|
1640
1640
|
"verify_email_success_page_back": {
|
1641
1641
|
"other": "メールが届かない場合"
|
1642
|
+
},
|
1643
|
+
"external_purchase_button_text": {
|
1644
|
+
"other": "購入"
|
1645
|
+
},
|
1646
|
+
"wcag_aria_label_social_linkedin": {
|
1647
|
+
"other": "LinkedIn にアクセスしてください"
|
1642
1648
|
}
|
1643
|
-
}
|
1649
|
+
}
|
package/site/lt_LT.all.json
CHANGED
@@ -1684,5 +1684,11 @@
|
|
1684
1684
|
},
|
1685
1685
|
"verify_email_success_page_back": {
|
1686
1686
|
"other": "Negavote el. laiško?"
|
1687
|
+
},
|
1688
|
+
"external_purchase_button_text": {
|
1689
|
+
"other": "Pirkimas"
|
1690
|
+
},
|
1691
|
+
"wcag_aria_label_social_linkedin": {
|
1692
|
+
"other": "Aplankykite mus „LinkedIn“."
|
1687
1693
|
}
|
1688
|
-
}
|
1694
|
+
}
|
package/site/nl_BE.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Geen e-mail ontvangen?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Aankoop"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Bezoek ons op LinkedIn"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/no_NO.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "Har du ikke mottatt en e-post?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Kjøp"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Besøk oss på LinkedIn"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/pl_PL.all.json
CHANGED
@@ -1729,5 +1729,11 @@
|
|
1729
1729
|
},
|
1730
1730
|
"verify_email_success_page_back": {
|
1731
1731
|
"other": "Nie otrzymałeś wiadomości e-mail?"
|
1732
|
+
},
|
1733
|
+
"external_purchase_button_text": {
|
1734
|
+
"other": "Zakup"
|
1735
|
+
},
|
1736
|
+
"wcag_aria_label_social_linkedin": {
|
1737
|
+
"other": "Odwiedź nas na LinkedInie"
|
1732
1738
|
}
|
1733
|
-
}
|
1739
|
+
}
|
package/site/pt_BR.all.json
CHANGED
@@ -1656,5 +1656,11 @@
|
|
1656
1656
|
},
|
1657
1657
|
"verify_email_success_page_back": {
|
1658
1658
|
"other": "Não recebeu um e-mail?"
|
1659
|
+
},
|
1660
|
+
"external_purchase_button_text": {
|
1661
|
+
"other": "Comprar"
|
1662
|
+
},
|
1663
|
+
"wcag_aria_label_social_linkedin": {
|
1664
|
+
"other": "Visite-nos no LinkedIn"
|
1659
1665
|
}
|
1660
|
-
}
|
1666
|
+
}
|
package/site/pt_PT.all.json
CHANGED
@@ -1656,5 +1656,11 @@
|
|
1656
1656
|
},
|
1657
1657
|
"verify_email_success_page_back": {
|
1658
1658
|
"other": "Não recebeu um e-mail?"
|
1659
|
+
},
|
1660
|
+
"external_purchase_button_text": {
|
1661
|
+
"other": "Comprar"
|
1662
|
+
},
|
1663
|
+
"wcag_aria_label_social_linkedin": {
|
1664
|
+
"other": "Visite-nos no LinkedIn"
|
1659
1665
|
}
|
1660
|
-
}
|
1666
|
+
}
|
package/site/ru_RU.all.json
CHANGED
@@ -1706,5 +1706,11 @@
|
|
1706
1706
|
},
|
1707
1707
|
"verify_email_success_page_back": {
|
1708
1708
|
"other": "Не получили письмо?"
|
1709
|
+
},
|
1710
|
+
"external_purchase_button_text": {
|
1711
|
+
"other": "Покупка"
|
1712
|
+
},
|
1713
|
+
"wcag_aria_label_social_linkedin": {
|
1714
|
+
"other": "Посетите нас на LinkedIn"
|
1709
1715
|
}
|
1710
|
-
}
|
1716
|
+
}
|
package/site/sr_SR.all.json
CHANGED
@@ -1668,5 +1668,11 @@
|
|
1668
1668
|
},
|
1669
1669
|
"verify_email_success_page_back": {
|
1670
1670
|
"other": "Нисте примили имејл?"
|
1671
|
+
},
|
1672
|
+
"external_purchase_button_text": {
|
1673
|
+
"other": "Куповина"
|
1674
|
+
},
|
1675
|
+
"wcag_aria_label_social_linkedin": {
|
1676
|
+
"other": "Посетите нас на ЛинкедИн-у"
|
1671
1677
|
}
|
1672
|
-
}
|
1678
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import { utils } from 's72';
|
2
|
+
import { AppComponent, bindAllComponents, render, h, attrs, getComponentElement } from 's72.ui';
|
3
|
+
|
4
|
+
export default class ExternalPurchaseButton extends AppComponent {
|
5
|
+
constructor(props, context) {
|
6
|
+
super(props, context);
|
7
|
+
this.state = { loaded: false };
|
8
|
+
}
|
9
|
+
|
10
|
+
componentDidMount() {
|
11
|
+
this.updateState();
|
12
|
+
this.app.messagebus.subscribe('user-signed-in', () => this.updateState());
|
13
|
+
this.app.messagebus.subscribe('user-signed-out', () => this.updateState());
|
14
|
+
this.app.messagebus.subscribe('shopping-session-completed', session =>
|
15
|
+
this.shoppingSessionCompleted(session)
|
16
|
+
);
|
17
|
+
}
|
18
|
+
|
19
|
+
componentWillUnmount() {
|
20
|
+
this.app.messagebus.unsubscribe('shopping-session-completed', () => this.updateState());
|
21
|
+
}
|
22
|
+
|
23
|
+
updateState() {
|
24
|
+
if (this.props.slug && this.app.shoppingService.isValidType(this.props.slug)) {
|
25
|
+
return this.loadAvailability(this.props.slug)
|
26
|
+
.then(() => {
|
27
|
+
return this.setState({ loaded: true });
|
28
|
+
}, utils.noop)
|
29
|
+
.then(() => {
|
30
|
+
let e = getComponentElement(this);
|
31
|
+
e.classList.toggle('s72-show', this.shouldBeVisible);
|
32
|
+
}, utils.noop);
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
get shouldBeVisible() {
|
37
|
+
return this.state.loaded && !this.state.isOwned;
|
38
|
+
}
|
39
|
+
|
40
|
+
shoppingSessionCompleted(session) {
|
41
|
+
if (session.data.slug != this.props.slug) {
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
this.updateState();
|
45
|
+
}
|
46
|
+
|
47
|
+
loadAvailability(slug) {
|
48
|
+
if (utils.slugs.detect(slug) === utils.slugs.TYPE.FILM) {
|
49
|
+
return this.app.availabilityService.getAvailability(slug).then(a => {
|
50
|
+
this.setState({ isOwned: a && a.canBeWatched });
|
51
|
+
});
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
render(props) {
|
56
|
+
if (!this.shouldBeVisible || props.url == '' || props.label == '') return null;
|
57
|
+
return (
|
58
|
+
<button
|
59
|
+
type="button"
|
60
|
+
class="s72-btn s72-btn-purchase s72-btn-external-purchase"
|
61
|
+
onClick={e => {
|
62
|
+
e.preventDefault();
|
63
|
+
if (props.url) {
|
64
|
+
window.location.href = props.url;
|
65
|
+
}
|
66
|
+
}}
|
67
|
+
>
|
68
|
+
<span class="verb">{props.label}</span>
|
69
|
+
</button>
|
70
|
+
);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
bindAllComponents('external-purchase-button', elements => {
|
75
|
+
return elements.map(e => render(h(ExternalPurchaseButton, attrs(e)), e));
|
76
|
+
});
|
package/site/static/js/main.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"main.js","sources":["../js/modernizr-custom.js","../js/can-be-watched-button.component.js","../js/main.js"],"sourcesContent":["/*! modernizr 3.6.0 (Custom Build) | MIT *\n * https://modernizr.com/download/?-smil-setclasses !*/\n!function(e,n,s){function o(e,n){return typeof e===n}function a(){var e,n,s,a,t,r,f;for(var c in l)if(l.hasOwnProperty(c)){if(e=[],n=l[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(s=0;s<n.options.aliases.length;s++)e.push(n.options.aliases[s].toLowerCase());for(a=o(n.fn,\"function\")?n.fn():n.fn,t=0;t<e.length;t++)r=e[t],f=r.split(\".\"),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||Modernizr[f[0]]instanceof Boolean||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),i.push((a?\"\":\"no-\")+f.join(\"-\"))}}function t(e){var n=f.className,s=Modernizr._config.classPrefix||\"\";if(c&&(n=n.baseVal),Modernizr._config.enableJSClass){var o=new RegExp(\"(^|\\\\s)\"+s+\"no-js(\\\\s|$)\");n=n.replace(o,\"$1\"+s+\"js$2\")}Modernizr._config.enableClasses&&(n+=\" \"+s+e.join(\" \"+s),c?f.className.baseVal=n:f.className=n)}var i=[],l=[],r={_version:\"3.6.0\",_config:{classPrefix:\"\",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var s=this;setTimeout(function(){n(s[e])},0)},addTest:function(e,n,s){l.push({name:e,fn:n,options:s})},addAsyncTest:function(e){l.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=r,Modernizr=new Modernizr;var f=n.documentElement,c=\"svg\"===f.nodeName.toLowerCase(),u={}.toString;Modernizr.addTest(\"smil\",function(){return!!n.createElementNS&&/SVGAnimate/.test(u.call(n.createElementNS(\"http://www.w3.org/2000/svg\",\"animate\")))}),a(),t(i),delete r.addTest,delete r.addAsyncTest;for(var d=0;d<Modernizr._q.length;d++)Modernizr._q[d]();e.Modernizr=Modernizr}(window,document);","import { utils } from 's72';\nimport { AppComponent, bindAllComponents, render, h, attrs, getComponentElement } from 's72.ui';\n\nexport default class CanBeWatchedButton extends AppComponent {\n constructor(props, context) {\n super(props, context);\n this.state = { loaded: false };\n }\n\n componentDidMount() {\n this.updateState();\n this.app.messagebus.subscribe('user-signed-in', () => this.updateState());\n this.app.messagebus.subscribe('user-signed-out', () => this.updateState());\n this.app.messagebus.subscribe('shopping-session-completed', session =>\n this.shoppingSessionCompleted(session)\n );\n }\n\n componentWillUnmount() {\n this.app.messagebus.unsubscribe('shopping-session-completed', () => this.updateState());\n }\n\n updateState() {\n if (this.props.slug && this.app.shoppingService.isValidType(this.props.slug)) {\n return this.loadAvailability(this.props.slug)\n .then(() => {\n return this.setState({ loaded: true });\n }, utils.noop)\n .then(() => {\n let e = getComponentElement(this);\n e.classList.toggle('s72-show', this.state.loaded && this.state.isOwned);\n }, utils.noop);\n }\n }\n\n shoppingSessionCompleted(session) {\n if (session.data.slug != this.props.slug) {\n return;\n }\n this.updateState();\n }\n\n loadAvailability(slug) {\n if (utils.slugs.detect(slug) === utils.slugs.TYPE.FILM) {\n return this.app.availabilityService.getAvailability(slug).then(a => {\n this.setState({ isOwned: a && a.canBeWatched });\n });\n }\n return;\n }\n\n openLink(event, url) {\n event.preventDefault();\n if (url.length == 0) return;\n window.open(url);\n }\n\n render(props, state) {\n if (!state.loaded || !state.isOwned || props.url == '' || props.label == '') return;\n return (\n state.loaded &&\n state.isOwned && (\n <button\n class=\"s72-btn s72-btn-can-be-watched\"\n onClick={e => {\n this.openLink(e, props.url);\n }}\n >\n <span class=\"padder\" />\n <span class=\"verb watch s72-btn-can-be-watched-label\">{props.label}</span>\n </button>\n )\n );\n }\n}\n\nbindAllComponents('can-be-watched-button', elements => {\n return elements.map(e => render(h(CanBeWatchedButton, attrs(e)), e));\n});\n","import './modernizr-custom.js';\nimport './can-be-watched-button.component.js';\n\n/*global Swiper, Modernizr, s72*/\n\nlet slideObservers = [];\n\nfunction initializeWishlist() {\n let wishlist = document.querySelector('s72-userwishlist');\n if (!wishlist) return;\n let originalFunction = wishlist.classList.remove;\n wishlist.classList.remove = function (className) {\n if (className == 's72-hide') {\n // Hide this from view\n wishlist.style.opacity = '0';\n\n // Remove class\n originalFunction.apply(this, [className]);\n\n /* Convert this to a swiper */\n let containers = wishlist.getElementsByClassName('swiper-container');\n if (containers.length > 0) {\n let container = containers[0];\n let swiper = initializeSwiper(container, true);\n\n init(swiper);\n toggleButtons(container);\n }\n\n // Now show it\n wishlist.style.opacity = '1';\n } else {\n originalFunction.apply(this, [className]);\n }\n };\n}\n\nfunction initializeSwiper(element, force) {\n if (element.swiper) {\n if (force) {\n element.swiper.destroy();\n } else {\n return;\n }\n }\n\n let isTouchscreen = isTouchscreenEnabled();\n\n let defaultSlidesPerView = 8;\n let slidesPerView = {\n 320: 2,\n 568: 2,\n 667: 2,\n 768: 4,\n 992: 4,\n 1200: 4,\n 1440: 6,\n 1600: 6,\n };\n\n // Override some slider values specific sizes. Could potentially expand this for portrait vs. landscapes\n if (element.getAttribute('data-items-per-row')) {\n let itemsPerRow = element.getAttribute('data-items-per-row');\n let layout = element.getAttribute('data-layout');\n\n if (layout == 'portrait') {\n switch (itemsPerRow) {\n case '6':\n defaultSlidesPerView = 8;\n slidesPerView[1600] = 6;\n slidesPerView[1440] = 6;\n slidesPerView[1200] = 5;\n slidesPerView[992] = 4;\n slidesPerView[768] = 4;\n slidesPerView[667] = 3;\n slidesPerView[568] = 3;\n break;\n\n case '4':\n defaultSlidesPerView = 6;\n slidesPerView[1600] = 5;\n slidesPerView[1440] = 5;\n slidesPerView[1200] = 4;\n slidesPerView[992] = 3;\n slidesPerView[768] = 3;\n slidesPerView[667] = 3;\n slidesPerView[568] = 2;\n break;\n }\n } else if (layout == 'landscape') {\n switch (itemsPerRow) {\n case '4':\n defaultSlidesPerView = 5;\n slidesPerView[1600] = 4;\n slidesPerView[1440] = 4;\n slidesPerView[1200] = 3;\n slidesPerView[992] = 3;\n slidesPerView[768] = 3;\n slidesPerView[568] = 2;\n break;\n\n case '3':\n defaultSlidesPerView = 4;\n slidesPerView[1600] = 3;\n slidesPerView[1440] = 3;\n slidesPerView[1200] = 3;\n slidesPerView[992] = 2;\n slidesPerView[768] = 2;\n slidesPerView[568] = 2;\n break;\n }\n }\n }\n\n let swiper = new Swiper(element, {\n init: false,\n slidesPerView: defaultSlidesPerView,\n spaceBetween: 1,\n slidesPerGroup: 1, // leave this for infinite scrollings\n speed: 600,\n watchSlidesVisibility: true,\n\n breakpoints: {\n // when window width is <= 320px\n 319: {\n slidesPerView: slidesPerView[320],\n spaceBetween: 2,\n slidesPerGroup: 1,\n slidesOffsetBefore: 20,\n slidesOffsetAfter: 20,\n },\n // when window width is <= 480px\n 567: {\n slidesPerView: slidesPerView[568],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[568] : 1,\n slidesOffsetBefore: 20,\n slidesOffsetAfter: 20,\n },\n // when window width is <= 640px\n 666: {\n slidesPerView: slidesPerView[667],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[667] : 1,\n },\n 767: {\n slidesPerView: slidesPerView[768],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[768] : 1,\n },\n 991: {\n slidesPerView: slidesPerView[992],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[992] : 1,\n },\n 1199: {\n slidesPerView: slidesPerView[1200],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[1200] : 1,\n },\n 1439: {\n slidesPerView: slidesPerView[1440],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[1440] : 1,\n },\n 1599: {\n slidesPerView: slidesPerView[1600],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[1600] : 1,\n },\n },\n pagination: {\n el: '.swiper-pagination',\n clickable: true,\n },\n on: {\n init() {\n element.dispatchEvent(new Event('init'));\n },\n slideChangeTransitionEnd() {\n addAndRemoveSlides(element.swiper, true, true);\n toggleButtons(element);\n },\n },\n });\n\n element.buttons = {};\n\n initButton(\n element,\n element.closest('.swiper-wrapper-container').querySelector('.swiper-button-next'),\n 1\n );\n initButton(\n element,\n element.closest('.swiper-wrapper-container').querySelector('.swiper-button-prev'),\n -1\n );\n\n return swiper;\n}\n\nfunction disableButton(button) {\n button.classList.add('swiper-button-disabled');\n}\n\nfunction enableButton(button) {\n button.classList.remove('swiper-button-disabled');\n}\n\nfunction toggleButtons(slider) {\n let currentIndex = slider.swiper.activeIndex;\n let slidesToTheLeft = currentIndex;\n let slidesPerView = slider.swiper.params.slidesPerView;\n let slidesLength = slider.swiper.slides.length;\n let lastVisibleIndex = currentIndex + slidesPerView;\n let slidesToTheRight = slidesLength - lastVisibleIndex;\n\n if (slidesToTheLeft == 0) {\n disableButton(slider.buttons.prev);\n } else {\n enableButton(slider.buttons.prev);\n }\n\n if (slidesToTheRight <= 0) {\n disableButton(slider.buttons.next);\n } else {\n enableButton(slider.buttons.next);\n }\n}\n\nfunction initButton(slider, button, velocity) {\n if (button) {\n button.classList.remove('s72-hide');\n // Clone the button so any pre-existing listeners are destroyed\n let buttonClone = button.cloneNode(true);\n button.parentNode.replaceChild(buttonClone, button);\n\n buttonClone.addEventListener('click', e => {\n e.preventDefault();\n if (velocity > 0) {\n addAndRemoveSlides(slider.swiper, true, false);\n } else {\n addAndRemoveSlides(slider.swiper, false, true);\n }\n slider.swiper.slideToLoop(\n slider.swiper.realIndex + slider.swiper.params.slidesPerView * velocity\n );\n });\n\n let direction = velocity > 0 ? 'next' : 'prev';\n slider.buttons[direction] = buttonClone;\n }\n}\n\nfunction getMatchingDuplicatedSlides(slider, link) {\n let result = [];\n\n if (!slider.destroyed) {\n Array.from(slider.el.querySelectorAll('.swiper-slide')).forEach(slide => {\n if (!slide.classList.contains('base')) {\n let thisLink = slide.querySelector('a.meta-item-link').getAttribute('href');\n if (link === thisLink) result.push(slide);\n }\n });\n }\n\n return result;\n}\n\nfunction init(slider) {\n slider.init();\n\n // Set up a mutation observer against each base slide, as it'll get redrawn as the components get rendered\n for (let x = 0; x < slider.slides.length; x++) {\n let slide = slider.slides[x];\n\n slide.classList.add('base');\n\n if (infiniteScrollEnabled(slider)) {\n let config = { subtree: true, childList: true };\n\n let observer = new MutationObserver(mutations => {\n for (let y = 0; y < mutations.length; y++) {\n let mutationRecord = mutations[y];\n\n // var href = mutationRecord.target.closest('a.meta-item-link').getAttribute('href');\n let thisSlide = mutationRecord.target.closest('.swiper-slide');\n if (thisSlide) {\n let thisLink = thisSlide.querySelector('a.meta-item-link').getAttribute('href');\n\n let duplicatedSlides = getMatchingDuplicatedSlides(slider, thisLink);\n\n Array.from(duplicatedSlides).forEach(dupe => {\n dupe.innerHTML = thisSlide.innerHTML;\n });\n }\n }\n });\n\n observer.observe(slide, config);\n\n slideObservers.push(observer);\n }\n }\n\n addAndRemoveSlides(slider);\n\n return true;\n}\n\nfunction infiniteScrollEnabled(slider) {\n if (!Modernizr.smil) return false; // i.e. is this IE11\n\n if (isTouchscreenEnabled()) return false; // i.e. is this a touchscreen device?\n\n let el = slider.el;\n\n if (el.getAttribute('disable-infinite-scroll') !== null) {\n return false;\n }\n\n let prev = el.buttons.prev;\n let next = el.buttons.next;\n\n // Only infinite scroll on desktop (i.e. when the next/prev buttons are visible)\n let buttonsVisible = (prev && prev.offsetHeight > 0) || (next && next.offsetHeight > 0);\n\n let screens = slider.slides.length / slider.params.slidesPerView;\n\n return buttonsVisible && screens > 1;\n}\n\nfunction addAndRemoveSlides(slider, append, prepend) {\n // This is a no-go\n if (!infiniteScrollEnabled(slider)) return;\n\n // Just in case something's gone horribly wrong\n if (slider.slides.length > 100) {\n return;\n }\n\n if (append) {\n let lastVisibleIndex = slider.activeIndex + slider.params.slidesPerView;\n let slidesToTheRight = slider.slides.length - lastVisibleIndex;\n\n if (slidesToTheRight <= slider.params.slidesPerView) {\n appendBaseSlides(slider);\n }\n }\n\n if (prepend) {\n if (slider.activeIndex <= slider.params.slidesPerView) {\n prependBaseSlides(slider);\n }\n }\n}\n\nfunction getBaseSlides(slider) {\n let result = Array.from(slider.el.querySelectorAll('.swiper-slide.base')).map(node => {\n return node.cloneNode(true);\n });\n\n Array.from(result).forEach(slide => {\n slide.classList.remove(\n 'base',\n 'swiper-slide-visible',\n 'swiper-slide-active',\n 'swiper-slide-next',\n 'swiper-slide-prev'\n );\n });\n\n return result;\n}\n\nfunction appendBaseSlides(slider) {\n let baseSlides = getBaseSlides(slider).slice(0);\n slider.appendSlide(baseSlides);\n\n cullSlides(slider, 1);\n}\n\nfunction prependBaseSlides(slider) {\n // var baseSlides = getBaseSlides(slider).reverse().slice(0);\n let baseSlides = getBaseSlides(slider).reverse().slice(0);\n\n let currentIndex = slider.activeIndex;\n\n for (let i = 0; i < baseSlides.length; i++) {\n slider.prependSlide(baseSlides[i]);\n }\n slider.slideTo(currentIndex + baseSlides.length, 0);\n\n cullSlides(slider, -1);\n}\n\n// Get rid of the oldest N slides to the left of current\nfunction cullSlides(slider, direction) {\n let baseSlides = getBaseSlides(slider);\n\n let indices = [];\n for (let index = 0; index < slider.slides.length; index++) {\n let slide = slider.slides[index];\n if (direction > 0) {\n if (index < slider.activeIndex && !slide.classList.contains('base')) {\n indices.push(index);\n }\n } else if (index > slider.activeIndex && !slide.classList.contains('base')) {\n indices.push(index);\n }\n }\n\n if (indices.length > baseSlides.length) {\n let toCullIndices = [];\n if (direction > 0) {\n toCullIndices = indices.slice(0, baseSlides.length);\n } else {\n toCullIndices = indices.reverse().slice(0, baseSlides.length).reverse();\n }\n\n slider.removeSlide(toCullIndices.reverse());\n }\n}\n\nfunction initSearch() {\n let searchButton = document.querySelector('.btn-search-open');\n let searchForm = document.querySelector('.form-control-search');\n\n let openSearch = function () {\n document.querySelector('.form-control-search').focus();\n document.querySelector('.navbar-nav-search').classList.add('search-show');\n document.querySelector('.navbar-nav-search').classList.remove('search-hidden');\n };\n\n let closeSearch = function () {\n document.querySelector('.navbar-nav-search').classList.remove('search-show');\n document.querySelector('.navbar-nav-search').classList.add('search-hidden');\n };\n\n searchButton.addEventListener('click', openSearch, false);\n searchForm.addEventListener('focusin', openSearch, false);\n searchForm.addEventListener('focusout', closeSearch, false);\n}\n\nfunction initScroll() {\n let nav = document.querySelector('.navbar-toggler');\n nav.addEventListener('click', () => {\n toggleScroll();\n });\n}\n\nfunction toggleScroll() {\n let body = document.querySelector('body');\n if (!body.classList.contains('no-scroll')) {\n body.classList.add('no-scroll');\n } else {\n body.classList.remove('no-scroll');\n }\n}\n\nfunction documentReady(app) {\n initializeWishlist();\n\n app.classificationsService.load('/classifications.all.json');\n app.urlMapService.load('/urlmap.json');\n\n detectTouchscreen();\n\n let swipers = document.getElementsByClassName('swiper-container');\n for (let i = 0; i < swipers.length; i++) {\n let el = swipers[i];\n if (el.getAttribute('is-wishlist') == undefined) {\n let swiper = initializeSwiper(el, false);\n init(swiper);\n\n toggleButtons(el);\n }\n }\n\n document.querySelectorAll('.s72-btn-trailer:not(.s72-btn-play)').forEach(btn => {\n btn.addEventListener('click', e => {\n e.preventDefault();\n e.stopPropagation();\n });\n });\n\n document.querySelectorAll('.navbar-nav').forEach(nav => {\n nav.classList.remove('s72-hide');\n });\n\n if (document.querySelector('.navbar-nav-search')) {\n initSearch();\n }\n initScroll();\n}\n\nfunction detectTouchscreen() {\n let touchEnabled = s72.utils.device.isTouchEnabled();\n document.querySelector('html').setAttribute('is-touchscreen', touchEnabled);\n}\n\nfunction isTouchscreenEnabled() {\n return document.querySelector('html').getAttribute('is-touchscreen') === 'true';\n}\ndocument.addEventListener('s72loaded', event => {\n let app = event.detail.app;\n documentReady(app);\n});\n"],"names":["super","this","utils","let","getComponentElement","AppComponent","bindAllComponents","render","h","attrs","y"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"main.js","sources":["../js/modernizr-custom.js","../js/can-be-watched-button.component.js","../js/external-purchase-button.component.js","../js/main.js"],"sourcesContent":["/*! modernizr 3.6.0 (Custom Build) | MIT *\n * https://modernizr.com/download/?-smil-setclasses !*/\n!function(e,n,s){function o(e,n){return typeof e===n}function a(){var e,n,s,a,t,r,f;for(var c in l)if(l.hasOwnProperty(c)){if(e=[],n=l[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(s=0;s<n.options.aliases.length;s++)e.push(n.options.aliases[s].toLowerCase());for(a=o(n.fn,\"function\")?n.fn():n.fn,t=0;t<e.length;t++)r=e[t],f=r.split(\".\"),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||Modernizr[f[0]]instanceof Boolean||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),i.push((a?\"\":\"no-\")+f.join(\"-\"))}}function t(e){var n=f.className,s=Modernizr._config.classPrefix||\"\";if(c&&(n=n.baseVal),Modernizr._config.enableJSClass){var o=new RegExp(\"(^|\\\\s)\"+s+\"no-js(\\\\s|$)\");n=n.replace(o,\"$1\"+s+\"js$2\")}Modernizr._config.enableClasses&&(n+=\" \"+s+e.join(\" \"+s),c?f.className.baseVal=n:f.className=n)}var i=[],l=[],r={_version:\"3.6.0\",_config:{classPrefix:\"\",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var s=this;setTimeout(function(){n(s[e])},0)},addTest:function(e,n,s){l.push({name:e,fn:n,options:s})},addAsyncTest:function(e){l.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=r,Modernizr=new Modernizr;var f=n.documentElement,c=\"svg\"===f.nodeName.toLowerCase(),u={}.toString;Modernizr.addTest(\"smil\",function(){return!!n.createElementNS&&/SVGAnimate/.test(u.call(n.createElementNS(\"http://www.w3.org/2000/svg\",\"animate\")))}),a(),t(i),delete r.addTest,delete r.addAsyncTest;for(var d=0;d<Modernizr._q.length;d++)Modernizr._q[d]();e.Modernizr=Modernizr}(window,document);","import { utils } from 's72';\nimport { AppComponent, bindAllComponents, render, h, attrs, getComponentElement } from 's72.ui';\n\nexport default class CanBeWatchedButton extends AppComponent {\n constructor(props, context) {\n super(props, context);\n this.state = { loaded: false };\n }\n\n componentDidMount() {\n this.updateState();\n this.app.messagebus.subscribe('user-signed-in', () => this.updateState());\n this.app.messagebus.subscribe('user-signed-out', () => this.updateState());\n this.app.messagebus.subscribe('shopping-session-completed', session =>\n this.shoppingSessionCompleted(session)\n );\n }\n\n componentWillUnmount() {\n this.app.messagebus.unsubscribe('shopping-session-completed', () => this.updateState());\n }\n\n updateState() {\n if (this.props.slug && this.app.shoppingService.isValidType(this.props.slug)) {\n return this.loadAvailability(this.props.slug)\n .then(() => {\n return this.setState({ loaded: true });\n }, utils.noop)\n .then(() => {\n let e = getComponentElement(this);\n e.classList.toggle('s72-show', this.state.loaded && this.state.isOwned);\n }, utils.noop);\n }\n }\n\n shoppingSessionCompleted(session) {\n if (session.data.slug != this.props.slug) {\n return;\n }\n this.updateState();\n }\n\n loadAvailability(slug) {\n if (utils.slugs.detect(slug) === utils.slugs.TYPE.FILM) {\n return this.app.availabilityService.getAvailability(slug).then(a => {\n this.setState({ isOwned: a && a.canBeWatched });\n });\n }\n return;\n }\n\n openLink(event, url) {\n event.preventDefault();\n if (url.length == 0) return;\n window.open(url);\n }\n\n render(props, state) {\n if (!state.loaded || !state.isOwned || props.url == '' || props.label == '') return;\n return (\n state.loaded &&\n state.isOwned && (\n <button\n class=\"s72-btn s72-btn-can-be-watched\"\n onClick={e => {\n this.openLink(e, props.url);\n }}\n >\n <span class=\"padder\" />\n <span class=\"verb watch s72-btn-can-be-watched-label\">{props.label}</span>\n </button>\n )\n );\n }\n}\n\nbindAllComponents('can-be-watched-button', elements => {\n return elements.map(e => render(h(CanBeWatchedButton, attrs(e)), e));\n});\n","import { utils } from 's72';\nimport { AppComponent, bindAllComponents, render, h, attrs, getComponentElement } from 's72.ui';\n\nexport default class ExternalPurchaseButton extends AppComponent {\n constructor(props, context) {\n super(props, context);\n this.state = { loaded: false };\n }\n\n componentDidMount() {\n this.updateState();\n this.app.messagebus.subscribe('user-signed-in', () => this.updateState());\n this.app.messagebus.subscribe('user-signed-out', () => this.updateState());\n this.app.messagebus.subscribe('shopping-session-completed', session =>\n this.shoppingSessionCompleted(session)\n );\n }\n\n componentWillUnmount() {\n this.app.messagebus.unsubscribe('shopping-session-completed', () => this.updateState());\n }\n\n updateState() {\n if (this.props.slug && this.app.shoppingService.isValidType(this.props.slug)) {\n return this.loadAvailability(this.props.slug)\n .then(() => {\n return this.setState({ loaded: true });\n }, utils.noop)\n .then(() => {\n let e = getComponentElement(this);\n e.classList.toggle('s72-show', this.shouldBeVisible);\n }, utils.noop);\n }\n }\n\n get shouldBeVisible() {\n return this.state.loaded && !this.state.isOwned;\n }\n\n shoppingSessionCompleted(session) {\n if (session.data.slug != this.props.slug) {\n return;\n }\n this.updateState();\n }\n\n loadAvailability(slug) {\n if (utils.slugs.detect(slug) === utils.slugs.TYPE.FILM) {\n return this.app.availabilityService.getAvailability(slug).then(a => {\n this.setState({ isOwned: a && a.canBeWatched });\n });\n }\n }\n \n render(props) {\n if (!this.shouldBeVisible || props.url == '' || props.label == '') return null;\n return (\n <button\n type=\"button\"\n class=\"s72-btn s72-btn-purchase s72-btn-external-purchase\"\n onClick={e => {\n e.preventDefault();\n if (props.url) {\n window.location.href = props.url;\n }\n }}\n >\n <span class=\"verb\">{props.label}</span>\n </button>\n );\n }\n}\n\nbindAllComponents('external-purchase-button', elements => {\n return elements.map(e => render(h(ExternalPurchaseButton, attrs(e)), e));\n});\n","import './modernizr-custom.js';\nimport './can-be-watched-button.component.js';\nimport './external-purchase-button.component.js';\n\n/*global Swiper, Modernizr, s72*/\n\nlet slideObservers = [];\n\nfunction initializeWishlist() {\n let wishlist = document.querySelector('s72-userwishlist');\n if (!wishlist) return;\n let originalFunction = wishlist.classList.remove;\n wishlist.classList.remove = function (className) {\n if (className == 's72-hide') {\n // Hide this from view\n wishlist.style.opacity = '0';\n\n // Remove class\n originalFunction.apply(this, [className]);\n\n /* Convert this to a swiper */\n let containers = wishlist.getElementsByClassName('swiper-container');\n if (containers.length > 0) {\n let container = containers[0];\n let swiper = initializeSwiper(container, true);\n\n init(swiper);\n toggleButtons(container);\n }\n\n // Now show it\n wishlist.style.opacity = '1';\n } else {\n originalFunction.apply(this, [className]);\n }\n };\n}\n\nfunction initializeSwiper(element, force) {\n if (element.swiper) {\n if (force) {\n element.swiper.destroy();\n } else {\n return;\n }\n }\n\n let isTouchscreen = isTouchscreenEnabled();\n\n let defaultSlidesPerView = 8;\n let slidesPerView = {\n 320: 2,\n 568: 2,\n 667: 2,\n 768: 4,\n 992: 4,\n 1200: 4,\n 1440: 6,\n 1600: 6,\n };\n\n // Override some slider values specific sizes. Could potentially expand this for portrait vs. landscapes\n if (element.getAttribute('data-items-per-row')) {\n let itemsPerRow = element.getAttribute('data-items-per-row');\n let layout = element.getAttribute('data-layout');\n\n if (layout == 'portrait') {\n switch (itemsPerRow) {\n case '6':\n defaultSlidesPerView = 8;\n slidesPerView[1600] = 6;\n slidesPerView[1440] = 6;\n slidesPerView[1200] = 5;\n slidesPerView[992] = 4;\n slidesPerView[768] = 4;\n slidesPerView[667] = 3;\n slidesPerView[568] = 3;\n break;\n\n case '4':\n defaultSlidesPerView = 6;\n slidesPerView[1600] = 5;\n slidesPerView[1440] = 5;\n slidesPerView[1200] = 4;\n slidesPerView[992] = 3;\n slidesPerView[768] = 3;\n slidesPerView[667] = 3;\n slidesPerView[568] = 2;\n break;\n }\n } else if (layout == 'landscape') {\n switch (itemsPerRow) {\n case '4':\n defaultSlidesPerView = 5;\n slidesPerView[1600] = 4;\n slidesPerView[1440] = 4;\n slidesPerView[1200] = 3;\n slidesPerView[992] = 3;\n slidesPerView[768] = 3;\n slidesPerView[568] = 2;\n break;\n\n case '3':\n defaultSlidesPerView = 4;\n slidesPerView[1600] = 3;\n slidesPerView[1440] = 3;\n slidesPerView[1200] = 3;\n slidesPerView[992] = 2;\n slidesPerView[768] = 2;\n slidesPerView[568] = 2;\n break;\n }\n }\n }\n\n let swiper = new Swiper(element, {\n init: false,\n slidesPerView: defaultSlidesPerView,\n spaceBetween: 1,\n slidesPerGroup: 1, // leave this for infinite scrollings\n speed: 600,\n watchSlidesVisibility: true,\n\n breakpoints: {\n // when window width is <= 320px\n 319: {\n slidesPerView: slidesPerView[320],\n spaceBetween: 2,\n slidesPerGroup: 1,\n slidesOffsetBefore: 20,\n slidesOffsetAfter: 20,\n },\n // when window width is <= 480px\n 567: {\n slidesPerView: slidesPerView[568],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[568] : 1,\n slidesOffsetBefore: 20,\n slidesOffsetAfter: 20,\n },\n // when window width is <= 640px\n 666: {\n slidesPerView: slidesPerView[667],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[667] : 1,\n },\n 767: {\n slidesPerView: slidesPerView[768],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[768] : 1,\n },\n 991: {\n slidesPerView: slidesPerView[992],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[992] : 1,\n },\n 1199: {\n slidesPerView: slidesPerView[1200],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[1200] : 1,\n },\n 1439: {\n slidesPerView: slidesPerView[1440],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[1440] : 1,\n },\n 1599: {\n slidesPerView: slidesPerView[1600],\n spaceBetween: 2,\n slidesPerGroup: isTouchscreen ? slidesPerView[1600] : 1,\n },\n },\n pagination: {\n el: '.swiper-pagination',\n clickable: true,\n },\n on: {\n init() {\n element.dispatchEvent(new Event('init'));\n },\n slideChangeTransitionEnd() {\n addAndRemoveSlides(element.swiper, true, true);\n toggleButtons(element);\n },\n },\n });\n\n element.buttons = {};\n\n initButton(\n element,\n element.closest('.swiper-wrapper-container').querySelector('.swiper-button-next'),\n 1\n );\n initButton(\n element,\n element.closest('.swiper-wrapper-container').querySelector('.swiper-button-prev'),\n -1\n );\n\n return swiper;\n}\n\nfunction disableButton(button) {\n button.classList.add('swiper-button-disabled');\n}\n\nfunction enableButton(button) {\n button.classList.remove('swiper-button-disabled');\n}\n\nfunction toggleButtons(slider) {\n let currentIndex = slider.swiper.activeIndex;\n let slidesToTheLeft = currentIndex;\n let slidesPerView = slider.swiper.params.slidesPerView;\n let slidesLength = slider.swiper.slides.length;\n let lastVisibleIndex = currentIndex + slidesPerView;\n let slidesToTheRight = slidesLength - lastVisibleIndex;\n\n if (slidesToTheLeft == 0) {\n disableButton(slider.buttons.prev);\n } else {\n enableButton(slider.buttons.prev);\n }\n\n if (slidesToTheRight <= 0) {\n disableButton(slider.buttons.next);\n } else {\n enableButton(slider.buttons.next);\n }\n}\n\nfunction initButton(slider, button, velocity) {\n if (button) {\n button.classList.remove('s72-hide');\n // Clone the button so any pre-existing listeners are destroyed\n let buttonClone = button.cloneNode(true);\n button.parentNode.replaceChild(buttonClone, button);\n\n buttonClone.addEventListener('click', e => {\n e.preventDefault();\n if (velocity > 0) {\n addAndRemoveSlides(slider.swiper, true, false);\n } else {\n addAndRemoveSlides(slider.swiper, false, true);\n }\n slider.swiper.slideToLoop(\n slider.swiper.realIndex + slider.swiper.params.slidesPerView * velocity\n );\n });\n\n let direction = velocity > 0 ? 'next' : 'prev';\n slider.buttons[direction] = buttonClone;\n }\n}\n\nfunction getMatchingDuplicatedSlides(slider, link) {\n let result = [];\n\n if (!slider.destroyed) {\n Array.from(slider.el.querySelectorAll('.swiper-slide')).forEach(slide => {\n if (!slide.classList.contains('base')) {\n let thisLink = slide.querySelector('a.meta-item-link').getAttribute('href');\n if (link === thisLink) result.push(slide);\n }\n });\n }\n\n return result;\n}\n\nfunction init(slider) {\n slider.init();\n\n // Set up a mutation observer against each base slide, as it'll get redrawn as the components get rendered\n for (let x = 0; x < slider.slides.length; x++) {\n let slide = slider.slides[x];\n\n slide.classList.add('base');\n\n if (infiniteScrollEnabled(slider)) {\n let config = { subtree: true, childList: true };\n\n let observer = new MutationObserver(mutations => {\n for (let y = 0; y < mutations.length; y++) {\n let mutationRecord = mutations[y];\n\n // var href = mutationRecord.target.closest('a.meta-item-link').getAttribute('href');\n let thisSlide = mutationRecord.target.closest('.swiper-slide');\n if (thisSlide) {\n let thisLink = thisSlide.querySelector('a.meta-item-link').getAttribute('href');\n\n let duplicatedSlides = getMatchingDuplicatedSlides(slider, thisLink);\n\n Array.from(duplicatedSlides).forEach(dupe => {\n dupe.innerHTML = thisSlide.innerHTML;\n });\n }\n }\n });\n\n observer.observe(slide, config);\n\n slideObservers.push(observer);\n }\n }\n\n addAndRemoveSlides(slider);\n\n return true;\n}\n\nfunction infiniteScrollEnabled(slider) {\n if (!Modernizr.smil) return false; // i.e. is this IE11\n\n if (isTouchscreenEnabled()) return false; // i.e. is this a touchscreen device?\n\n let el = slider.el;\n\n if (el.getAttribute('disable-infinite-scroll') !== null) {\n return false;\n }\n\n let prev = el.buttons.prev;\n let next = el.buttons.next;\n\n // Only infinite scroll on desktop (i.e. when the next/prev buttons are visible)\n let buttonsVisible = (prev && prev.offsetHeight > 0) || (next && next.offsetHeight > 0);\n\n let screens = slider.slides.length / slider.params.slidesPerView;\n\n return buttonsVisible && screens > 1;\n}\n\nfunction addAndRemoveSlides(slider, append, prepend) {\n // This is a no-go\n if (!infiniteScrollEnabled(slider)) return;\n\n // Just in case something's gone horribly wrong\n if (slider.slides.length > 100) {\n return;\n }\n\n if (append) {\n let lastVisibleIndex = slider.activeIndex + slider.params.slidesPerView;\n let slidesToTheRight = slider.slides.length - lastVisibleIndex;\n\n if (slidesToTheRight <= slider.params.slidesPerView) {\n appendBaseSlides(slider);\n }\n }\n\n if (prepend) {\n if (slider.activeIndex <= slider.params.slidesPerView) {\n prependBaseSlides(slider);\n }\n }\n}\n\nfunction getBaseSlides(slider) {\n let result = Array.from(slider.el.querySelectorAll('.swiper-slide.base')).map(node => {\n return node.cloneNode(true);\n });\n\n Array.from(result).forEach(slide => {\n slide.classList.remove(\n 'base',\n 'swiper-slide-visible',\n 'swiper-slide-active',\n 'swiper-slide-next',\n 'swiper-slide-prev'\n );\n });\n\n return result;\n}\n\nfunction appendBaseSlides(slider) {\n let baseSlides = getBaseSlides(slider).slice(0);\n slider.appendSlide(baseSlides);\n\n cullSlides(slider, 1);\n}\n\nfunction prependBaseSlides(slider) {\n // var baseSlides = getBaseSlides(slider).reverse().slice(0);\n let baseSlides = getBaseSlides(slider).reverse().slice(0);\n\n let currentIndex = slider.activeIndex;\n\n for (let i = 0; i < baseSlides.length; i++) {\n slider.prependSlide(baseSlides[i]);\n }\n slider.slideTo(currentIndex + baseSlides.length, 0);\n\n cullSlides(slider, -1);\n}\n\n// Get rid of the oldest N slides to the left of current\nfunction cullSlides(slider, direction) {\n let baseSlides = getBaseSlides(slider);\n\n let indices = [];\n for (let index = 0; index < slider.slides.length; index++) {\n let slide = slider.slides[index];\n if (direction > 0) {\n if (index < slider.activeIndex && !slide.classList.contains('base')) {\n indices.push(index);\n }\n } else if (index > slider.activeIndex && !slide.classList.contains('base')) {\n indices.push(index);\n }\n }\n\n if (indices.length > baseSlides.length) {\n let toCullIndices = [];\n if (direction > 0) {\n toCullIndices = indices.slice(0, baseSlides.length);\n } else {\n toCullIndices = indices.reverse().slice(0, baseSlides.length).reverse();\n }\n\n slider.removeSlide(toCullIndices.reverse());\n }\n}\n\nfunction initSearch() {\n let searchButton = document.querySelector('.btn-search-open');\n let searchForm = document.querySelector('.form-control-search');\n\n let openSearch = function () {\n document.querySelector('.form-control-search').focus();\n document.querySelector('.navbar-nav-search').classList.add('search-show');\n document.querySelector('.navbar-nav-search').classList.remove('search-hidden');\n };\n\n let closeSearch = function () {\n document.querySelector('.navbar-nav-search').classList.remove('search-show');\n document.querySelector('.navbar-nav-search').classList.add('search-hidden');\n };\n\n searchButton.addEventListener('click', openSearch, false);\n searchForm.addEventListener('focusin', openSearch, false);\n searchForm.addEventListener('focusout', closeSearch, false);\n}\n\nfunction initScroll() {\n let nav = document.querySelector('.navbar-toggler');\n nav.addEventListener('click', () => {\n toggleScroll();\n });\n}\n\nfunction toggleScroll() {\n let body = document.querySelector('body');\n if (!body.classList.contains('no-scroll')) {\n body.classList.add('no-scroll');\n } else {\n body.classList.remove('no-scroll');\n }\n}\n\nfunction documentReady(app) {\n initializeWishlist();\n\n app.classificationsService.load('/classifications.all.json');\n app.urlMapService.load('/urlmap.json');\n\n detectTouchscreen();\n\n let swipers = document.getElementsByClassName('swiper-container');\n for (let i = 0; i < swipers.length; i++) {\n let el = swipers[i];\n if (el.getAttribute('is-wishlist') == undefined) {\n let swiper = initializeSwiper(el, false);\n init(swiper);\n\n toggleButtons(el);\n }\n }\n\n document.querySelectorAll('.s72-btn-trailer:not(.s72-btn-play)').forEach(btn => {\n btn.addEventListener('click', e => {\n e.preventDefault();\n e.stopPropagation();\n });\n });\n\n document.querySelectorAll('.navbar-nav').forEach(nav => {\n nav.classList.remove('s72-hide');\n });\n\n if (document.querySelector('.navbar-nav-search')) {\n initSearch();\n }\n initScroll();\n}\n\nfunction detectTouchscreen() {\n let touchEnabled = s72.utils.device.isTouchEnabled();\n document.querySelector('html').setAttribute('is-touchscreen', touchEnabled);\n}\n\nfunction isTouchscreenEnabled() {\n return document.querySelector('html').getAttribute('is-touchscreen') === 'true';\n}\ndocument.addEventListener('s72loaded', event => {\n let app = event.detail.app;\n documentReady(app);\n});\n"],"names":["super","this","utils","let","getComponentElement","AppComponent","bindAllComponents","render","h","attrs","y"],"mappings":";;;EAAA;EACA;EACA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAA,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAA,EAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA,EAAC,CAAC,EAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAA,CAAC,CAAC,SAAS,CAAC,UAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;;ECC5iD,IAAM,kBAAkB,iBAAqB,UAAA,YAAA,EAAA;EAC1D,EAAA,SAAA,kBAAW,CAAC,KAAK,EAAE,OAAO,EAAE;EAC9B,IAAIA,iBAAK,CAAC,IAAA,EAAA,KAAK,EAAE,OAAO,CAAC,CAAC;EAC1B,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;EACnC,GAAA;;;;EAAG,EAAA,kBAAA,CAAA,SAAA,CAAA,WAAA,GAAA,kBAAA,CAAA;AACH;EACA,EAAA,kBAAA,CAAA,SAAA,CAAE,kDAAoB;;AAAC;EACvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,EAAA,qBAAQC,QAAI,CAAC,WAAW,EAAA,CAAA,EAAE,CAAC,CAAC;EAC9E,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAA,qBAAQA,QAAI,CAAC,WAAW,EAAA,CAAA,EAAE,CAAC,CAAC;EAC/E,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,4BAA4B,EAAA,UAAE,SAC1DA,EAAAA,OAAAA,QAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA,EAAA;EAC5C,KAAK,CAAC;EACN,GAAG,CAAA;AACH;EACA,EAAA,kBAAA,CAAA,SAAA,CAAE,wDAAuB;;AAAC;EAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,4BAA4B,EAAA,qBAAQA,QAAI,CAAC,WAAW,EAAA,CAAA,EAAE,CAAC,CAAC;EAC5F,GAAG,CAAA;AACH;EACA,EAAA,kBAAA,CAAA,SAAA,CAAE,sCAAc;;AAAC;EACjB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;EAClF,MAAM,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;EACnD,SAAS,IAAI,aAAO;EACpB,UAAU,OAAOA,QAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;EACjD,SAAS,EAAEC,WAAK,CAAC,IAAI,CAAC;EACtB,SAAS,IAAI,aAAO;EACpB,UAAUC,IAAI,CAAC,GAAGC,0BAAmB,CAACH,QAAI,CAAC,CAAC;EAC5C,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAEA,QAAI,CAAC,KAAK,CAAC,MAAM,IAAIA,QAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EAClF,SAAS,EAAEC,WAAK,CAAC,IAAI,CAAC,CAAC;EACvB,KAAK;EACL,GAAG,CAAA;AACH;EACA,EAAE,kBAAA,CAAA,SAAA,CAAA,wBAAA,GAAA,SAAA,wBAAA,EAAyB,OAAO,EAAE;EACpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;EAC9C,MAAM,OAAO;EACb,KAAK;EACL,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,GAAG,CAAA;AACH;EACA,EAAE,kBAAA,CAAA,SAAA,CAAA,gBAAA,GAAA,SAAA,gBAAA,EAAiB,IAAI,EAAE;;AAAC;EAC1B,IAAI,IAAIA,WAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAKA,WAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;EAC5D,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAA,UAAC,GAAK;EAC1E,QAAQD,QAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;EACxD,OAAO,CAAC,CAAC;EACT,KAAK;EACL,IAAI,OAAO;EACX,GAAG,CAAA;AACH;EACA,EAAA,kBAAA,CAAA,SAAA,CAAE,QAAQ,GAAA,SAAA,QAAA,EAAC,KAAK,EAAE,GAAG,EAAE;EACvB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;EAC3B,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAE,OAAO,EAAA;EAChC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACrB,GAAG,CAAA;AACH;EACA,EAAA,kBAAA,CAAA,SAAA,CAAE,MAAM,GAAA,SAAA,MAAA,EAAC,KAAK,EAAE,KAAK,EAAE;;AAAC;EACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAA,EAAE,OAAO,EAAA;EACxF,IAAI;EACJ,MAAM,KAAK,CAAC,MAAM;EAClB,MAAM,KAAK,CAAC,OAAO;EACnB,QAAQ,kBAAO,EAAA;EACf,UAAU,KAAM,EAAA,gCAAgC,EACtC,OAAA,EAAA,UAAS,GAAK;EACxB,YAAYA,QAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;EACxC,WACS,EAAA;EACT,UAAU,GAAC,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAK,KAAA,EAAM,UAAQ,CAAG;EACjC,UAAU,GAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAM,KAAA,EAAM,6CAA2C,KAAK,CAAC,KAAM,CAAO;EACpF,SAAiB;EACjB,OAAO;EACP,MAAM;EACN,GAAA,CAAA;;;EAtEgD,CAAA,CAAAI,mBAAA,CAAA,CAAA,CAAA;AAwEhD;AACAC,0BAAiB,CAAC,uBAAuB,EAAE,UAAA,QAAA,EAAY;EACvD,EAAE,OAAO,QAAQ,CAAC,GAAG,WAAC,CAAC,EAAA,EAAA,OAAIC,aAAM,CAACC,QAAC,CAAC,kBAAkB,EAAEC,YAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;EACvE,CAAC,CAAC;;EC3Ea,IAAM,sBAAsB,iBAAqB,UAAA,YAAA,EAAA;EAC9D,EAAA,SAAA,sBAAW,CAAC,KAAK,EAAE,OAAO,EAAE;EAC9B,IAAIT,iBAAK,CAAC,IAAA,EAAA,KAAK,EAAE,OAAO,CAAC,CAAC;EAC1B,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;EACnC,GAAA;;;;;;EAAG,EAAA,IAAA,kBAAA,GAAA,EAAA,eAAA,EAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,CAAA;AACH;EACA,EAAA,sBAAA,CAAA,SAAA,CAAE,kDAAoB;;AAAC;EACvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,EAAA,qBAAQC,QAAI,CAAC,WAAW,EAAA,CAAA,EAAE,CAAC,CAAC;EAC9E,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAA,qBAAQA,QAAI,CAAC,WAAW,EAAA,CAAA,EAAE,CAAC,CAAC;EAC/E,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,4BAA4B,EAAA,UAAE,SAC1DA,EAAAA,OAAAA,QAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA,EAAA;EAC5C,KAAK,CAAC;EACN,GAAG,CAAA;AACH;EACA,EAAA,sBAAA,CAAA,SAAA,CAAE,wDAAuB;;AAAC;EAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,4BAA4B,EAAA,qBAAQA,QAAI,CAAC,WAAW,EAAA,CAAA,EAAE,CAAC,CAAC;EAC5F,GAAG,CAAA;AACH;EACA,EAAA,sBAAA,CAAA,SAAA,CAAE,sCAAc;;AAAC;EACjB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;EAClF,MAAM,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;EACnD,SAAS,IAAI,aAAO;EACpB,UAAU,OAAOA,QAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;EACjD,SAAS,EAAEC,WAAK,CAAC,IAAI,CAAC;EACtB,SAAS,IAAI,aAAO;EACpB,UAAUC,IAAI,CAAC,GAAGC,0BAAmB,CAACH,QAAI,CAAC,CAAC;EAC5C,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAEA,QAAI,CAAC,eAAe,CAAC,CAAC;EAC/D,SAAS,EAAEC,WAAK,CAAC,IAAI,CAAC,CAAC;EACvB,KAAK;EACL,GAAG,CAAA;AACH;EACA,EAAE,kBAAA,CAAI,kCAAkB;EACxB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;EACpD,GAAG,CAAA;AACH;EACA,EAAE,sBAAA,CAAA,SAAA,CAAA,wBAAA,GAAA,SAAA,wBAAA,EAAyB,OAAO,EAAE;EACpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;EAC9C,MAAM,OAAO;EACb,KAAK;EACL,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,GAAG,CAAA;AACH;EACA,EAAE,sBAAA,CAAA,SAAA,CAAA,gBAAA,GAAA,SAAA,gBAAA,EAAiB,IAAI,EAAE;;AAAC;EAC1B,IAAI,IAAIA,WAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAKA,WAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;EAC5D,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAA,UAAC,GAAK;EAC1E,QAAQD,QAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;EACxD,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG,CAAA;EACH;EACA,EAAE,sBAAA,CAAA,SAAA,CAAA,MAAA,GAAA,SAAA,MAAA,EAAO,KAAK,EAAE;EAChB,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,EAAA,OAAO,IAAI,CAAC,EAAA;EACnF,IAAI;EACJ,MAAM,kBAAO,EAAA;EACb,QAAQ,IAAA,EAAK,QAAQ,EACb,KAAA,EAAM,oDAAoD,EAC1D,OAAA,EAAA,UAAS,GAAK;EACtB,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC;EAC7B,UAAU,IAAI,KAAK,CAAC,GAAG,EAAE;EACzB,YAAY,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;EAC7C,WAAW;EACX,SACO,EAAA;EACP,QAAQ,GAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAM,KAAA,EAAM,UAAQ,KAAK,CAAC,KAAM,CAAO;EAC/C,OAAe;EACf,MAAM;EACN,GAAA,CAAA;;;;;EAnEoD,CAAA,CAAAI,mBAAA,CAAA,CAAA,CAAA;AAqEpD;AACAC,0BAAiB,CAAC,0BAA0B,EAAE,UAAA,QAAA,EAAY;EAC1D,EAAE,OAAO,QAAQ,CAAC,GAAG,WAAC,CAAC,EAAA,EAAA,OAAIC,aAAM,CAACC,QAAC,CAAC,sBAAsB,EAAEC,YAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;EAC3E,CAAC,CAAC;;ECnEF,SAAS,kBAAkB,GAAG;EAC9B,EAAEN,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;EAC5D,EAAE,IAAI,CAAC,QAAQ,EAAA,EAAE,OAAO,EAAA;EACxB,EAAEA,IAAI,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;EACnD,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,SAAS,EAAE;EACnD,IAAI,IAAI,SAAS,IAAI,UAAU,EAAE;EACjC;EACA,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC;EACA;EACA,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAChD;EACA;EACA,MAAMA,IAAI,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;EAC3E,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;EACjC,QAAQA,IAAI,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;EACtC,QAAQA,IAAI,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACvD;EACA,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC;EACrB,QAAQ,aAAa,CAAC,SAAS,CAAC,CAAC;EACjC,OAAO;AACP;EACA;EACA,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;EACnC,KAAK,MAAM;EACX,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;EAChD,KAAK;EACL,GAAG,CAAC;EACJ,CAAC;AACD;EACA,SAAS,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE;EAC1C,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE;EACtB,IAAI,IAAI,KAAK,EAAE;EACf,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;EAC/B,KAAK,MAAM;EACX,MAAM,OAAO;EACb,KAAK;EACL,GAAG;AACH;EACA,EAAEA,IAAI,aAAa,GAAG,oBAAoB,EAAE,CAAC;AAC7C;EACA,EAAEA,IAAI,oBAAoB,GAAG,CAAC,CAAC;EAC/B,EAAEA,IAAI,aAAa,GAAG;EACtB,IAAI,GAAG,EAAE,CAAC;EACV,IAAI,GAAG,EAAE,CAAC;EACV,IAAI,GAAG,EAAE,CAAC;EACV,IAAI,GAAG,EAAE,CAAC;EACV,IAAI,GAAG,EAAE,CAAC;EACV,IAAI,IAAI,EAAE,CAAC;EACX,IAAI,IAAI,EAAE,CAAC;EACX,IAAI,IAAI,EAAE,CAAC;EACX,GAAG,CAAC;AACJ;EACA;EACA,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE;EAClD,IAAIA,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;EACjE,IAAIA,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AACrD;EACA,IAAI,IAAI,MAAM,IAAI,UAAU,EAAE;EAC9B,MAAM,QAAQ,WAAW;EACzB,MAAM,KAAK,GAAG;EACd,QAAQ,oBAAoB,GAAG,CAAC,CAAC;EACjC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,GAAG;EACd,QAAQ,oBAAoB,GAAG,CAAC,CAAC;EACjC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,MAAM;EACd,OAAO;EACP,KAAK,MAAM,IAAI,MAAM,IAAI,WAAW,EAAE;EACtC,MAAM,QAAQ,WAAW;EACzB,MAAM,KAAK,GAAG;EACd,QAAQ,oBAAoB,GAAG,CAAC,CAAC;EACjC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,GAAG;EACd,QAAQ,oBAAoB,GAAG,CAAC,CAAC;EACjC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC/B,QAAQ,MAAM;EACd,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAEA,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE;EACnC,IAAI,IAAI,EAAE,KAAK;EACf,IAAI,aAAa,EAAE,oBAAoB;EACvC,IAAI,YAAY,EAAE,CAAC;EACnB,IAAI,cAAc,EAAE,CAAC;EACrB,IAAI,KAAK,EAAE,GAAG;EACd,IAAI,qBAAqB,EAAE,IAAI;AAC/B;EACA,IAAI,WAAW,EAAE;EACjB;EACA,MAAM,GAAG,EAAE;EACX,QAAQ,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC;EACzC,QAAQ,YAAY,EAAE,CAAC;EACvB,QAAQ,cAAc,EAAE,CAAC;EACzB,QAAQ,kBAAkB,EAAE,EAAE;EAC9B,QAAQ,iBAAiB,EAAE,EAAE;EAC7B,OAAO;EACP;EACA,MAAM,GAAG,EAAE;EACX,QAAQ,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC;EACzC,QAAQ,YAAY,EAAE,CAAC;EACvB,QAAQ,cAAc,EAAE,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;EAC9D,QAAQ,kBAAkB,EAAE,EAAE;EAC9B,QAAQ,iBAAiB,EAAE,EAAE;EAC7B,OAAO;EACP;EACA,MAAM,GAAG,EAAE;EACX,QAAQ,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC;EACzC,QAAQ,YAAY,EAAE,CAAC;EACvB,QAAQ,cAAc,EAAE,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;EAC9D,OAAO;EACP,MAAM,GAAG,EAAE;EACX,QAAQ,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC;EACzC,QAAQ,YAAY,EAAE,CAAC;EACvB,QAAQ,cAAc,EAAE,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;EAC9D,OAAO;EACP,MAAM,GAAG,EAAE;EACX,QAAQ,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC;EACzC,QAAQ,YAAY,EAAE,CAAC;EACvB,QAAQ,cAAc,EAAE,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;EAC9D,OAAO;EACP,MAAM,IAAI,EAAE;EACZ,QAAQ,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC;EAC1C,QAAQ,YAAY,EAAE,CAAC;EACvB,QAAQ,cAAc,EAAE,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;EAC/D,OAAO;EACP,MAAM,IAAI,EAAE;EACZ,QAAQ,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC;EAC1C,QAAQ,YAAY,EAAE,CAAC;EACvB,QAAQ,cAAc,EAAE,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;EAC/D,OAAO;EACP,MAAM,IAAI,EAAE;EACZ,QAAQ,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC;EAC1C,QAAQ,YAAY,EAAE,CAAC;EACvB,QAAQ,cAAc,EAAE,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;EAC/D,OAAO;EACP,KAAK;EACL,IAAI,UAAU,EAAE;EAChB,MAAM,EAAE,EAAE,oBAAoB;EAC9B,MAAM,SAAS,EAAE,IAAI;EACrB,KAAK;EACL,IAAI,EAAE,EAAE;EACR,MAAM,mBAAI,GAAG;EACb,QAAQ,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACjD,OAAO;EACP,MAAM,2DAAwB,GAAG;EACjC,QAAQ,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;EACvD,QAAQ,aAAa,CAAC,OAAO,CAAC,CAAC;EAC/B,OAAO;EACP,KAAK;EACL,GAAG,CAAC,CAAC;AACL;EACA,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;AACvB;EACA,EAAE,UAAU;EACZ,IAAI,OAAO;EACX,IAAI,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC;EACrF,IAAI,CAAC;EACL,GAAG,CAAC;EACJ,EAAE,UAAU;EACZ,IAAI,OAAO;EACX,IAAI,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC;EACrF,IAAI,CAAC,CAAC;EACN,GAAG,CAAC;AACJ;EACA,EAAE,OAAO,MAAM,CAAC;EAChB,CAAC;AACD;EACA,SAAS,aAAa,CAAC,MAAM,EAAE;EAC/B,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;EACjD,CAAC;AACD;EACA,SAAS,YAAY,CAAC,MAAM,EAAE;EAC9B,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;EACpD,CAAC;AACD;EACA,SAAS,aAAa,CAAC,MAAM,EAAE;EAC/B,EAAEA,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;EAC/C,EAAEA,IAAI,eAAe,GAAG,YAAY,CAAC;EACrC,EAAEA,IAAI,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;EACzD,EAAEA,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;EACjD,EAAEA,IAAI,gBAAgB,GAAG,YAAY,GAAG,aAAa,CAAC;EACtD,EAAEA,IAAI,gBAAgB,GAAG,YAAY,GAAG,gBAAgB,CAAC;AACzD;EACA,EAAE,IAAI,eAAe,IAAI,CAAC,EAAE;EAC5B,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EACvC,GAAG,MAAM;EACT,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EACtC,GAAG;AACH;EACA,EAAE,IAAI,gBAAgB,IAAI,CAAC,EAAE;EAC7B,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EACvC,GAAG,MAAM;EACT,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EACtC,GAAG;EACH,CAAC;AACD;EACA,SAAS,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;EAC9C,EAAE,IAAI,MAAM,EAAE;EACd,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;EACxC;EACA,IAAIA,IAAI,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;EAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACxD;EACA,IAAI,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAA,UAAE,GAAK;EAC/C,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;EACzB,MAAM,IAAI,QAAQ,GAAG,CAAC,EAAE;EACxB,QAAQ,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;EACvD,OAAO,MAAM;EACb,QAAQ,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;EACvD,OAAO;EACP,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW;EAC/B,QAAQ,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ;EAC/E,OAAO,CAAC;EACR,KAAK,CAAC,CAAC;AACP;EACA,IAAIA,IAAI,SAAS,GAAG,QAAQ,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;EACnD,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;EAC5C,GAAG;EACH,CAAC;AACD;EACA,SAAS,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE;EACnD,EAAEA,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB;EACA,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;EACzB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAA,UAAC,OAAS;EAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EAC7C,QAAQA,IAAI,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;EACpF,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAA,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAA;EAClD,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;AACH;EACA,EAAE,OAAO,MAAM,CAAC;EAChB,CAAC;AACD;EACA,SAAS,IAAI,CAAC,MAAM,EAAE;EACtB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAChB;EACA;EACA,EAAE,KAAKA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACjD,IAAIA,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC;EACA,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChC;EACA,IAAI,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;EACvC,MAAMA,IAAI,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACtD;EACA,MAAMA,IAAI,QAAQ,GAAG,IAAI,gBAAgB,CAAA,UAAC,WAAa;EACvD,QAAmD,IAAA,IAAA,GAAA,WAAA,CAAA,GAAA;EACnD,UAAUA,IAAI,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5C;EACA;EACA,UAAUA,IAAI,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;EACzE,UAAU,IAAI,SAAS,EAAE;EACzB,YAAYA,IAAI,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC5F;EACA,YAAYA,IAAI,gBAAgB,GAAG,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjF;EACA,YAAY,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAA,IAAA,EAAQ;EACzD,cAAc,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;EACnD,aAAa,CAAC,CAAC;EACf,WAAW;EACX,SAAA,CAAA;;EAdQ,QAAA,KAAKA,IAAIO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAcxC,IAAA,EAAA,CAAA,EAAA,CAAA;EACT,OAAO,CAAC,CAAC;AACT;EACA,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;EAGtC,KAAK;EACL,GAAG;AACH;EACA,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC7B;EACA,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;AACD;EACA,SAAS,qBAAqB,CAAC,MAAM,EAAE;EACvC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAA,OAAO,KAAK,CAAC,EAAA;AACpC;EACA,EAAE,IAAI,oBAAoB,EAAE,EAAE,EAAA,OAAO,KAAK,CAAC,EAAA;AAC3C;EACA,EAAEP,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AACrB;EACA,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,IAAI,EAAE;EAC3D,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA,EAAEA,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;EAC7B,EAAEA,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;AAC7B;EACA;EACA,EAAEA,IAAI,cAAc,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AAC1F;EACA,EAAEA,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;AACnE;EACA,EAAE,OAAO,cAAc,IAAI,OAAO,GAAG,CAAC,CAAC;EACvC,CAAC;AACD;EACA,SAAS,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;EACrD;EACA,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAE,OAAO,EAAA;AAC7C;EACA;EACA,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;EAClC,IAAI,OAAO;EACX,GAAG;AACH;EACA,EAAE,IAAI,MAAM,EAAE;EACd,IAAIA,IAAI,gBAAgB,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;EAC5E,IAAIA,IAAI,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC;AACnE;EACA,IAAI,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;EACzD,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;EAC/B,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,OAAO,EAAE;EACf,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;EAC3D,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;EAChC,KAAK;EACL,GAAG;EACH,CAAC;AACD;EACA,SAAS,aAAa,CAAC,MAAM,EAAE;EAC/B,EAAEA,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,UAAA,IAAA,EAAQ;EACxF,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;EAChC,GAAG,CAAC,CAAC;AACL;EACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,KAAA,EAAS;EACtC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM;EAC1B,MAAM,MAAM;EACZ,MAAM,sBAAsB;EAC5B,MAAM,qBAAqB;EAC3B,MAAM,mBAAmB;EACzB,MAAM,mBAAmB;EACzB,KAAK,CAAC;EACN,GAAG,CAAC,CAAC;AACL;EACA,EAAE,OAAO,MAAM,CAAC;EAChB,CAAC;AACD;EACA,SAAS,gBAAgB,CAAC,MAAM,EAAE;EAClC,EAAEA,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EAClD,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACjC;EACA,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;EACxB,CAAC;AACD;EACA,SAAS,iBAAiB,CAAC,MAAM,EAAE;EACnC;EACA,EAAEA,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D;EACA,EAAEA,IAAI,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;AACxC;EACA,EAAE,KAAKA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC9C,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;EACvC,GAAG;EACH,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACtD;EACA,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;EACzB,CAAC;AACD;EACA;EACA,SAAS,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE;EACvC,EAAEA,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AACzC;EACA,EAAEA,IAAI,OAAO,GAAG,EAAE,CAAC;EACnB,EAAE,KAAKA,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;EAC7D,IAAIA,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EACrC,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE;EACvB,MAAM,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EAC3E,QAAQ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EAC5B,OAAO;EACP,KAAK,MAAM,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EAChF,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EAC1B,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE;EAC1C,IAAIA,IAAI,aAAa,GAAG,EAAE,CAAC;EAC3B,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE;EACvB,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;EAC1D,KAAK,MAAM;EACX,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;EAC9E,KAAK;AACL;EACA,IAAI,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;EAChD,GAAG;EACH,CAAC;AACD;EACA,SAAS,UAAU,GAAG;EACtB,EAAEA,IAAI,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;EAChE,EAAEA,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;AAClE;EACA,EAAEA,IAAI,UAAU,GAAG,YAAY;EAC/B,IAAI,QAAQ,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;EAC3D,IAAI,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;EAC9E,IAAI,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;EACnF,GAAG,CAAC;AACJ;EACA,EAAEA,IAAI,WAAW,GAAG,YAAY;EAChC,IAAI,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;EACjF,IAAI,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;EAChF,GAAG,CAAC;AACJ;EACA,EAAE,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;EAC5D,EAAE,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;EAC5D,EAAE,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;EAC9D,CAAC;AACD;EACA,SAAS,UAAU,GAAG;EACtB,EAAEA,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;EACtD,EAAE,GAAG,CAAC,gBAAgB,CAAC,OAAO,cAAQ;EACtC,IAAI,YAAY,EAAE,CAAC;EACnB,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACA,SAAS,YAAY,GAAG;EACxB,EAAEA,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EAC5C,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;EAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;EACpC,GAAG,MAAM;EACT,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;EACvC,GAAG;EACH,CAAC;AACD;EACA,SAAS,aAAa,CAAC,GAAG,EAAE;EAC5B,EAAE,kBAAkB,EAAE,CAAC;AACvB;EACA,EAAE,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;EAC/D,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACzC;EACA,EAAE,iBAAiB,EAAE,CAAC;AACtB;EACA,EAAEA,IAAI,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;EACpE,EAAE,KAAKA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC3C,IAAIA,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;EACxB,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,SAAS,EAAE;EACrD,MAAMA,IAAI,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;EAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;AACnB;EACA,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;EACxB,KAAK;EACL,GAAG;AACH;EACA,EAAE,QAAQ,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,CAAC,OAAO,CAAC,UAAA,GAAA,EAAO;EAClF,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAA,UAAE,GAAK;EACvC,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;EACzB,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;EAC1B,KAAK,CAAC,CAAC;EACP,GAAG,CAAC,CAAC;AACL;EACA,EAAE,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAA,GAAA,EAAO;EAC1D,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;EACrC,GAAG,CAAC,CAAC;AACL;EACA,EAAE,IAAI,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE;EACpD,IAAI,UAAU,EAAE,CAAC;EACjB,GAAG;EACH,EAAE,UAAU,EAAE,CAAC;EACf,CAAC;AACD;EACA,SAAS,iBAAiB,GAAG;EAC7B,EAAEA,IAAI,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;EACvD,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;EAC9E,CAAC;AACD;EACA,SAAS,oBAAoB,GAAG;EAChC,EAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;EAClF,CAAC;EACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAA,UAAE,OAAS;EAChD,EAAEA,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;EAC7B,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;EACrB,CAAC,CAAC;;;;;;"}
|
@@ -65,13 +65,14 @@
|
|
65
65
|
justify-content: space-between;
|
66
66
|
left: 0;
|
67
67
|
opacity: 0;
|
68
|
-
padding: 15px;
|
68
|
+
padding: 0px 15px; // No vertical padding so that in edge cases where multiple purchase options are displayed there's enough space.
|
69
69
|
position: absolute;
|
70
70
|
right: 0;
|
71
71
|
top: 0;
|
72
72
|
transition: opacity 0.25s ease-in;
|
73
73
|
z-index: 100;
|
74
74
|
|
75
|
+
|
75
76
|
.buttons {
|
76
77
|
@extend .d-flex;
|
77
78
|
align-items: center;
|
@@ -81,6 +82,11 @@
|
|
81
82
|
position: relative;
|
82
83
|
width: 100%;
|
83
84
|
|
85
|
+
// If there are multiple types of buttons shown here, using flex gap
|
86
|
+
// will space them out.
|
87
|
+
gap: 16px;
|
88
|
+
|
89
|
+
|
84
90
|
s72-can-be-watched-now {
|
85
91
|
margin-left: auto;
|
86
92
|
}
|
@@ -111,6 +117,13 @@
|
|
111
117
|
}
|
112
118
|
}
|
113
119
|
|
120
|
+
.s72-btn-purchase {
|
121
|
+
min-width: 140px;
|
122
|
+
width: auto;
|
123
|
+
|
124
|
+
.verb { font-size: 14px; }
|
125
|
+
}
|
126
|
+
|
114
127
|
.btn-wishlist .s72-btn-wishlist {
|
115
128
|
font-size: 14px;
|
116
129
|
line-height: 18px;
|
@@ -12,13 +12,21 @@
|
|
12
12
|
|
13
13
|
{{showPricingButtons := isFilm || isSeason || isBundle}}
|
14
14
|
{{showPlayButton := isFilm || isSeason || isEpisode}}
|
15
|
-
{{showCanBeWatchedButton := isFilm}}
|
16
15
|
{{showTrailerButton := trailerURL != ""}}
|
17
16
|
{{showWishlistButton := isFilm || isSeason || isEpisode}}
|
18
17
|
{{showShareButton := isFilm || isSeason || isEpisode || isBundle}}
|
19
18
|
{{autoplay := !isCarousel}}
|
20
19
|
|
21
|
-
{
|
20
|
+
{* These are limited to films for now, but really it should work for anything that has custom fields *}
|
21
|
+
{{canBeWatchedButtonLink := isFilm ? .CustomFields.GetString("can_be_watched_button_link", "") : ""}}
|
22
|
+
{{canBeWatchedButtonText := isFilm ? .CustomFields.GetString("can_be_watched_button_text", "can_be_watched_button_text") : ""}}
|
23
|
+
{{showCanBeWatchedButton := len(canBeWatchedButtonLink) > 0}}
|
24
|
+
|
25
|
+
{{externalPurchaseButtonLink := isFilm ? .CustomFields.GetString("external_purchase_button_link", "") : ""}}
|
26
|
+
{{externalPurchaseButtonText := isFilm ? .CustomFields.GetString("external_purchase_button_text", "external_purchase_button_text") :"" }}
|
27
|
+
{{showExternalPurchaseButton := len(externalPurchaseButtonLink) > 0}}
|
28
|
+
|
29
|
+
{{showCtaButtons := showPricingButtons || showPlayButton || showCanBeWatchedButton || showTrailerButton || showWishlistButton || showShareButton || showExternalPurchaseButton}}
|
22
30
|
{{showExtraButtons := showTrailerButton || showWishlistButton || showShareButton}}
|
23
31
|
|
24
32
|
|
@@ -34,9 +42,11 @@
|
|
34
42
|
{{end}}
|
35
43
|
|
36
44
|
{{if showCanBeWatchedButton}}
|
37
|
-
{{
|
38
|
-
|
39
|
-
|
45
|
+
<can-be-watched-button data-slug="{{slug}}" data-url="{{canBeWatchedButtonLink}}" data-label="{{canBeWatchedButtonText | i18n}}"></can-be-watched-button>
|
46
|
+
{{end}}
|
47
|
+
|
48
|
+
{{if showExternalPurchaseButton}}
|
49
|
+
<external-purchase-button data-slug="{{slug}}" data-url="{{externalPurchaseButtonLink}}" data-label="{{externalPurchaseButtonText | i18n}}"></external-purchase-button>
|
40
50
|
{{end}}
|
41
51
|
|
42
52
|
{{if showExtraButtons}}
|
@@ -40,6 +40,15 @@
|
|
40
40
|
{{title = item.InnerItem.ShowInfo.Title}}
|
41
41
|
{{pill = i18n("season_name") + " " + item.InnerItem.SeasonNumber}}
|
42
42
|
{{end}}
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
{{canBeWatchedLink := isFilm ? item.InnerItem.CustomFields.GetString("can_be_watched_button_link", "") : ""}}
|
47
|
+
{{canBeWatchedText := isFilm ? item.InnerItem.CustomFields.GetString("can_be_watched_button_text", "can_be_watched_button_text") : ""}}
|
48
|
+
|
49
|
+
{{externalPurchaseButtonLink := isFilm ? item.InnerItem.CustomFields.GetString("external_purchase_button_link", "") : ""}}
|
50
|
+
{{externalPurchaseButtonText := isFilm ? item.InnerItem.CustomFields.GetString("external_purchase_button_text", "external_purchase_button_text") : ""}}
|
51
|
+
|
43
52
|
{{if wrapper_class != ""}}
|
44
53
|
<div class="{{wrapper_class}}">
|
45
54
|
{{end}}
|
@@ -75,8 +84,12 @@
|
|
75
84
|
<s72-pricing-buttons data-slug="{{item.Slug}}" class="pricing-buttons-fit" title="{{item.Title}}"></s72-pricing-buttons>
|
76
85
|
{{end}}
|
77
86
|
|
78
|
-
{{if
|
79
|
-
<can-be-watched-button data-slug="{{item.InnerItem.Slug}}" data-url="{{
|
87
|
+
{{if len(canBeWatchedLink) > 0}}
|
88
|
+
<can-be-watched-button data-slug="{{item.InnerItem.Slug}}" data-url="{{canBeWatchedLink}}" data-label="{{canBeWatchedText | i18n}}"></can-be-watched-button>
|
89
|
+
{{end}}
|
90
|
+
|
91
|
+
{{if len(externalPurchaseButtonLink) > 0}}
|
92
|
+
<external-purchase-button data-slug="{{item.InnerItem.Slug}}" data-url="{{externalPurchaseButtonLink}}" data-label="{{externalPurchaseButtonText | i18n}}"></external-purchase-button>
|
80
93
|
{{end}}
|
81
94
|
</div>
|
82
95
|
</div>
|
package/site/tr_TR.all.json
CHANGED
@@ -1652,5 +1652,11 @@
|
|
1652
1652
|
},
|
1653
1653
|
"verify_email_success_page_back": {
|
1654
1654
|
"other": "E-posta almadınız mı?"
|
1655
|
+
},
|
1656
|
+
"external_purchase_button_text": {
|
1657
|
+
"other": "Satın almak"
|
1658
|
+
},
|
1659
|
+
"wcag_aria_label_social_linkedin": {
|
1660
|
+
"other": "Bizi LinkedIn'de ziyaret edin"
|
1655
1661
|
}
|
1656
|
-
}
|
1662
|
+
}
|
package/site/uk_UA.all.json
CHANGED
@@ -1712,5 +1712,11 @@
|
|
1712
1712
|
},
|
1713
1713
|
"verify_email_success_page_back": {
|
1714
1714
|
"other": "Не отримали електронного листа?"
|
1715
|
+
},
|
1716
|
+
"external_purchase_button_text": {
|
1717
|
+
"other": "Купівля"
|
1718
|
+
},
|
1719
|
+
"wcag_aria_label_social_linkedin": {
|
1720
|
+
"other": "Відвідайте нас на LinkedIn"
|
1715
1721
|
}
|
1716
|
-
}
|
1722
|
+
}
|
package/site/zh_TW.all.json
CHANGED
@@ -1639,5 +1639,11 @@
|
|
1639
1639
|
},
|
1640
1640
|
"verify_email_success_page_back": {
|
1641
1641
|
"other": "沒有收到電子郵件?"
|
1642
|
+
},
|
1643
|
+
"external_purchase_button_text": {
|
1644
|
+
"other": "購買"
|
1645
|
+
},
|
1646
|
+
"wcag_aria_label_social_linkedin": {
|
1647
|
+
"other": "在 LinkedIn 上訪問我們"
|
1642
1648
|
}
|
1643
|
-
}
|
1649
|
+
}
|