Version Description
Download this release
Release Info
Developer | aljullu |
Plugin | WooCommerce Gutenberg Products Block |
Version | 5.1.1 |
Comparing to | |
See all releases |
Code changes from version 5.5.0 to 5.1.1
- LICENSE +0 -674
- assets/css/abstracts/_colors.scss +0 -1
- assets/css/editor.scss +5 -11
- assets/img/avatar.jpg +0 -0
- {images/previews → assets/img}/beanie.jpg +0 -0
- assets/img/block-error.svg +2727 -0
- {images/previews → assets/img}/cap.jpg +0 -0
- {images/previews → assets/img}/collection.jpg +0 -0
- assets/img/grid.svg +50 -0
- assets/img/no-matching-products.svg +1 -0
- assets/img/no-products.svg +1 -0
- {images → assets/img}/payment-methods/alipay.svg +0 -0
- {images → assets/img}/payment-methods/amex.svg +0 -0
- {images → assets/img}/payment-methods/bancontact.svg +0 -0
- {images → assets/img}/payment-methods/diners.svg +0 -0
- {images → assets/img}/payment-methods/discover.svg +0 -0
- {images → assets/img}/payment-methods/eps.svg +0 -0
- {images → assets/img}/payment-methods/giropay.svg +0 -0
- {images → assets/img}/payment-methods/ideal.svg +0 -0
- {images → assets/img}/payment-methods/jcb.svg +0 -0
- {images → assets/img}/payment-methods/laser.svg +0 -0
- {images → assets/img}/payment-methods/maestro.svg +0 -0
- {images → assets/img}/payment-methods/mastercard.svg +0 -0
- {images → assets/img}/payment-methods/multibanco.svg +0 -0
- {images → assets/img}/payment-methods/p24.svg +0 -0
- {images → assets/img}/payment-methods/sepa.svg +0 -0
- {images → assets/img}/payment-methods/sofort.svg +0 -0
- {images → assets/img}/payment-methods/unionpay.svg +0 -0
- {images → assets/img}/payment-methods/visa.svg +0 -0
- {images → assets/img}/payment-methods/wechat.svg +0 -0
- {images/previews → assets/img}/pennant.jpg +0 -0
- assets/img/single-product-preview.svg +5 -0
- assets/js/atomic/utils/index.js +5 -4
- assets/js/atomic/utils/render-inner-blocks.js +69 -0
- assets/js/atomic/utils/render-parent-block.js +41 -0
- assets/js/atomic/utils/render-parent-block.tsx +0 -126
- assets/js/base/components/block-error-boundary/block-error.js +2 -12
- assets/js/base/components/block-error-boundary/index.js +0 -2
- assets/js/base/components/block-error-boundary/style.scss +18 -15
- assets/js/base/components/button/index.tsx +6 -3
- assets/js/base/components/button/style.scss +39 -1
- assets/js/base/components/cart-checkout/address-form/{address-form.tsx → address-form.js} +13 -34
- assets/js/base/components/cart-checkout/address-form/{index.ts → index.js} +0 -0
- assets/js/base/components/cart-checkout/address-form/{prepare-address-fields.ts → prepare-address-fields.js} +10 -34
- assets/js/base/components/cart-checkout/order-summary/index.js +1 -1
- assets/js/base/components/cart-checkout/order-summary/order-summary-item.js +4 -9
- assets/js/base/components/cart-checkout/order-summary/style.scss +0 -12
- assets/js/base/components/cart-checkout/payment-method-icons/common-icons.js +20 -20
- assets/js/base/components/cart-checkout/place-order-button/index.js +1 -5
- assets/js/base/components/cart-checkout/product-details/index.tsx +1 -1
- assets/js/base/components/cart-checkout/product-summary/index.tsx +1 -0
- assets/js/base/components/cart-checkout/shipping-rates-control-package/index.tsx +7 -3
- assets/js/base/components/cart-checkout/shipping-rates-control-package/style.scss +7 -1
- assets/js/base/components/cart-checkout/totals/coupon/index.js +4 -3
- assets/js/base/components/cart-checkout/totals/coupon/style.scss +1 -17
- assets/js/base/components/cart-checkout/totals/discount/index.js +30 -43
- assets/js/base/components/cart-checkout/totals/discount/style.scss +0 -4
- assets/js/base/components/cart-checkout/totals/footer-item/index.js +11 -16
- assets/js/base/components/cart-checkout/totals/footer-item/test/__snapshots__/index.js.snap +0 -79
- assets/js/base/components/cart-checkout/totals/footer-item/test/index.js +0 -81
- assets/js/base/components/cart-checkout/totals/shipping/index.tsx +5 -21
- assets/js/base/components/cart-checkout/totals/shipping/shipping-via.tsx +0 -17
- assets/js/base/components/cart-checkout/totals/shipping/style.scss +0 -4
- assets/js/base/components/chip/stories/index.js +0 -42
- assets/js/base/components/country-input/CountryInputProps.ts +0 -15
- assets/js/base/components/country-input/billing-country-input.js +28 -0
- assets/js/base/components/country-input/billing-country-input.tsx +0 -16
- assets/js/base/components/country-input/{country-input.tsx → country-input.js} +14 -2
- assets/js/base/components/country-input/{index.ts → index.js} +0 -0
- assets/js/base/components/country-input/shipping-country-input.js +28 -0
- assets/js/base/components/country-input/shipping-country-input.tsx +0 -16
- assets/js/base/components/label/index.tsx +3 -3
- assets/js/base/components/loading-mask/index.js +17 -16
- assets/js/base/components/loading-mask/style.scss +3 -4
- assets/js/base/components/price-slider/index.js +2 -6
- assets/js/base/components/product-list/style.scss +0 -5
- assets/js/base/components/product-name/index.js +39 -0
- assets/js/base/components/product-name/index.tsx +0 -48
- assets/js/base/components/product-name/test/__snapshots__/index.js.snap +12 -24
- assets/js/base/components/product-price/index.js +19 -33
- assets/js/base/components/quantity-selector/index.tsx +1 -1
- assets/js/base/components/sidebar-layout/style.scss +0 -7
- assets/js/base/components/spinner/index.tsx +0 -10
- assets/js/base/components/spinner/style.scss +0 -37
- assets/js/base/components/state-input/StateInputProps.ts +0 -15
- assets/js/base/components/state-input/billing-state-input.js +25 -0
- assets/js/base/components/state-input/billing-state-input.tsx +0 -16
- assets/js/base/components/state-input/{index.ts → index.js} +0 -0
- assets/js/base/components/state-input/shipping-state-input.js +28 -0
- assets/js/base/components/state-input/shipping-state-input.tsx +0 -16
- assets/js/base/components/state-input/{state-input.tsx → state-input.js} +18 -2
- assets/js/base/components/text-input/{index.ts → index.js} +0 -0
- assets/js/base/components/text-input/style.scss +0 -12
- assets/js/base/components/text-input/{text-input.tsx → text-input.js} +21 -26
- assets/js/base/components/text-input/{validated-text-input.tsx → validated-text-input.js} +27 -54
- assets/js/base/context/hooks/cart/use-store-cart-coupons.ts +2 -4
- assets/js/base/context/hooks/cart/use-store-cart-item-quantity.ts +25 -23
- assets/js/base/context/hooks/cart/use-store-cart.ts +1 -13
- assets/js/base/context/hooks/payment-methods/test/use-payment-method-interface.js +1 -6
- assets/js/base/context/hooks/payment-methods/{use-payment-method-interface.ts → use-payment-method-interface.js} +92 -53
- assets/js/base/context/hooks/payment-methods/use-payment-methods.js +6 -19
- assets/js/base/context/hooks/payment-methods/utils.ts +0 -85
- assets/js/base/context/hooks/test/use-checkout-submit.js +1 -6
- assets/js/base/context/hooks/test/use-store-notices.js +12 -2
- assets/js/base/context/hooks/test/use-store-snackbar-notices.js +0 -51
- assets/js/base/context/hooks/use-checkout-submit.js +4 -10
- assets/js/base/context/hooks/use-customer-data.ts +7 -24
- assets/js/base/context/hooks/use-emit-response.js +59 -0
- assets/js/base/context/hooks/use-emit-response.ts +0 -66
- assets/js/base/context/hooks/use-store-events.ts +3 -10
- assets/js/base/context/hooks/use-store-notices.js +5 -1
- assets/js/base/context/hooks/use-store-snackbar-notices.js +0 -52
- assets/js/base/context/{index.ts → index.js} +0 -0
- assets/js/base/context/providers/cart-checkout/checkout-state/actions.js +82 -0
- assets/js/base/context/providers/cart-checkout/checkout-state/actions.ts +0 -110
- assets/js/base/context/providers/cart-checkout/checkout-state/constants.js +53 -0
- assets/js/base/context/providers/cart-checkout/checkout-state/constants.ts +0 -84
- assets/js/base/context/providers/cart-checkout/checkout-state/event-emit.js +48 -0
- assets/js/base/context/providers/cart-checkout/checkout-state/event-emit.ts +0 -62
- assets/js/base/context/providers/cart-checkout/checkout-state/{index.tsx → index.js} +124 -76
- assets/js/base/context/providers/cart-checkout/checkout-state/reducer.js +235 -0
- assets/js/base/context/providers/cart-checkout/checkout-state/reducer.ts +0 -197
- assets/js/base/context/providers/cart-checkout/checkout-state/types.ts +0 -103
- assets/js/base/context/providers/cart-checkout/checkout-state/utils.ts +0 -63
- assets/js/base/context/providers/cart-checkout/checkout/processor/index.js +11 -9
- assets/js/base/context/providers/cart-checkout/payment-methods/actions.ts +92 -63
- assets/js/base/context/providers/cart-checkout/payment-methods/constants.ts +0 -3
- assets/js/base/context/providers/cart-checkout/payment-methods/payment-method-data-context.tsx +196 -88
- assets/js/base/context/providers/cart-checkout/payment-methods/reducer.ts +11 -8
- assets/js/base/context/providers/cart-checkout/payment-methods/types.ts +3 -12
- assets/js/base/context/providers/cart-checkout/payment-methods/use-active-payment-method.ts +0 -38
- assets/js/base/context/providers/cart-checkout/payment-methods/use-payment-method-dispatchers.ts +0 -105
- assets/js/base/context/providers/cart-checkout/payment-methods/use-payment-method-registration.ts +4 -8
- assets/js/base/context/providers/cart-checkout/payment-methods/utils.ts +0 -3
- assets/js/base/context/providers/index.js +0 -1
- assets/js/base/context/providers/{store-snackbar-notices → store-notices}/components/snackbar-notices-container.js +1 -7
- assets/js/base/context/providers/store-notices/components/style.scss +21 -0
- assets/js/base/context/providers/store-notices/context.js +22 -0
- assets/js/base/context/providers/store-notices/index.js +1 -0
- assets/js/base/context/providers/store-snackbar-notices/components/style.scss +0 -20
- assets/js/base/context/providers/store-snackbar-notices/context.js +0 -125
- assets/js/base/context/providers/store-snackbar-notices/index.ts +0 -1
- assets/js/base/context/providers/validation/components/validation-input-error/index.js +1 -2
- assets/js/base/hooks/use-shallow-equal.ts +5 -4
- assets/js/base/utils/{address.ts → address.js} +6 -44
- assets/js/base/utils/index.js +1 -0
- assets/js/{types/type-guards/index.ts → base/utils/type-guards.ts} +2 -2
- assets/js/blocks/attribute-filter/edit.js +8 -8
- assets/js/blocks/cart-checkout/cart/attributes.js +0 -4
- assets/js/blocks/cart-checkout/cart/checkout-button/index.js +8 -6
- assets/js/blocks/cart-checkout/cart/edit.js +0 -25
- assets/js/blocks/cart-checkout/cart/frontend.js +19 -17
- assets/js/blocks/cart-checkout/cart/full-cart/cart-line-item-row.tsx +5 -10
- assets/js/blocks/cart-checkout/cart/full-cart/index.tsx +36 -62
- assets/js/blocks/cart-checkout/cart/full-cart/style.scss +6 -10
- assets/js/blocks/cart-checkout/cart/test/__snapshots__/block.js.snap +0 -2219
- assets/js/blocks/cart-checkout/cart/test/block.js +0 -54
- assets/js/blocks/cart-checkout/checkout/attributes.js +0 -4
- assets/js/blocks/cart-checkout/checkout/block.js +0 -1
- assets/js/blocks/cart-checkout/checkout/edit.js +0 -25
- assets/js/blocks/cart-checkout/checkout/form/billing-fields-step.js +4 -3
- assets/js/blocks/cart-checkout/checkout/form/contact-fields-step.js +2 -4
- assets/js/blocks/cart-checkout/checkout/form/order-notes-step.js +7 -5
- assets/js/blocks/cart-checkout/checkout/form/payment-method-step.js +6 -4
- assets/js/blocks/cart-checkout/checkout/form/shipping-fields-step.js +3 -3
- assets/js/blocks/cart-checkout/checkout/form/shipping-options-step.tsx +3 -3
- assets/js/blocks/cart-checkout/checkout/frontend.js +45 -24
- assets/js/blocks/cart-checkout/checkout/sidebar/index.js +29 -54
- assets/js/blocks/cart-checkout/checkout/sidebar/test/__snapshots__/index.js.snap +0 -167
- assets/js/blocks/cart-checkout/checkout/sidebar/test/index.js +0 -27
- assets/js/blocks/cart-checkout/checkout/style.scss +0 -5
- assets/js/blocks/cart-checkout/payment-methods/express-payment-methods.js +6 -77
- assets/js/blocks/cart-checkout/payment-methods/express-payment/cart-express-payment.js +9 -38
- assets/js/blocks/cart-checkout/payment-methods/express-payment/checkout-express-payment.js +22 -49
- assets/js/blocks/cart-checkout/payment-methods/payment-method-options.js +5 -2
- assets/js/blocks/handpicked-products/block.js +0 -1
- assets/js/blocks/product-categories/block.js +6 -13
- assets/js/blocks/product-categories/index.js +1 -21
- assets/js/blocks/product-categories/style.scss +0 -3
- assets/js/blocks/product-category/block.js +0 -1
- assets/js/blocks/product-search/index.js +1 -20
- assets/js/blocks/product-tag/block.js +0 -1
- assets/js/blocks/products-by-attribute/block.js +0 -1
- assets/js/blocks/reviews/all-reviews/index.js +1 -22
- assets/js/blocks/reviews/reviews-by-category/edit.js +9 -10
- assets/js/blocks/reviews/reviews-by-product/edit.js +3 -3
- assets/js/blocks/single-product/frontend.js +0 -2
- assets/js/data/cart/actions.ts +2 -35
- assets/js/data/cart/index.ts +2 -3
- assets/js/editor-components/expandable-search-list-item/expandable-search-list-item.tsx +0 -60
- assets/js/editor-components/product-attribute-term-control/index.js +41 -72
- assets/js/editor-components/product-attribute-term-control/style.scss +12 -1
- assets/js/editor-components/product-category-control/index.js +15 -20
- assets/js/editor-components/product-category-control/style.scss +11 -0
- assets/js/editor-components/product-control/index.js +95 -64
- assets/js/editor-components/product-control/style.scss +1 -1
- assets/js/editor-components/product-tag-control/index.js +12 -23
- assets/js/editor-components/product-tag-control/style.scss +11 -0
- assets/js/editor-components/products-control/index.js +1 -14
- assets/js/hocs/test/with-categories.js +1 -1
- assets/js/hocs/with-categories.js +2 -2
- assets/js/icons/stories/index.js +6 -7
- assets/js/previews/cart.ts +25 -32
- assets/js/previews/categories.js +2 -2
- assets/js/previews/grid-block.js +8 -391
- assets/js/previews/products.js +3 -3
- assets/js/previews/reviews.js +5 -5
- assets/js/previews/single-product-block.js +14 -9
- assets/js/settings/blocks/constants.ts +1 -18
- assets/js/settings/shared/default-address-fields.ts +0 -6
- assets/js/settings/shared/settings-init.ts +1 -6
- assets/js/settings/shared/test/get-setting.js +0 -3
- assets/js/settings/shared/utils.ts +6 -8
- assets/js/{types/type-defs → type-defs}/add-to-cart-form.js +0 -0
- assets/js/{types/type-defs → type-defs}/address-fields.js +0 -0
- assets/js/{types/type-defs → type-defs}/billing.js +0 -0
- assets/js/{types/type-defs → type-defs}/cart-response.ts +18 -15
- assets/js/{types/type-defs → type-defs}/cart.js +0 -0
- assets/js/{types/type-defs → type-defs}/cart.ts +0 -6
- assets/js/type-defs/checkout.js +26 -0
- assets/js/{types/type-defs → type-defs}/contexts.js +4 -4
- assets/js/{types/type-defs → type-defs}/hooks.js +0 -0
- assets/js/{types/type-defs → type-defs}/hooks.ts +1 -1
- assets/js/{types/type-defs → type-defs}/index.ts +0 -1
- assets/js/{types/type-defs → type-defs}/payments.js +0 -0
- assets/js/{types/type-defs → type-defs}/product-response.ts +10 -6
- assets/js/{types/type-defs → type-defs}/registered-payment-method-props.js +0 -0
- assets/js/{types/type-defs → type-defs}/settings.js +0 -0
- assets/js/{types/type-defs → type-defs}/shipping.js +0 -0
- assets/js/{types/type-defs → type-defs}/shipping.ts +0 -0
- assets/js/types/index.ts +0 -2
- assets/js/types/type-defs/currency.ts +0 -22
- assets/js/utils/attributes-query.js +2 -2
- build/active-filters-frontend.asset.php +1 -1
- build/active-filters-frontend.js +6 -13
- build/active-filters.asset.php +1 -1
- build/active-filters.js +1 -17
- build/all-products-frontend.asset.php +1 -1
- build/all-products-frontend.js +0 -1
LICENSE
DELETED
@@ -1,674 +0,0 @@
|
|
1 |
-
GNU GENERAL PUBLIC LICENSE
|
2 |
-
Version 3, 29 June 2007
|
3 |
-
|
4 |
-
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
5 |
-
Everyone is permitted to copy and distribute verbatim copies
|
6 |
-
of this license document, but changing it is not allowed.
|
7 |
-
|
8 |
-
Preamble
|
9 |
-
|
10 |
-
The GNU General Public License is a free, copyleft license for
|
11 |
-
software and other kinds of works.
|
12 |
-
|
13 |
-
The licenses for most software and other practical works are designed
|
14 |
-
to take away your freedom to share and change the works. By contrast,
|
15 |
-
the GNU General Public License is intended to guarantee your freedom to
|
16 |
-
share and change all versions of a program--to make sure it remains free
|
17 |
-
software for all its users. We, the Free Software Foundation, use the
|
18 |
-
GNU General Public License for most of our software; it applies also to
|
19 |
-
any other work released this way by its authors. You can apply it to
|
20 |
-
your programs, too.
|
21 |
-
|
22 |
-
When we speak of free software, we are referring to freedom, not
|
23 |
-
price. Our General Public Licenses are designed to make sure that you
|
24 |
-
have the freedom to distribute copies of free software (and charge for
|
25 |
-
them if you wish), that you receive source code or can get it if you
|
26 |
-
want it, that you can change the software or use pieces of it in new
|
27 |
-
free programs, and that you know you can do these things.
|
28 |
-
|
29 |
-
To protect your rights, we need to prevent others from denying you
|
30 |
-
these rights or asking you to surrender the rights. Therefore, you have
|
31 |
-
certain responsibilities if you distribute copies of the software, or if
|
32 |
-
you modify it: responsibilities to respect the freedom of others.
|
33 |
-
|
34 |
-
For example, if you distribute copies of such a program, whether
|
35 |
-
gratis or for a fee, you must pass on to the recipients the same
|
36 |
-
freedoms that you received. You must make sure that they, too, receive
|
37 |
-
or can get the source code. And you must show them these terms so they
|
38 |
-
know their rights.
|
39 |
-
|
40 |
-
Developers that use the GNU GPL protect your rights with two steps:
|
41 |
-
(1) assert copyright on the software, and (2) offer you this License
|
42 |
-
giving you legal permission to copy, distribute and/or modify it.
|
43 |
-
|
44 |
-
For the developers' and authors' protection, the GPL clearly explains
|
45 |
-
that there is no warranty for this free software. For both users' and
|
46 |
-
authors' sake, the GPL requires that modified versions be marked as
|
47 |
-
changed, so that their problems will not be attributed erroneously to
|
48 |
-
authors of previous versions.
|
49 |
-
|
50 |
-
Some devices are designed to deny users access to install or run
|
51 |
-
modified versions of the software inside them, although the manufacturer
|
52 |
-
can do so. This is fundamentally incompatible with the aim of
|
53 |
-
protecting users' freedom to change the software. The systematic
|
54 |
-
pattern of such abuse occurs in the area of products for individuals to
|
55 |
-
use, which is precisely where it is most unacceptable. Therefore, we
|
56 |
-
have designed this version of the GPL to prohibit the practice for those
|
57 |
-
products. If such problems arise substantially in other domains, we
|
58 |
-
stand ready to extend this provision to those domains in future versions
|
59 |
-
of the GPL, as needed to protect the freedom of users.
|
60 |
-
|
61 |
-
Finally, every program is threatened constantly by software patents.
|
62 |
-
States should not allow patents to restrict development and use of
|
63 |
-
software on general-purpose computers, but in those that do, we wish to
|
64 |
-
avoid the special danger that patents applied to a free program could
|
65 |
-
make it effectively proprietary. To prevent this, the GPL assures that
|
66 |
-
patents cannot be used to render the program non-free.
|
67 |
-
|
68 |
-
The precise terms and conditions for copying, distribution and
|
69 |
-
modification follow.
|
70 |
-
|
71 |
-
TERMS AND CONDITIONS
|
72 |
-
|
73 |
-
0. Definitions.
|
74 |
-
|
75 |
-
"This License" refers to version 3 of the GNU General Public License.
|
76 |
-
|
77 |
-
"Copyright" also means copyright-like laws that apply to other kinds of
|
78 |
-
works, such as semiconductor masks.
|
79 |
-
|
80 |
-
"The Program" refers to any copyrightable work licensed under this
|
81 |
-
License. Each licensee is addressed as "you". "Licensees" and
|
82 |
-
"recipients" may be individuals or organizations.
|
83 |
-
|
84 |
-
To "modify" a work means to copy from or adapt all or part of the work
|
85 |
-
in a fashion requiring copyright permission, other than the making of an
|
86 |
-
exact copy. The resulting work is called a "modified version" of the
|
87 |
-
earlier work or a work "based on" the earlier work.
|
88 |
-
|
89 |
-
A "covered work" means either the unmodified Program or a work based
|
90 |
-
on the Program.
|
91 |
-
|
92 |
-
To "propagate" a work means to do anything with it that, without
|
93 |
-
permission, would make you directly or secondarily liable for
|
94 |
-
infringement under applicable copyright law, except executing it on a
|
95 |
-
computer or modifying a private copy. Propagation includes copying,
|
96 |
-
distribution (with or without modification), making available to the
|
97 |
-
public, and in some countries other activities as well.
|
98 |
-
|
99 |
-
To "convey" a work means any kind of propagation that enables other
|
100 |
-
parties to make or receive copies. Mere interaction with a user through
|
101 |
-
a computer network, with no transfer of a copy, is not conveying.
|
102 |
-
|
103 |
-
An interactive user interface displays "Appropriate Legal Notices"
|
104 |
-
to the extent that it includes a convenient and prominently visible
|
105 |
-
feature that (1) displays an appropriate copyright notice, and (2)
|
106 |
-
tells the user that there is no warranty for the work (except to the
|
107 |
-
extent that warranties are provided), that licensees may convey the
|
108 |
-
work under this License, and how to view a copy of this License. If
|
109 |
-
the interface presents a list of user commands or options, such as a
|
110 |
-
menu, a prominent item in the list meets this criterion.
|
111 |
-
|
112 |
-
1. Source Code.
|
113 |
-
|
114 |
-
The "source code" for a work means the preferred form of the work
|
115 |
-
for making modifications to it. "Object code" means any non-source
|
116 |
-
form of a work.
|
117 |
-
|
118 |
-
A "Standard Interface" means an interface that either is an official
|
119 |
-
standard defined by a recognized standards body, or, in the case of
|
120 |
-
interfaces specified for a particular programming language, one that
|
121 |
-
is widely used among developers working in that language.
|
122 |
-
|
123 |
-
The "System Libraries" of an executable work include anything, other
|
124 |
-
than the work as a whole, that (a) is included in the normal form of
|
125 |
-
packaging a Major Component, but which is not part of that Major
|
126 |
-
Component, and (b) serves only to enable use of the work with that
|
127 |
-
Major Component, or to implement a Standard Interface for which an
|
128 |
-
implementation is available to the public in source code form. A
|
129 |
-
"Major Component", in this context, means a major essential component
|
130 |
-
(kernel, window system, and so on) of the specific operating system
|
131 |
-
(if any) on which the executable work runs, or a compiler used to
|
132 |
-
produce the work, or an object code interpreter used to run it.
|
133 |
-
|
134 |
-
The "Corresponding Source" for a work in object code form means all
|
135 |
-
the source code needed to generate, install, and (for an executable
|
136 |
-
work) run the object code and to modify the work, including scripts to
|
137 |
-
control those activities. However, it does not include the work's
|
138 |
-
System Libraries, or general-purpose tools or generally available free
|
139 |
-
programs which are used unmodified in performing those activities but
|
140 |
-
which are not part of the work. For example, Corresponding Source
|
141 |
-
includes interface definition files associated with source files for
|
142 |
-
the work, and the source code for shared libraries and dynamically
|
143 |
-
linked subprograms that the work is specifically designed to require,
|
144 |
-
such as by intimate data communication or control flow between those
|
145 |
-
subprograms and other parts of the work.
|
146 |
-
|
147 |
-
The Corresponding Source need not include anything that users
|
148 |
-
can regenerate automatically from other parts of the Corresponding
|
149 |
-
Source.
|
150 |
-
|
151 |
-
The Corresponding Source for a work in source code form is that
|
152 |
-
same work.
|
153 |
-
|
154 |
-
2. Basic Permissions.
|
155 |
-
|
156 |
-
All rights granted under this License are granted for the term of
|
157 |
-
copyright on the Program, and are irrevocable provided the stated
|
158 |
-
conditions are met. This License explicitly affirms your unlimited
|
159 |
-
permission to run the unmodified Program. The output from running a
|
160 |
-
covered work is covered by this License only if the output, given its
|
161 |
-
content, constitutes a covered work. This License acknowledges your
|
162 |
-
rights of fair use or other equivalent, as provided by copyright law.
|
163 |
-
|
164 |
-
You may make, run and propagate covered works that you do not
|
165 |
-
convey, without conditions so long as your license otherwise remains
|
166 |
-
in force. You may convey covered works to others for the sole purpose
|
167 |
-
of having them make modifications exclusively for you, or provide you
|
168 |
-
with facilities for running those works, provided that you comply with
|
169 |
-
the terms of this License in conveying all material for which you do
|
170 |
-
not control copyright. Those thus making or running the covered works
|
171 |
-
for you must do so exclusively on your behalf, under your direction
|
172 |
-
and control, on terms that prohibit them from making any copies of
|
173 |
-
your copyrighted material outside their relationship with you.
|
174 |
-
|
175 |
-
Conveying under any other circumstances is permitted solely under
|
176 |
-
the conditions stated below. Sublicensing is not allowed; section 10
|
177 |
-
makes it unnecessary.
|
178 |
-
|
179 |
-
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
180 |
-
|
181 |
-
No covered work shall be deemed part of an effective technological
|
182 |
-
measure under any applicable law fulfilling obligations under article
|
183 |
-
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
184 |
-
similar laws prohibiting or restricting circumvention of such
|
185 |
-
measures.
|
186 |
-
|
187 |
-
When you convey a covered work, you waive any legal power to forbid
|
188 |
-
circumvention of technological measures to the extent such circumvention
|
189 |
-
is effected by exercising rights under this License with respect to
|
190 |
-
the covered work, and you disclaim any intention to limit operation or
|
191 |
-
modification of the work as a means of enforcing, against the work's
|
192 |
-
users, your or third parties' legal rights to forbid circumvention of
|
193 |
-
technological measures.
|
194 |
-
|
195 |
-
4. Conveying Verbatim Copies.
|
196 |
-
|
197 |
-
You may convey verbatim copies of the Program's source code as you
|
198 |
-
receive it, in any medium, provided that you conspicuously and
|
199 |
-
appropriately publish on each copy an appropriate copyright notice;
|
200 |
-
keep intact all notices stating that this License and any
|
201 |
-
non-permissive terms added in accord with section 7 apply to the code;
|
202 |
-
keep intact all notices of the absence of any warranty; and give all
|
203 |
-
recipients a copy of this License along with the Program.
|
204 |
-
|
205 |
-
You may charge any price or no price for each copy that you convey,
|
206 |
-
and you may offer support or warranty protection for a fee.
|
207 |
-
|
208 |
-
5. Conveying Modified Source Versions.
|
209 |
-
|
210 |
-
You may convey a work based on the Program, or the modifications to
|
211 |
-
produce it from the Program, in the form of source code under the
|
212 |
-
terms of section 4, provided that you also meet all of these conditions:
|
213 |
-
|
214 |
-
a) The work must carry prominent notices stating that you modified
|
215 |
-
it, and giving a relevant date.
|
216 |
-
|
217 |
-
b) The work must carry prominent notices stating that it is
|
218 |
-
released under this License and any conditions added under section
|
219 |
-
7. This requirement modifies the requirement in section 4 to
|
220 |
-
"keep intact all notices".
|
221 |
-
|
222 |
-
c) You must license the entire work, as a whole, under this
|
223 |
-
License to anyone who comes into possession of a copy. This
|
224 |
-
License will therefore apply, along with any applicable section 7
|
225 |
-
additional terms, to the whole of the work, and all its parts,
|
226 |
-
regardless of how they are packaged. This License gives no
|
227 |
-
permission to license the work in any other way, but it does not
|
228 |
-
invalidate such permission if you have separately received it.
|
229 |
-
|
230 |
-
d) If the work has interactive user interfaces, each must display
|
231 |
-
Appropriate Legal Notices; however, if the Program has interactive
|
232 |
-
interfaces that do not display Appropriate Legal Notices, your
|
233 |
-
work need not make them do so.
|
234 |
-
|
235 |
-
A compilation of a covered work with other separate and independent
|
236 |
-
works, which are not by their nature extensions of the covered work,
|
237 |
-
and which are not combined with it such as to form a larger program,
|
238 |
-
in or on a volume of a storage or distribution medium, is called an
|
239 |
-
"aggregate" if the compilation and its resulting copyright are not
|
240 |
-
used to limit the access or legal rights of the compilation's users
|
241 |
-
beyond what the individual works permit. Inclusion of a covered work
|
242 |
-
in an aggregate does not cause this License to apply to the other
|
243 |
-
parts of the aggregate.
|
244 |
-
|
245 |
-
6. Conveying Non-Source Forms.
|
246 |
-
|
247 |
-
You may convey a covered work in object code form under the terms
|
248 |
-
of sections 4 and 5, provided that you also convey the
|
249 |
-
machine-readable Corresponding Source under the terms of this License,
|
250 |
-
in one of these ways:
|
251 |
-
|
252 |
-
a) Convey the object code in, or embodied in, a physical product
|
253 |
-
(including a physical distribution medium), accompanied by the
|
254 |
-
Corresponding Source fixed on a durable physical medium
|
255 |
-
customarily used for software interchange.
|
256 |
-
|
257 |
-
b) Convey the object code in, or embodied in, a physical product
|
258 |
-
(including a physical distribution medium), accompanied by a
|
259 |
-
written offer, valid for at least three years and valid for as
|
260 |
-
long as you offer spare parts or customer support for that product
|
261 |
-
model, to give anyone who possesses the object code either (1) a
|
262 |
-
copy of the Corresponding Source for all the software in the
|
263 |
-
product that is covered by this License, on a durable physical
|
264 |
-
medium customarily used for software interchange, for a price no
|
265 |
-
more than your reasonable cost of physically performing this
|
266 |
-
conveying of source, or (2) access to copy the
|
267 |
-
Corresponding Source from a network server at no charge.
|
268 |
-
|
269 |
-
c) Convey individual copies of the object code with a copy of the
|
270 |
-
written offer to provide the Corresponding Source. This
|
271 |
-
alternative is allowed only occasionally and noncommercially, and
|
272 |
-
only if you received the object code with such an offer, in accord
|
273 |
-
with subsection 6b.
|
274 |
-
|
275 |
-
d) Convey the object code by offering access from a designated
|
276 |
-
place (gratis or for a charge), and offer equivalent access to the
|
277 |
-
Corresponding Source in the same way through the same place at no
|
278 |
-
further charge. You need not require recipients to copy the
|
279 |
-
Corresponding Source along with the object code. If the place to
|
280 |
-
copy the object code is a network server, the Corresponding Source
|
281 |
-
may be on a different server (operated by you or a third party)
|
282 |
-
that supports equivalent copying facilities, provided you maintain
|
283 |
-
clear directions next to the object code saying where to find the
|
284 |
-
Corresponding Source. Regardless of what server hosts the
|
285 |
-
Corresponding Source, you remain obligated to ensure that it is
|
286 |
-
available for as long as needed to satisfy these requirements.
|
287 |
-
|
288 |
-
e) Convey the object code using peer-to-peer transmission, provided
|
289 |
-
you inform other peers where the object code and Corresponding
|
290 |
-
Source of the work are being offered to the general public at no
|
291 |
-
charge under subsection 6d.
|
292 |
-
|
293 |
-
A separable portion of the object code, whose source code is excluded
|
294 |
-
from the Corresponding Source as a System Library, need not be
|
295 |
-
included in conveying the object code work.
|
296 |
-
|
297 |
-
A "User Product" is either (1) a "consumer product", which means any
|
298 |
-
tangible personal property which is normally used for personal, family,
|
299 |
-
or household purposes, or (2) anything designed or sold for incorporation
|
300 |
-
into a dwelling. In determining whether a product is a consumer product,
|
301 |
-
doubtful cases shall be resolved in favor of coverage. For a particular
|
302 |
-
product received by a particular user, "normally used" refers to a
|
303 |
-
typical or common use of that class of product, regardless of the status
|
304 |
-
of the particular user or of the way in which the particular user
|
305 |
-
actually uses, or expects or is expected to use, the product. A product
|
306 |
-
is a consumer product regardless of whether the product has substantial
|
307 |
-
commercial, industrial or non-consumer uses, unless such uses represent
|
308 |
-
the only significant mode of use of the product.
|
309 |
-
|
310 |
-
"Installation Information" for a User Product means any methods,
|
311 |
-
procedures, authorization keys, or other information required to install
|
312 |
-
and execute modified versions of a covered work in that User Product from
|
313 |
-
a modified version of its Corresponding Source. The information must
|
314 |
-
suffice to ensure that the continued functioning of the modified object
|
315 |
-
code is in no case prevented or interfered with solely because
|
316 |
-
modification has been made.
|
317 |
-
|
318 |
-
If you convey an object code work under this section in, or with, or
|
319 |
-
specifically for use in, a User Product, and the conveying occurs as
|
320 |
-
part of a transaction in which the right of possession and use of the
|
321 |
-
User Product is transferred to the recipient in perpetuity or for a
|
322 |
-
fixed term (regardless of how the transaction is characterized), the
|
323 |
-
Corresponding Source conveyed under this section must be accompanied
|
324 |
-
by the Installation Information. But this requirement does not apply
|
325 |
-
if neither you nor any third party retains the ability to install
|
326 |
-
modified object code on the User Product (for example, the work has
|
327 |
-
been installed in ROM).
|
328 |
-
|
329 |
-
The requirement to provide Installation Information does not include a
|
330 |
-
requirement to continue to provide support service, warranty, or updates
|
331 |
-
for a work that has been modified or installed by the recipient, or for
|
332 |
-
the User Product in which it has been modified or installed. Access to a
|
333 |
-
network may be denied when the modification itself materially and
|
334 |
-
adversely affects the operation of the network or violates the rules and
|
335 |
-
protocols for communication across the network.
|
336 |
-
|
337 |
-
Corresponding Source conveyed, and Installation Information provided,
|
338 |
-
in accord with this section must be in a format that is publicly
|
339 |
-
documented (and with an implementation available to the public in
|
340 |
-
source code form), and must require no special password or key for
|
341 |
-
unpacking, reading or copying.
|
342 |
-
|
343 |
-
7. Additional Terms.
|
344 |
-
|
345 |
-
"Additional permissions" are terms that supplement the terms of this
|
346 |
-
License by making exceptions from one or more of its conditions.
|
347 |
-
Additional permissions that are applicable to the entire Program shall
|
348 |
-
be treated as though they were included in this License, to the extent
|
349 |
-
that they are valid under applicable law. If additional permissions
|
350 |
-
apply only to part of the Program, that part may be used separately
|
351 |
-
under those permissions, but the entire Program remains governed by
|
352 |
-
this License without regard to the additional permissions.
|
353 |
-
|
354 |
-
When you convey a copy of a covered work, you may at your option
|
355 |
-
remove any additional permissions from that copy, or from any part of
|
356 |
-
it. (Additional permissions may be written to require their own
|
357 |
-
removal in certain cases when you modify the work.) You may place
|
358 |
-
additional permissions on material, added by you to a covered work,
|
359 |
-
for which you have or can give appropriate copyright permission.
|
360 |
-
|
361 |
-
Notwithstanding any other provision of this License, for material you
|
362 |
-
add to a covered work, you may (if authorized by the copyright holders of
|
363 |
-
that material) supplement the terms of this License with terms:
|
364 |
-
|
365 |
-
a) Disclaiming warranty or limiting liability differently from the
|
366 |
-
terms of sections 15 and 16 of this License; or
|
367 |
-
|
368 |
-
b) Requiring preservation of specified reasonable legal notices or
|
369 |
-
author attributions in that material or in the Appropriate Legal
|
370 |
-
Notices displayed by works containing it; or
|
371 |
-
|
372 |
-
c) Prohibiting misrepresentation of the origin of that material, or
|
373 |
-
requiring that modified versions of such material be marked in
|
374 |
-
reasonable ways as different from the original version; or
|
375 |
-
|
376 |
-
d) Limiting the use for publicity purposes of names of licensors or
|
377 |
-
authors of the material; or
|
378 |
-
|
379 |
-
e) Declining to grant rights under trademark law for use of some
|
380 |
-
trade names, trademarks, or service marks; or
|
381 |
-
|
382 |
-
f) Requiring indemnification of licensors and authors of that
|
383 |
-
material by anyone who conveys the material (or modified versions of
|
384 |
-
it) with contractual assumptions of liability to the recipient, for
|
385 |
-
any liability that these contractual assumptions directly impose on
|
386 |
-
those licensors and authors.
|
387 |
-
|
388 |
-
All other non-permissive additional terms are considered "further
|
389 |
-
restrictions" within the meaning of section 10. If the Program as you
|
390 |
-
received it, or any part of it, contains a notice stating that it is
|
391 |
-
governed by this License along with a term that is a further
|
392 |
-
restriction, you may remove that term. If a license document contains
|
393 |
-
a further restriction but permits relicensing or conveying under this
|
394 |
-
License, you may add to a covered work material governed by the terms
|
395 |
-
of that license document, provided that the further restriction does
|
396 |
-
not survive such relicensing or conveying.
|
397 |
-
|
398 |
-
If you add terms to a covered work in accord with this section, you
|
399 |
-
must place, in the relevant source files, a statement of the
|
400 |
-
additional terms that apply to those files, or a notice indicating
|
401 |
-
where to find the applicable terms.
|
402 |
-
|
403 |
-
Additional terms, permissive or non-permissive, may be stated in the
|
404 |
-
form of a separately written license, or stated as exceptions;
|
405 |
-
the above requirements apply either way.
|
406 |
-
|
407 |
-
8. Termination.
|
408 |
-
|
409 |
-
You may not propagate or modify a covered work except as expressly
|
410 |
-
provided under this License. Any attempt otherwise to propagate or
|
411 |
-
modify it is void, and will automatically terminate your rights under
|
412 |
-
this License (including any patent licenses granted under the third
|
413 |
-
paragraph of section 11).
|
414 |
-
|
415 |
-
However, if you cease all violation of this License, then your
|
416 |
-
license from a particular copyright holder is reinstated (a)
|
417 |
-
provisionally, unless and until the copyright holder explicitly and
|
418 |
-
finally terminates your license, and (b) permanently, if the copyright
|
419 |
-
holder fails to notify you of the violation by some reasonable means
|
420 |
-
prior to 60 days after the cessation.
|
421 |
-
|
422 |
-
Moreover, your license from a particular copyright holder is
|
423 |
-
reinstated permanently if the copyright holder notifies you of the
|
424 |
-
violation by some reasonable means, this is the first time you have
|
425 |
-
received notice of violation of this License (for any work) from that
|
426 |
-
copyright holder, and you cure the violation prior to 30 days after
|
427 |
-
your receipt of the notice.
|
428 |
-
|
429 |
-
Termination of your rights under this section does not terminate the
|
430 |
-
licenses of parties who have received copies or rights from you under
|
431 |
-
this License. If your rights have been terminated and not permanently
|
432 |
-
reinstated, you do not qualify to receive new licenses for the same
|
433 |
-
material under section 10.
|
434 |
-
|
435 |
-
9. Acceptance Not Required for Having Copies.
|
436 |
-
|
437 |
-
You are not required to accept this License in order to receive or
|
438 |
-
run a copy of the Program. Ancillary propagation of a covered work
|
439 |
-
occurring solely as a consequence of using peer-to-peer transmission
|
440 |
-
to receive a copy likewise does not require acceptance. However,
|
441 |
-
nothing other than this License grants you permission to propagate or
|
442 |
-
modify any covered work. These actions infringe copyright if you do
|
443 |
-
not accept this License. Therefore, by modifying or propagating a
|
444 |
-
covered work, you indicate your acceptance of this License to do so.
|
445 |
-
|
446 |
-
10. Automatic Licensing of Downstream Recipients.
|
447 |
-
|
448 |
-
Each time you convey a covered work, the recipient automatically
|
449 |
-
receives a license from the original licensors, to run, modify and
|
450 |
-
propagate that work, subject to this License. You are not responsible
|
451 |
-
for enforcing compliance by third parties with this License.
|
452 |
-
|
453 |
-
An "entity transaction" is a transaction transferring control of an
|
454 |
-
organization, or substantially all assets of one, or subdividing an
|
455 |
-
organization, or merging organizations. If propagation of a covered
|
456 |
-
work results from an entity transaction, each party to that
|
457 |
-
transaction who receives a copy of the work also receives whatever
|
458 |
-
licenses to the work the party's predecessor in interest had or could
|
459 |
-
give under the previous paragraph, plus a right to possession of the
|
460 |
-
Corresponding Source of the work from the predecessor in interest, if
|
461 |
-
the predecessor has it or can get it with reasonable efforts.
|
462 |
-
|
463 |
-
You may not impose any further restrictions on the exercise of the
|
464 |
-
rights granted or affirmed under this License. For example, you may
|
465 |
-
not impose a license fee, royalty, or other charge for exercise of
|
466 |
-
rights granted under this License, and you may not initiate litigation
|
467 |
-
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
468 |
-
any patent claim is infringed by making, using, selling, offering for
|
469 |
-
sale, or importing the Program or any portion of it.
|
470 |
-
|
471 |
-
11. Patents.
|
472 |
-
|
473 |
-
A "contributor" is a copyright holder who authorizes use under this
|
474 |
-
License of the Program or a work on which the Program is based. The
|
475 |
-
work thus licensed is called the contributor's "contributor version".
|
476 |
-
|
477 |
-
A contributor's "essential patent claims" are all patent claims
|
478 |
-
owned or controlled by the contributor, whether already acquired or
|
479 |
-
hereafter acquired, that would be infringed by some manner, permitted
|
480 |
-
by this License, of making, using, or selling its contributor version,
|
481 |
-
but do not include claims that would be infringed only as a
|
482 |
-
consequence of further modification of the contributor version. For
|
483 |
-
purposes of this definition, "control" includes the right to grant
|
484 |
-
patent sublicenses in a manner consistent with the requirements of
|
485 |
-
this License.
|
486 |
-
|
487 |
-
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
488 |
-
patent license under the contributor's essential patent claims, to
|
489 |
-
make, use, sell, offer for sale, import and otherwise run, modify and
|
490 |
-
propagate the contents of its contributor version.
|
491 |
-
|
492 |
-
In the following three paragraphs, a "patent license" is any express
|
493 |
-
agreement or commitment, however denominated, not to enforce a patent
|
494 |
-
(such as an express permission to practice a patent or covenant not to
|
495 |
-
sue for patent infringement). To "grant" such a patent license to a
|
496 |
-
party means to make such an agreement or commitment not to enforce a
|
497 |
-
patent against the party.
|
498 |
-
|
499 |
-
If you convey a covered work, knowingly relying on a patent license,
|
500 |
-
and the Corresponding Source of the work is not available for anyone
|
501 |
-
to copy, free of charge and under the terms of this License, through a
|
502 |
-
publicly available network server or other readily accessible means,
|
503 |
-
then you must either (1) cause the Corresponding Source to be so
|
504 |
-
available, or (2) arrange to deprive yourself of the benefit of the
|
505 |
-
patent license for this particular work, or (3) arrange, in a manner
|
506 |
-
consistent with the requirements of this License, to extend the patent
|
507 |
-
license to downstream recipients. "Knowingly relying" means you have
|
508 |
-
actual knowledge that, but for the patent license, your conveying the
|
509 |
-
covered work in a country, or your recipient's use of the covered work
|
510 |
-
in a country, would infringe one or more identifiable patents in that
|
511 |
-
country that you have reason to believe are valid.
|
512 |
-
|
513 |
-
If, pursuant to or in connection with a single transaction or
|
514 |
-
arrangement, you convey, or propagate by procuring conveyance of, a
|
515 |
-
covered work, and grant a patent license to some of the parties
|
516 |
-
receiving the covered work authorizing them to use, propagate, modify
|
517 |
-
or convey a specific copy of the covered work, then the patent license
|
518 |
-
you grant is automatically extended to all recipients of the covered
|
519 |
-
work and works based on it.
|
520 |
-
|
521 |
-
A patent license is "discriminatory" if it does not include within
|
522 |
-
the scope of its coverage, prohibits the exercise of, or is
|
523 |
-
conditioned on the non-exercise of one or more of the rights that are
|
524 |
-
specifically granted under this License. You may not convey a covered
|
525 |
-
work if you are a party to an arrangement with a third party that is
|
526 |
-
in the business of distributing software, under which you make payment
|
527 |
-
to the third party based on the extent of your activity of conveying
|
528 |
-
the work, and under which the third party grants, to any of the
|
529 |
-
parties who would receive the covered work from you, a discriminatory
|
530 |
-
patent license (a) in connection with copies of the covered work
|
531 |
-
conveyed by you (or copies made from those copies), or (b) primarily
|
532 |
-
for and in connection with specific products or compilations that
|
533 |
-
contain the covered work, unless you entered into that arrangement,
|
534 |
-
or that patent license was granted, prior to 28 March 2007.
|
535 |
-
|
536 |
-
Nothing in this License shall be construed as excluding or limiting
|
537 |
-
any implied license or other defenses to infringement that may
|
538 |
-
otherwise be available to you under applicable patent law.
|
539 |
-
|
540 |
-
12. No Surrender of Others' Freedom.
|
541 |
-
|
542 |
-
If conditions are imposed on you (whether by court order, agreement or
|
543 |
-
otherwise) that contradict the conditions of this License, they do not
|
544 |
-
excuse you from the conditions of this License. If you cannot convey a
|
545 |
-
covered work so as to satisfy simultaneously your obligations under this
|
546 |
-
License and any other pertinent obligations, then as a consequence you may
|
547 |
-
not convey it at all. For example, if you agree to terms that obligate you
|
548 |
-
to collect a royalty for further conveying from those to whom you convey
|
549 |
-
the Program, the only way you could satisfy both those terms and this
|
550 |
-
License would be to refrain entirely from conveying the Program.
|
551 |
-
|
552 |
-
13. Use with the GNU Affero General Public License.
|
553 |
-
|
554 |
-
Notwithstanding any other provision of this License, you have
|
555 |
-
permission to link or combine any covered work with a work licensed
|
556 |
-
under version 3 of the GNU Affero General Public License into a single
|
557 |
-
combined work, and to convey the resulting work. The terms of this
|
558 |
-
License will continue to apply to the part which is the covered work,
|
559 |
-
but the special requirements of the GNU Affero General Public License,
|
560 |
-
section 13, concerning interaction through a network will apply to the
|
561 |
-
combination as such.
|
562 |
-
|
563 |
-
14. Revised Versions of this License.
|
564 |
-
|
565 |
-
The Free Software Foundation may publish revised and/or new versions of
|
566 |
-
the GNU General Public License from time to time. Such new versions will
|
567 |
-
be similar in spirit to the present version, but may differ in detail to
|
568 |
-
address new problems or concerns.
|
569 |
-
|
570 |
-
Each version is given a distinguishing version number. If the
|
571 |
-
Program specifies that a certain numbered version of the GNU General
|
572 |
-
Public License "or any later version" applies to it, you have the
|
573 |
-
option of following the terms and conditions either of that numbered
|
574 |
-
version or of any later version published by the Free Software
|
575 |
-
Foundation. If the Program does not specify a version number of the
|
576 |
-
GNU General Public License, you may choose any version ever published
|
577 |
-
by the Free Software Foundation.
|
578 |
-
|
579 |
-
If the Program specifies that a proxy can decide which future
|
580 |
-
versions of the GNU General Public License can be used, that proxy's
|
581 |
-
public statement of acceptance of a version permanently authorizes you
|
582 |
-
to choose that version for the Program.
|
583 |
-
|
584 |
-
Later license versions may give you additional or different
|
585 |
-
permissions. However, no additional obligations are imposed on any
|
586 |
-
author or copyright holder as a result of your choosing to follow a
|
587 |
-
later version.
|
588 |
-
|
589 |
-
15. Disclaimer of Warranty.
|
590 |
-
|
591 |
-
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
592 |
-
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
593 |
-
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
594 |
-
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
595 |
-
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
596 |
-
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
597 |
-
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
598 |
-
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
599 |
-
|
600 |
-
16. Limitation of Liability.
|
601 |
-
|
602 |
-
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
603 |
-
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
604 |
-
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
605 |
-
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
606 |
-
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
607 |
-
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
608 |
-
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
609 |
-
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
610 |
-
SUCH DAMAGES.
|
611 |
-
|
612 |
-
17. Interpretation of Sections 15 and 16.
|
613 |
-
|
614 |
-
If the disclaimer of warranty and limitation of liability provided
|
615 |
-
above cannot be given local legal effect according to their terms,
|
616 |
-
reviewing courts shall apply local law that most closely approximates
|
617 |
-
an absolute waiver of all civil liability in connection with the
|
618 |
-
Program, unless a warranty or assumption of liability accompanies a
|
619 |
-
copy of the Program in return for a fee.
|
620 |
-
|
621 |
-
END OF TERMS AND CONDITIONS
|
622 |
-
|
623 |
-
How to Apply These Terms to Your New Programs
|
624 |
-
|
625 |
-
If you develop a new program, and you want it to be of the greatest
|
626 |
-
possible use to the public, the best way to achieve this is to make it
|
627 |
-
free software which everyone can redistribute and change under these terms.
|
628 |
-
|
629 |
-
To do so, attach the following notices to the program. It is safest
|
630 |
-
to attach them to the start of each source file to most effectively
|
631 |
-
state the exclusion of warranty; and each file should have at least
|
632 |
-
the "copyright" line and a pointer to where the full notice is found.
|
633 |
-
|
634 |
-
<one line to give the program's name and a brief idea of what it does.>
|
635 |
-
Copyright (C) <year> <name of author>
|
636 |
-
|
637 |
-
This program is free software: you can redistribute it and/or modify
|
638 |
-
it under the terms of the GNU General Public License as published by
|
639 |
-
the Free Software Foundation, either version 3 of the License, or
|
640 |
-
(at your option) any later version.
|
641 |
-
|
642 |
-
This program is distributed in the hope that it will be useful,
|
643 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
644 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
645 |
-
GNU General Public License for more details.
|
646 |
-
|
647 |
-
You should have received a copy of the GNU General Public License
|
648 |
-
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
649 |
-
|
650 |
-
Also add information on how to contact you by electronic and paper mail.
|
651 |
-
|
652 |
-
If the program does terminal interaction, make it output a short
|
653 |
-
notice like this when it starts in an interactive mode:
|
654 |
-
|
655 |
-
<program> Copyright (C) <year> <name of author>
|
656 |
-
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
657 |
-
This is free software, and you are welcome to redistribute it
|
658 |
-
under certain conditions; type `show c' for details.
|
659 |
-
|
660 |
-
The hypothetical commands `show w' and `show c' should show the appropriate
|
661 |
-
parts of the General Public License. Of course, your program's commands
|
662 |
-
might be different; for a GUI interface, you would use an "about box".
|
663 |
-
|
664 |
-
You should also get your employer (if you work as a programmer) or school,
|
665 |
-
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
666 |
-
For more information on this, and how to apply and follow the GNU GPL, see
|
667 |
-
<https://www.gnu.org/licenses/>.
|
668 |
-
|
669 |
-
The GNU General Public License does not permit incorporating your program
|
670 |
-
into proprietary programs. If your program is a subroutine library, you
|
671 |
-
may consider it more useful to permit linking proprietary applications with
|
672 |
-
the library. If this is what you want to do, use the GNU Lesser General
|
673 |
-
Public License instead of this License. But first, please read
|
674 |
-
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/abstracts/_colors.scss
CHANGED
@@ -5,7 +5,6 @@
|
|
5 |
$no-stock-color: $alert-red;
|
6 |
$low-stock-color: $alert-yellow;
|
7 |
$in-stock-color: $alert-green;
|
8 |
-
$discount-color: $alert-green;
|
9 |
|
10 |
$placeholder-color: var(--global--color-primary, $gray-200);
|
11 |
$input-border-gray: #50575e;
|
5 |
$no-stock-color: $alert-red;
|
6 |
$low-stock-color: $alert-yellow;
|
7 |
$in-stock-color: $alert-green;
|
|
|
8 |
|
9 |
$placeholder-color: var(--global--color-primary, $gray-200);
|
10 |
$input-border-gray: #50575e;
|
assets/css/editor.scss
CHANGED
@@ -48,15 +48,9 @@
|
|
48 |
}
|
49 |
}
|
50 |
|
51 |
-
//
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
}
|
57 |
-
|
58 |
-
.woocommerce-search-list__selected.woocommerce-search-list__selected > ul {
|
59 |
-
list-style: none;
|
60 |
-
margin: 0;
|
61 |
-
padding: 0;
|
62 |
}
|
48 |
}
|
49 |
}
|
50 |
|
51 |
+
// This border has been upstreamed to WooCommerce Admin, so it can be removed
|
52 |
+
// from here once @woocommerce/components gets updated.
|
53 |
+
// https://github.com/woocommerce/woocommerce-admin/pull/5901
|
54 |
+
.woocommerce-search-list__list {
|
55 |
+
border: 1px solid $gray-200;
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
}
|
assets/img/avatar.jpg
ADDED
Binary file
|
{images/previews → assets/img}/beanie.jpg
RENAMED
File without changes
|
assets/img/block-error.svg
ADDED
@@ -0,0 +1,2727 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svg
|
2 |
+
width="208.5"
|
3 |
+
height="92"
|
4 |
+
viewBox="0 0 834 368"
|
5 |
+
xmlns="http://www.w3.org/2000/svg"
|
6 |
+
>
|
7 |
+
<g>
|
8 |
+
<g>
|
9 |
+
<path
|
10 |
+
fill="#DCDDDE"
|
11 |
+
d="M77.3,290.2h0.3l0.3,0.1l0.2,0.1l0.4,0.1h0.1l0.4,0.2h0.1l0.2,0.2l0.3,0.2l0,0l0.3,0.3l0.2,0.3l0,0h0.4l2,0.1
|
12 |
+
l2,0.1l2.1,0.2l1.1,0.1l1.1,0.1l1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1,0.1l1.1,0.2l1,0.2l1,0.2l1,0.2l0.9,0.2
|
13 |
+
l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.8,0.2l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.2l0.4,0.2
|
14 |
+
l0.4,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.3l0.2,0.2h0.2h1.4h0.6l0,0
|
15 |
+
l-0.2-0.3v-0.1l-0.2-0.3v-0.1l-0.1-0.3v-0.1l-0.1-0.3v-0.1l-0.1-0.4v-0.1l0.1-0.3v-0.1l0.1-0.3v-0.1l0.1-0.3l0.1-0.1l0.1-0.2
|
16 |
+
l0.1-0.2l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1
|
17 |
+
l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.1l0.5-0.1h0.4h0.5h0.4h0.4h0.4h0.4h0.4h0.4h0.4l0.7,0.1l0.7,0.1l0.7,0.1
|
18 |
+
h0.3h0.3h0.3h0.2h0.2h0.2h0.3h0.4h0.8h0.8l0.9-0.1l0.9-0.1l1-0.1l2.2-0.2l2.3-0.2l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.3-0.1
|
19 |
+
l1.2-0.1l1.3-0.1h1.2h0.7h0.7h0.7h0.6h0.7h0.6h0.7h0.6h0.7h0.6h0.6l0.6,0.1l0.6,0.1l0.5,0.1l0.6,0.1l0.5,0.1l0.6,0.1l0.5,0.1
|
20 |
+
l0.5,0.1l0.5,0.1l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.2,0.1l0.2,0.2l0.2,0.2
|
21 |
+
l0.1,0.1l0.2,0.2v0.1l0.2,0.3l0,0l0.2,0.5l0,0l0.1,0.5l0,0l0.1,0.6l0,0l-0.1,0.6l0,0l-0.2,0.5h-0.1l-0.2,0.4h-0.1l-0.1,0.1
|
22 |
+
l1.9,0.3l2.3,0.4l2.2,0.4h1.1l2.5,0.1l2.2,0.1l0.7-0.1l0.6-0.1l0.5-0.1h0.5h0.5h0.6h0.6h0.6h0.6h0.6h0.6h1.1h1.1h1.1h1.1h1.1h5.2
|
23 |
+
h0.4l4-0.2l2-0.1l2-0.1l1.2-0.1l0.1-0.2l0.4-0.4l0.5-0.3l0,0l0.3-0.1l0.4-0.1l0,0l0.4-0.1h0.2h0.4h0.4h2.4h2.4h2.4h2.4h4.8
|
24 |
+
l4.8,0.1l9.5,0.1l4.8,0.1l4.7,0.1h4.8h2.4h2.4h2.4h2.4h2.4h2.4h2.4h2.4h2.4h2.4l2.4-0.1l2.4-0.1l2.4-0.1l2.4-0.1h1.2h1.2h1.2h1.2
|
25 |
+
h1.2h1.2h1.2h1.2h2.5h2.4h2.4h1.2h1.2h0.2h0.2h0.5h0.5l0.5-0.1l0.7-0.1l0.7-0.1l1.4-0.2l1.4-0.2l0.8-0.1l0.7-0.1l0.8-0.1l0.7-0.1
|
26 |
+
l0.8-0.1h0.7h0.7h0.4h0.4h0.4h0.4h0.4h0.4h0.3h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.2l0.4,0.2l0.2,0.2l0.2,0.1
|
27 |
+
l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.2v0.2
|
28 |
+
v0.2v0.2l-0.1,0.3l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2
|
29 |
+
l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.2,0.1l-0.2,0.1l-0.3,0.1l-0.2,0.1l-0.1,0.1h0.1l0.5,0.1l0.2,0.1l0.3,0.1l0.2,0.1h0.1h0.2l0.7-0.1
|
30 |
+
l0.7-0.1l0.7-0.1l1.5-0.2l1.6-0.2l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1h0.1h0.1l0,0l0.2-0.4l0.4-0.4l0,0l0.3-0.2l0.3-0.2l0,0l0.4-0.2
|
31 |
+
h0.1l0.4-0.1h0.1l0.3-0.1h0.2h0.4h0.4h0.4h0.4h0.4h0.4h0.7l0.8,0.1l0.8,0.1l1.6,0.1l0.8,0.1h0.7h0.6h0.2h0.2h1.4h1.5h2.9h1.4h1.4
|
32 |
+
h0.7h0.7h0.7h0.7l1.9-0.1l1.9-0.1l1.8-0.1l1.9-0.1l1.9-0.1l1.9-0.1l3.8-0.3l3.7-0.3l2-0.1l1.9-0.1l1.9-0.1l1.9-0.1l2-0.1l1.9-0.1
|
33 |
+
h0.7h0.7h1.4h1.4h1.4h2.7h1.3h1.3h0.5h0.5h0.6h0.7l1.5-0.1l1.4-0.1h0.7h0.7h0.5h0.2h0.3h0.2h0.3h0.1l0.5,0.1h0.1l0.3,0.1l0.3,0.2
|
34 |
+
l0,0l0.5,0.4l0.4,0.5l0,0l0.2,0.5l0.2,0.5v0.5v0.5l0,0l-0.2,0.5L404,306l-0.2,0.4h-0.1l-0.2,0.3l-0.3,0.2l0,0l-0.5,0.3h-0.1
|
35 |
+
l-0.3,0.1l-0.2,0.1l-0.3,0.1l-1.3,0.4l-1.2,0.3l-1.3,0.3l-1.4,0.3l-1.3,0.3l-1.4,0.3l-1.3,0.3l-1.4,0.3l-1.3,0.3l-1.4,0.3
|
36 |
+
l-2.6,0.5l-5,1l-3.5,0.7h-0.2l2-0.1l2.1-0.1l2.1-0.1l2-0.1h1.8h1.6h0.8h0.6h0.2h0.6l0.9-0.1l1.1-0.1h0.7h0.7h0.7h0.7h0.8h0.8h0.8
|
37 |
+
h0.8h0.8l0.8,0.1l0.8,0.1h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1
|
38 |
+
l0.4,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.4,0.3l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.3l0.1,0.3
|
39 |
+
l0.1,0.3v0.3l0.1,0.3v0.3l-0.1,0.3v0.3l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.3
|
40 |
+
l-0.2,0.3l-0.3,0.2l-0.3,0.2l-0.3,0.2L407,323l-0.4,0.2l-0.3,0.2l-0.3,0.2l-0.4,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
41 |
+
l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.5,0.1l-0.8,0.1l-0.9,0.1
|
42 |
+
l-0.9,0.1l-0.9,0.1l-1,0.1h-0.9h-0.9h-1h-1h-1h-1h-1.1h-1h-1.1h-1h-1.1h-1l-1.1-0.1l-1-0.1l-1-0.1l-1.1-0.1l-1.2-0.1v0.1v0.3v0.1
|
43 |
+
l-0.1,0.3v0.1l-0.1,0.3l-0.1,0.2l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.2l-0.2,0.2l-0.3,0.2
|
44 |
+
l-0.2,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.4,0.1l-0.7,0.2
|
45 |
+
l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.6,0.1l-0.7,0.1l-0.5,0.1l-1.1,0.1
|
46 |
+
l-0.9,0.1l-0.8,0.1l-0.7,0.1h-0.5h-0.6h-0.7h-0.7h-0.8h-0.7h-0.8h-0.8h-0.8h-0.8h-0.9h-0.9H349h-0.9h-0.9h-0.9h-1l-0.9-0.1l-1-0.1
|
47 |
+
l-1.1-0.1l-1-0.1l-1-0.1l-1.1-0.1l-1.1-0.1l-1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2
|
48 |
+
l-1.1-0.2l-1.1-0.2l-1-0.2l-1.1-0.3l-1-0.3l-1.1-0.3l-1-0.3l-1-0.3l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
|
49 |
+
l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2
|
50 |
+
l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.4-0.3l-0.4-0.3
|
51 |
+
l-0.3-0.3l-0.3-0.3l-0.1-0.1l-0.6,0.1l-0.9,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1.1,0.1l-1,0.1
|
52 |
+
h-0.9h-1h-1.2l-0.1,0.3l0,0l-0.3,0.4l-0.3,0.4l-0.4,0.3l0,0l-0.4,0.2l-0.3,0.2h-0.1l-0.5,0.1h-0.1h-0.4h-0.2h-0.3h-1.5h-1.5h-2.9
|
53 |
+
h-3l-2.9-0.1l-2.9-0.1l-2.9-0.1l-5.8-0.2l-5.7-0.2l-2.9-0.1l-2.9-0.1l-2.9-0.1h-2.8h-2.9h-1.4h-1.4h-2.1h-2.1h-2.1h-2.1h-2.1h-1.1
|
54 |
+
h-1.1h-1.1H225h-1.1h-1.1h-0.3h-0.3h-0.8h-1.8h-1h-1h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.2-0.1l-0.2-0.1
|
55 |
+
l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.3l-0.1-0.1l-0.2-0.4
|
56 |
+
l-0.1-0.1l-0.2-0.4v-0.1l-0.2-0.5v-0.1l-0.1-0.5v-0.1l0.1-0.5v-0.1l0.1-0.4l0.1-0.1l0.1-0.4l0.1-0.1l0.1-0.3l0.1-0.1l0.2-0.2
|
57 |
+
l0.1-0.2l0.2-0.3l0.2-0.2l0.4-0.4l0.4-0.3l0.3-0.3h-0.2h-0.1l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.8,0.3l-0.8,0.3l-0.7,0.3l-0.8,0.3
|
58 |
+
l-0.8,0.3l-0.8,0.3l-0.8,0.3l-0.8,0.3l-0.8,0.3l-1.6,0.5l-1.7,0.5l-1.6,0.5l-1.7,0.5l-1.7,0.5l-1.7,0.5l-1.7,0.5l-1.7,0.4
|
59 |
+
l-1.6,0.4l-1.6,0.4l-1.6,0.4l-2.2,0.6l0.2,0.6l0.1,0.1l0.1,0.4l0.1,0.4v0.1v0.4v0.1l0.1,0.1l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3
|
60 |
+
l0.1,0.3v0.3l0.1,0.3l-0.1,0.3v0.2v0.2l-0.1,0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2
|
61 |
+
l-0.1,0.2l-0.1,0.2l-0.2,0.2l-0.1,0.2l-0.1,0.2l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.4,0.3l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
|
62 |
+
l-0.4,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1H175h-0.4h-0.4h-0.4h-0.4H173h-0.8h-0.8h-0.8
|
63 |
+
h-0.8H169h-0.8l-1.5-0.1l-1.5-0.1h-0.7h-0.7h-0.6h-0.6H162h-0.2h-0.2l-6.1,0.5l-3.1,0.2l-3.1,0.2l-3.1,0.2l-3.1,0.2l-3.1,0.2
|
64 |
+
l-3.1,0.2l-3.1,0.2l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1h-1.6h-1.5h-1.5h-1.5h-1.5h-1.5h-1.5h-0.4
|
65 |
+
h-0.4h-0.2l-0.4-0.1h-0.1l-0.5-0.2l0,0l-0.5-0.3l-0.4-0.4l-0.3-0.4l0,0l-0.3-0.6l-0.2-0.6v-0.6l0.1-0.6l0.2-0.6l0,0l0.2-0.4
|
66 |
+
l0.3-0.3l0.4-0.3l0,0l0.5-0.3l0,0l0.3-0.1l0.2-0.1l0.4-0.1l0.3-0.1l0.4-0.1l0.7-0.1l0.9-0.1l1-0.1l2.1-0.3l2.2-0.3l2-0.3l0.9-0.1
|
67 |
+
l0.7-0.1l1-0.1l0.9-0.1l0.9-0.1l1-0.1l1.9-0.2l1.9-0.2l1.9-0.2l1.9-0.2l1.9-0.2l0.9-0.1l0.9-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1
|
68 |
+
l0.6-0.2l1.2-0.3l1.2-0.3l1.2-0.3l1.2-0.3l1.1-0.3l-1.2-0.1l-2.2-0.2l-1.1-0.1l-1.1-0.1l-1.1-0.1l-0.9-0.1l-1-0.1l-0.9-0.1
|
69 |
+
l-0.9-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.7-0.1l-0.7-0.1l-0.5-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.3-0.1
|
70 |
+
l-0.3-0.2l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.4-0.4l-0.1-0.1l-0.3-0.4l0,0l-0.2-0.3l0,0l-0.2-0.5l0,0l-0.1-0.5l0,0v-0.5l0,0l0.1-0.5
|
71 |
+
l0,0l0.2-0.4l0,0l0.2-0.4l0,0l0.3-0.4l0.1-0.1l0.3-0.3h-0.4h-0.7h-0.7h-0.7h-0.3h-0.3h-0.2h-0.3l-0.5-0.1l-0.5-0.1l-0.5-0.1
|
72 |
+
l-0.6-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.3-0.2l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.4-0.4
|
73 |
+
l-0.1-0.1l-0.3-0.5h-0.1l-0.2-0.5l0,0l-0.1-0.4v-0.4l0,0V314l0.1-0.4l0,0l0,0h-0.4l-0.8,0.1l-0.7,0.1h-0.7h-0.7h-0.7h-0.7h-0.8
|
74 |
+
h-0.7h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4l-2.7-0.1l-2.5-0.1h-1.2h-1.2h-1.1h-1.1H76.9h-0.2h-0.4h-0.8h-0.9h-0.9h-0.4h-0.4h-0.4h-0.4
|
75 |
+
h-0.3h-0.2l-0.4-0.1l-0.4-0.1l0,0l-0.5-0.3l-0.4-0.4l-0.4-0.5l0,0l-0.2-0.5l-0.2-0.6v-0.6l0.1-0.6l0,0l0.2-0.6l0.4-0.5l0.4-0.4
|
76 |
+
l0,0l0.4-0.2L71,308h0.1l0.3-0.1h0.1l0.2-0.1l0.7-0.2l0.7-0.2l0.7-0.1l0.2-0.1l-0.1-0.1l-0.3-0.5l0,0l-0.2-0.5l-0.1-0.5l-0.1-0.6
|
77 |
+
l0.1-0.6l0.2-0.5h0.1l0.3-0.5l0.5-0.5l0,0l0.5-0.3H75l0.4-0.2l0.2-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l-0.3-0.1
|
78 |
+
l-0.5-0.4l-0.5-0.4h-0.1h-0.9h-0.9h-0.9H73h-0.9l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.7-0.1l-0.5,0.1l-0.6,0.1h-0.5h-0.6h-0.5
|
79 |
+
h-0.6H64h-0.5h-0.6h-0.5h-0.6h-0.5h-1.1h-1.1h-1l-1.1-0.1l-1.9-0.1l-1.8-0.1h-0.8h-0.7h-0.7h-0.5h-0.4h-0.9l-2.8,0.1l-3.9,0.2
|
80 |
+
l-4.3,0.2l-2.2,0.1l-2.1,0.1l-2,0.1l-1.8,0.1h-0.8h-0.7H28h-0.6h-0.5h-0.5h-0.3h-0.2l-0.4-0.1l0,0l-0.4-0.1l-0.4-0.2l0,0l-0.4-0.3
|
81 |
+
L24,300l-0.3-0.4l0,0l-0.2-0.5l-0.1-0.5v-0.1v-0.3l-0.1-0.1v-0.3l0.1-0.1v-0.3l0.1-0.1l0.1-0.3v-0.1l0.1-0.3l0.1-0.1l0.1-0.3
|
82 |
+
l0.1-0.1l0.1-0.2l0.1-0.2l0.2-0.3l0.3-0.3l0.2-0.3l0.3-0.2l0.2-0.2l0.3-0.2L26,294l0.3-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0,0h-0.5h-0.6
|
83 |
+
h-0.3h-0.3h-0.3h-0.3l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.4-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2
|
84 |
+
l-0.3-0.3l-0.2-0.3l-0.3-0.3l-0.2-0.3l-0.2-0.4l-0.2-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4v-0.4l-0.1-0.4l0.1-0.4v-0.4l0.1-0.4l0.1-0.3
|
85 |
+
l0.1-0.3l0.1-0.2l0.1-0.3l0.1-0.2l0.1-0.3l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.2l0.1-0.1l0.2-0.2l0.1-0.1l0.3-0.2l0.1-0.1l0.2-0.2
|
86 |
+
l0.2-0.1l0.4-0.2l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.4h0.4h0.3h0.4h0.3h0.4h0.3h0.4l0.3,0.1l0.4,0.1l0.7,0.1l0.7,0.2l0.7,0.2
|
87 |
+
l0.7,0.2l0.7,0.2l0.7,0.2l1.2,0.4l1.2,0.4l0.6,0.2l0.6,0.2l0.5,0.2l0.5,0.1l0.5,0.1l0.4,0.1h0.2h0.2h0.2h0.2l1.7,0.2l1.7,0.2
|
88 |
+
l1.8,0.2l1.8,0.2l3.8,0.5l4,0.5l3.9,0.5l2,0.2l1.8,0.2l1.8,0.2l1.8,0.2l1.7,0.2l1.5,0.1h0.4h0.7h0.5l0.5-0.1l1-0.2l1-0.2l1-0.2
|
89 |
+
l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1h0.5h0.4h0.4h0.4L77.3,290.2z M330.2,321.8l-0.7,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1
|
90 |
+
l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1h-0.8h-0.8h-0.8h-0.8h-0.8H316h-0.7h-0.7h-0.7h-0.1
|
91 |
+
l0.2,0.1l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2
|
92 |
+
l0.5,0.1l0.4,0.1l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.2l0.9,0.2l0.9,0.2l1,0.2l0.9,0.2l1,0.2l1,0.2l1,0.2l1,0.2l1,0.2l1,0.1l1,0.1
|
93 |
+
l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l0.9,0.1l0.9,0.1l1,0.1l0.9,0.1h0.9h0.9h0.9h0.9h0.9h0.8h0.8h0.8h0.8h0.8h0.8h0.7h0.7h0.6h0.7h0.5
|
94 |
+
h0.4l0.5-0.1l0.8-0.1l0.9-0.1l1-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.5-0.2
|
95 |
+
l0.5-0.2l0.5-0.2l0.2-0.1h-0.1l-0.3-0.1l-0.7-0.2l-0.7-0.2l-0.6-0.2l-0.7-0.2l-0.5-0.1h-0.1H363l-0.4-0.1l-0.5-0.1l-0.7-0.1
|
96 |
+
l-0.8-0.1l-0.9-0.1l-1-0.1h-0.2l-0.7-0.1h-0.2h-0.1h-0.8h-0.8h-0.8h0.2h-1.6H352h-1.7h-0.8h-0.9h-0.8h-0.9H346h-0.8h-0.3h-0.3
|
97 |
+
h-0.4h-0.4h-0.4H343l-0.9,0.1l-0.9,0.1l-1,0.1h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.3h-0.2h-0.3h-0.2l-0.3-0.1l-0.3-0.1
|
98 |
+
l-0.2-0.1l-0.3-0.1l-0.3-0.1L334,326l-0.2-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.2-0.3l-0.2-0.3l-0.2-0.2l-0.1-0.2l-0.2-0.2
|
99 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.2-0.4l-0.1-0.4l-0.1-0.4V322L330.2,321.8z M172.4,323.5l-0.9,0.1l-1,0.1l-1,0.1h-0.9h-1h-0.9h-0.9
|
100 |
+
h-0.9H164h-1.7h-1.6h-1.4h-0.7h-0.5h-0.5h-0.4l-3.4,0.2h-0.1l2.2,0.2l4.7,0.4l3.6,0.3h0.2l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1
|
101 |
+
l0.7-0.1l0.7-0.1l0.7-0.1l0.6-0.1l0.8-0.2l1.2-0.3L172.4,323.5L172.4,323.5z M394.4,320.2h-0.7H393h-0.7h-0.6l-1.1,0.1h-0.8h-0.6
|
102 |
+
h-0.4h-0.5h-0.7h-1.5h-1.8l-2,0.1l-2,0.1l-2.2,0.1l-4.5,0.2l-3,0.1l0.6,0.1l1.9,0.2l1.9,0.2l2,0.1l1,0.1l1,0.1l1,0.1l1,0.1h1h1
|
103 |
+
h0.9h1h1h1h0.9h0.9h0.9h0.9h0.9h0.9l0.9-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.3-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.3-0.1l0.4-0.1
|
104 |
+
l0.3-0.1l0.3-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1h0.1h-0.2h-0.3h-0.4h-0.3l-0.7-0.1h-0.7h-0.7h-0.7h-0.7H395h-0.6V320.2z
|
105 |
+
M185.1,311.1v0.5l-0.1,0.5l0,0l-0.2,0.5l-0.3,0.5l0,0l-0.2,0.3l-0.3,0.2l0,0l-0.2,0.2l0,0l0.4,0.4l0.1,0.1l0.2,0.3h0.1l0.2,0.3
|
106 |
+
l0,0l0.1,0.3h0.1l0.1,0.4l0,0l0.1,0.3l0,0l0.1,0.3l0,0l-0.1,0.4v0.1l-0.1,0.5v0.1l-0.2,0.4l-0.1,0.1l-0.2,0.3l-0.1,0.2l-0.2,0.3
|
107 |
+
l-0.2,0.3l-0.2,0.3l-0.3,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.2l-0.4,0.2l1.4-0.4l1.5-0.4l1.6-0.4l1.6-0.4l1.7-0.4l1.6-0.4
|
108 |
+
l1.6-0.5l1.7-0.5l1.6-0.5l1.6-0.5l1.6-0.5l0,0h-0.2l-1.1-0.2l-1.1-0.3l-1-0.3l-1.1-0.3l-1-0.3l-1.1-0.3l-1-0.3l-0.5-0.2l-0.5-0.2
|
109 |
+
l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.2-0.1l-0.2-0.2h-0.1l-0.3-0.2l0,0l-0.4-0.3l0,0l-0.2-0.3l-0.2-0.3h-0.1
|
110 |
+
l-0.1-0.3l-0.5-0.1l-0.8-0.2L185.1,311.1z M222.2,319.9h0.4h1.1h1h1.1h1h1.1l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
|
111 |
+
l-0.4-0.2l0,0h-0.6h-0.2H224h-0.1l-0.4-0.1l-0.2-0.1h-0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
112 |
+
l-0.3,0.1l-0.4,0.1l-0.4,0.1l-0.3,0.2h-0.1h1.6h0.8L222.2,319.9z M297.2,316.3l-2.4,0.3l-2.4,0.3l-2.4,0.3l-4.8,0.6l-4.8,0.6
|
113 |
+
l-2.4,0.3l-2.4,0.3h1h2.9h1.6h1.7h1.7h1.8l1.8-0.1l2-0.1h0.9h0.9l1-0.1l0.9-0.1l1-0.1l0.9-0.1l0.9-0.1l1-0.1l0.9-0.1l0.9-0.1
|
114 |
+
l1-0.1l0.9-0.1l0,0v-0.1l-0.1-0.3v-0.1l-0.1-0.3v-0.1v-0.3v-0.1v-0.3l0,0h-0.8h-1.2L297.2,316.3z M345.5,317.8L343,318l-0.9,0.1
|
115 |
+
l1.2,0.1l1.4,0.1l1.4,0.1h0.1l-0.1-0.2l0,0v-0.4L345.5,317.8z M159.4,308.6l-1.8,0.1l-1.8,0.1l-1.8,0.1h-0.5h-0.9h-1.3h-0.8h-0.8
|
116 |
+
h-0.9h-1h-1h-1.1h-1.1l-1.1,0.1l-1.1,0.1h-0.2l-0.1,0.2l-0.4,0.5l-0.4,0.3h0.1h0.7h0.6h0.6h0.6h0.6h1.1h1.1l1.2-0.1l1.1-0.1
|
117 |
+
l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l2.4-0.2l2.4-0.2l2-0.2l-0.8-0.2L159.4,308.6z M219.2,306.9l-2,0.1l-1.6,0.1l0.2,0.1
|
118 |
+
l0.3,0.2l0.3,0.2l0.4,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2h0.1h0.8l3,0.1l3,0.1l6,0.2l6,0.2l3.5,0.1l3.5,0.1l3.5,0.1h0.1h-0.2
|
119 |
+
l-0.3-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.1-0.1h-0.6l-2-0.1l-2-0.1l-2-0.1l-2-0.1l-2-0.1l-2-0.2l-2-0.2l-0.9-0.1l-0.9-0.1
|
120 |
+
l-0.9-0.1l-0.9-0.1l-1.8-0.2l-1.8-0.2l-1.8-0.2l-1.4-0.2H219.2z M288.8,304.3h-1.2h-0.8l1.2,0.1h0.2l2.5-0.1l2.4-0.1l0,0h-0.8
|
121 |
+
h-1.2h-1.2L288.8,304.3z"
|
122 |
+
/>
|
123 |
+
<path
|
124 |
+
fill="#DCDDDE"
|
125 |
+
d="M582.2,247.8h2.8h1.4h1.4h1.4h1.4h1.4h0.7h0.7h0.7h0.7h0.7h0.7l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1
|
126 |
+
l0.7-0.1l0.7-0.1l0.7-0.1l0.5-0.1l0.6-0.1l1.1-0.2l1.2-0.1l1.1-0.1l2-0.2l0.8-0.1h0.6l0.5,0.1l0.5,0.2l0.5,0.3l0.4,0.4l0.3,0.5
|
127 |
+
l0.2,0.5l0.1,0.6v0.6l-0.1,0.6l-0.2,0.5l-0.3,0.5l-0.4,0.4l-0.5,0.3l-0.5,0.2l-0.4,0.1h1.2h1.9l0.7-0.1l1.7-0.2l0.9-0.1l0.9-0.1
|
128 |
+
l0.8-0.1l0.9-0.1h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.4l0.4,0.1l0.9,0.1l0.9,0.2l0.9,0.2l0.5,0.1l0.4,0.1l0.4,0.1
|
129 |
+
l0.4,0.1l0.2,0.1l0.2,0.1h0.1l0.3,0.2l0.3,0.2h0.1l0,0h0.2h0.5h0.5h0.5l0.5,0.1l0.5,0.1l0.5,0.1l1.1,0.1l1.1,0.2l1,0.2l1,0.1
|
130 |
+
l0.9,0.1h0.4h0.4h0.3h0.4l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l1.8,0.3h0.1l1-0.1
|
131 |
+
l1.4-0.1l1.4-0.1l0.9-0.1l-0.4-0.2l-0.8-0.4l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.2h-0.1l-0.2-0.3h-0.1l-0.3-0.5l0,0
|
132 |
+
l-0.1-0.3l-0.1-0.3l0,0l-0.1-0.4l-0.1-0.4l0,0l0.1-0.4l0.1-0.4l0,0l0.2-0.3l0.2-0.3l0,0l0.4-0.5l0,0l0.4-0.3h0.1l0.2-0.2l0.2-0.1
|
133 |
+
l0.2-0.1l0.3-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.4h0.4h0.4h0.4h0.4h0.8h0.8h0.8h0.8h0.7h0.7l0.6,0.1l0.7,0.1l0.7,0.1
|
134 |
+
l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.8,0.2h1.1h0.8h0.7h0.7h0.6l1.6,0.1l1.6,0.1l1.6,0.1l1.5,0.1l1.6,0.1l1.5,0.1l1.6,0.1l1.5,0.1
|
135 |
+
l3,0.3l2.6,0.2h0.3h1.8h2.2h1.1h1.1h1.1h1.1h1.1h1.1h1.1h1.1l1.1,0.1l1.1,0.1l1.1,0.1l1.2,0.1l0.4,0.1l0.5,0.1l0.5,0.1h0.1
|
136 |
+
l0.1-0.1l0.2-0.2h0.1l0.4-0.2h0.1l0.2-0.1l0.2-0.1l0.3-0.1l0.3-0.1h0.2h0.2h0.3h0.2h0.3h0.6h0.6l0.6,0.1l0.5,0.2l0.5,0.3l0.5,0.4
|
137 |
+
l0.4,0.4l0.2,0.5l0.2,0.6l0,0h0.2l0.6,0.2l0.6,0.1l1.2,0.1l1.8,0.1l3.6,0.2l1.8,0.1l1.7,0.1l1.8,0.1h0.9h0.8h0.1h0.1h0.1h0.1h0.3
|
138 |
+
h0.3l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.9-0.2l0.9-0.2l1-0.2l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1h0.3h0.2h0.3h0.3
|
139 |
+
h0.2h0.3h0.3l0.4,0.1l0.3,0.1l0.3,0.1l0.4,0.1l0.4,0.2l0.2,0.1l0.2,0.1l0.1,0.1l0.2,0.2l0.1,0.1l0.2,0.2l0.1,0.1l0.2,0.2l0.1,0.1
|
140 |
+
l0.2,0.3l0.1,0.1l0.1,0.3l0.1,0.1l0.1,0.2l0.1,0.1l0.1,0.3l0.1,0.3l0.1,0.4l0.1,0.4v0.3v0.3v0.1l-0.1,0.4v0.1l-0.1,0.4v0.1
|
141 |
+
l-0.1,0.1h0.2h0.9h0.8h0.9h0.9h0.9h0.5h0.6h0.6l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.4,0.1l0.3,0.1l0.4,0.1
|
142 |
+
l0.4,0.1l0.4,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.3,0.2l0.2,0.2l0.1,0.1l0.2,0.2l0,0l0.2,0.3h0.1l0.2,0.3l0.5-0.2l0.9-0.3l0.9-0.3
|
143 |
+
l0.9-0.3l1.6-0.5l2-0.6l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l0.9-0.3l0.9-0.2l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.3h0.1h0.4h0.1
|
144 |
+
l0.3,0.1l0.3,0.1h0.1l0.4,0.2l0.4,0.2l0.3,0.3h0.1l0.4,0.4l0.2,0.5l0.2,0.5l0.1,0.5l0,0l-0.1,0.6l-0.1,0.5l-0.2,0.5h-0.1l-0.2,0.3
|
145 |
+
l-0.2,0.2h-0.1l-0.3,0.3l-0.1,0.1l-0.2,0.2l-0.4,0.2l-0.4,0.2l-0.6,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.2l-0.6,0.2l-0.5,0.2l-0.6,0.2
|
146 |
+
l-0.5,0.2l-0.6,0.2l-0.6,0.2l-0.5,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-1.2,0.4l-1.2,0.4l-1.2,0.4l-1.2,0.3l-1.2,0.3l0.8,0.1h0.4h7.9
|
147 |
+
h4h3.9h1.9h1.2h1.5h1.5h0.8h0.8h0.8h0.9l0.9,0.1l0.9,0.1l0.8,0.1l0.9,0.1l0.9,0.1l0.8,0.1l0.9,0.1l0.8,0.1l0.8,0.1l0.4,0.1
|
148 |
+
l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.4,0.1l0.4,0.1l0.3,0.2l0.4,0.2l0.3,0.2l0.4,0.2
|
149 |
+
l0.3,0.2l0.3,0.3l0.2,0.2l0.2,0.2l0.2,0.3l0.1,0.2l0.2,0.3v0.1l0.1,0.3l0.1,0.1l0.1,0.5v0.1v0.6v0.1v0.3l-0.1,0.3v0.1l-0.1,0.3
|
150 |
+
l-0.2,0.3l0,0l-0.2,0.3l-0.2,0.3l0,0l-0.4,0.3l0,0l-0.4,0.3h-0.1l-0.3,0.1H804l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.2h-0.3h-0.4h-0.4
|
151 |
+
h-0.4h-0.4h-0.4h-0.4H800l-0.8-0.1l-0.9-0.1l-1.7-0.3l-0.8-0.1h-0.4H795h-0.3h-0.3h-0.2H794h-2.6h-2.5h-1.2h-1.2h-1.2h-1.2h-1.2
|
152 |
+
l-1.2-0.1H781h-0.6h-0.7h-0.6l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1
|
153 |
+
l-1.4-0.2l-1.4-0.3l-1.5-0.3l-3.3-0.6h-0.2h-3h-4h-3.9h-4h-4h-2h-2h-0.8l-0.4,0.1l-0.7,0.2l-1.4,0.5l-1.4,0.5l-0.8,0.2l-0.7,0.3
|
154 |
+
l-0.8,0.2l-0.7,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.4,0.1l-0.4,0.1l-0.3,0.1l-0.3,0.1l-0.7,0.1l-0.7,0.1
|
155 |
+
l-0.7,0.1h-0.8H725h-0.4h-0.4h-0.4h-0.1l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.1l-0.7,0.1l-0.7,0.1
|
156 |
+
l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-1.3,0.2l-1.4,0.1l-1.4,0.1
|
157 |
+
l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1h-1.4h-1.4h-1.3h-1.4h-1.4h-1.4H691h-1.3h-1.4H687h-1.4h-1.3l-1.2-0.1l-1.1-0.1l-1.2-0.1
|
158 |
+
h-0.6l-0.5-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-1.4-0.2l-0.7-0.1
|
159 |
+
l-0.8-0.1l-0.8-0.2l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.2-0.2l-0.2-0.1
|
160 |
+
l-0.2-0.2l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.3l-0.1-0.1l-0.1-0.4l-0.1-0.1l-0.1-0.5v-0.1l-0.1-0.5v-0.1
|
161 |
+
l0.1-0.5v-0.1l0.1-0.5v-0.1l0.2-0.4l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.2l0.2-0.1l0.2-0.2l0.2-0.2l0.3-0.2l0.3-0.2
|
162 |
+
l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1l0.4-0.1l0.7-0.3l0.7-0.3l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2
|
163 |
+
l0.7-0.2l0.7-0.2l0.8-0.2l0.7-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1h0.1v-0.1v-0.1l0.1-0.4V266l0.1-0.3v-0.1
|
164 |
+
l0.2-0.3v-0.1l0.1-0.1l-0.5-0.1l-0.8-0.1l-0.9-0.1l-0.8-0.2l-0.9-0.2l-0.8-0.2l-0.8-0.2l-0.8-0.2l-0.8-0.2l-0.6-0.2h-0.2h-0.5
|
165 |
+
h-0.5h-0.5l-0.9-0.1l-0.9-0.1l-0.8-0.1L670,263h-0.7l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1h-0.1l-1.2,0.2
|
166 |
+
l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.3,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-0.6,0.1l-0.7,0.1l-0.6,0.1l-0.7,0.1l-0.6,0.1l-0.6,0.1h-0.7
|
167 |
+
H649h-0.6h-0.7h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6l-0.6-0.1l-0.5-0.1l-0.6-0.1l-0.6-0.1l-0.5-0.1l-0.6-0.1l-0.5-0.1
|
168 |
+
l-0.6-0.1l-0.5-0.1l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.6-0.2l-0.4-0.2l-3.7,0.5l-2.8,0.3l-2.7,0.3l-0.9,0.1l-0.9,0.1l-0.9,0.1
|
169 |
+
l-0.9,0.1l-0.8,0.1l-0.9,0.1l-0.9,0.1l-0.8,0.1h-0.8h-0.9h-0.8h-0.8l-1.6,0.1H612h-1.6h-1.6h-1.7h-1l-0.5,0.2l-0.7,0.3l-0.7,0.3
|
170 |
+
l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.8,0.2l-0.7,0.2l-0.7,0.2l-0.8,0.2l-0.7,0.2l-0.8,0.2l-0.7,0.2
|
171 |
+
l-0.8,0.2l-0.8,0.2l-0.7,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-1.5,0.3l-1.5,0.3l-1.5,0.3l-0.7,0.1l-1.1,0.4
|
172 |
+
l-1.3,0.5l-1.3,0.5l-1.3,0.5l-1.3,0.5l-1.3,0.5l-1.3,0.5l-1.4,0.5l-1.4,0.5l-1.3,0.5l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2
|
173 |
+
l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2L564,278l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.1l-0.4,0.1l-0.4,0.1l-0.9,0.2l-2.3,0.6
|
174 |
+
l-1.4,0.3l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1h-0.4h-0.4h-0.4
|
175 |
+
H545h-0.4h-0.4h-0.4h-0.4H543h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2
|
176 |
+
l-0.4-0.2l-0.4-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.1l-0.2-0.3l-0.1-0.1l-0.2-0.3l-0.1-0.1l-0.2-0.4v-0.1l-0.1-0.5
|
177 |
+
l-0.1-0.1V277v-0.1v-0.5l0.1-0.1l0.1-0.5v-0.1l0.2-0.4l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.2l0.1-0.1l0.2-0.2l0.1-0.1l0.2-0.2l0.2-0.2
|
178 |
+
l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.2l0.4-0.2l0.4-0.1l0.5-0.1l0.4-0.1l0.5-0.1l0.4-0.1l0.5-0.1l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2
|
179 |
+
l0.8-0.2l0.7-0.2l0.2-0.1l0.3-0.1l1.3-0.4l0.7-0.2l0.6-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1l0.4-0.1l0.8-0.1l0.8-0.1
|
180 |
+
l0.7-0.1l1.4-0.2l0.7-0.1l0.7-0.1l0.8-0.1l0.9-0.2l1.1-0.2l1.2-0.2l1.3-0.2l1.3-0.2l1.4-0.2l1.4-0.2l1.4-0.2l1.4-0.2l2.9-0.4
|
181 |
+
l3-0.5l1.5-0.2l1.5-0.2l1.5-0.2h0.2l0.8-0.4l2.5-1.1l2.5-1.1l-0.1-0.1h-9.7h-0.2h-0.2h-0.4h-0.5h-0.6l-1.2,0.1l-0.7,0.1l-0.6,0.1
|
182 |
+
h-0.7h-0.5h-0.3h-0.3h-0.3h-0.3h-0.2l-0.5-0.1h-0.1l-0.3-0.1l-0.3-0.2l0,0l-0.3-0.2l-0.2-0.2h-0.1l-0.1-0.1l-0.5,0.1l-0.7,0.1
|
183 |
+
l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1h-0.7h-0.7h-0.7H561h-0.7h-0.7h-0.7h-0.7h-0.7h-0.7l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1
|
184 |
+
l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-1-0.2l-2.4,0.6l-1.7,0.4l-1.8,0.4
|
185 |
+
l-2,0.4l-2,0.4L534,264l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2L523,266l-1.1,0.2
|
186 |
+
l-1.1,0.2l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1H512h-1.1h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5
|
187 |
+
h-0.5h-0.5l-0.5-0.1l-0.5-0.1l-0.4-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.4-0.1l-0.5-0.1l-0.4-0.1l-0.4-0.1l-0.5-0.1
|
188 |
+
l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3
|
189 |
+
l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.2-0.4l-0.3-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.1-0.3l-0.1-0.3l-0.1-0.2v-0.3v-0.2
|
190 |
+
l-0.1-0.3l0.1-0.2v-0.3v-0.2l0.1-0.3v-0.2l0.1-0.3l0.1-0.1l0.1-0.3l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.2l0.2-0.2l0.3-0.3l0.3-0.3
|
191 |
+
l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.6-0.1
|
192 |
+
l0.6-0.1l0.7-0.1l0.6-0.1h0.6h0.6h0.5h0.3v-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.3l-0.1-0.3v-0.3v-0.3v-0.3l0.1-0.3l0.1-0.3l0.1-0.3
|
193 |
+
l0.1-0.3l0.1-0.2l0.2-0.2l0.1-0.2l0.2-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.4-0.3l0.4-0.3l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.1
|
194 |
+
l0.4-0.1l0.4-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.7-0.1l0.7-0.1l0.7-0.1h0.7h0.6h0.6h0.6h0.6
|
195 |
+
h0.6h0.6h1.1h2.2h1.1h1.1h8.9h0.3h0.2h0.2h0.2h0.2h0.2h0.3h0.3l0.5-0.1l0.6-0.1l0.7-0.1l0.6-0.1l0.7-0.1l0.7-0.2l1.4-0.3l0.7-0.2
|
196 |
+
l0.7-0.2l0.7-0.1l0.7-0.1l0.7-0.1l0.4-0.1h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1
|
197 |
+
l0.4,0.1l0.4,0.1l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.3,0.2l0.4,0.3l0.3,0.3l0.4,0.3l0.3,0.3l0.2,0.3l0.3,0.3l0.1,0.2l0.1,0.2
|
198 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2l0.5,0.1l1.5,0.2l1.4,0.2l0.7,0.1l0.6,0.1l0.6,0.1l0.5,0.1
|
199 |
+
l1,0.1l0.9,0.1l1,0.1l1,0.1l0.9,0.1h0.5l0,0l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.5-0.2l0.5-0.2l0.5-0.2
|
200 |
+
l0.5-0.2l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.5-0.1h0.5h0.5h0.5
|
201 |
+
h0.4h1.5L582.2,247.8z M689.3,272.3h-0.8h-0.8h-0.8h-0.8h-0.8l-0.8,0.1l-0.7,0.1l-0.8,0.1l-0.8,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1
|
202 |
+
l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.5,0.1l0.4,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1
|
203 |
+
l0.5,0.1h0.5l1.1,0.1l1.1,0.1l1.1,0.1h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3l1.3-0.1l1.3-0.1l1.3-0.1l1.2-0.1l1.3-0.1
|
204 |
+
l1.3-0.1l1.3-0.1l0.6-0.1l0.7-0.1l0.7-0.1l0.6-0.1h0.2h-1.4h-1.5H706h-1.5H703h-1.5H700l-1.2-0.1l-1.2-0.1l-1.3-0.1h-0.7H695
|
205 |
+
l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.6-0.1l-0.5-0.1L689.3,272.3z M504.5,259h-0.4h-0.5h-0.5h-0.5
|
206 |
+
h-0.5h-0.5l-0.4,0.1l-0.5,0.1l-0.4,0.1h-0.2H500l0.2,0.1l0.1,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
207 |
+
l0.2,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1h0.4h0.4h0.4h0.4h0.4
|
208 |
+
h0.4h0.5h0.4h0.5h0.4h0.5h0.5h0.9h1l1-0.1l1-0.1l1-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1-0.1l-1-0.1l-1.1-0.1l-1.1-0.1
|
209 |
+
l-2.1-0.2l-2.1-0.3l-2.1-0.2l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-0.9-0.1h-0.2h-0.5h-0.7h-0.8L504.5,259L504.5,259z M624.9,258.1
|
210 |
+
l-0.1,0.2l1.5-0.2h0.1l0,0H624.9L624.9,258.1L624.9,258.1z M707.9,257.6l0.5,0.1l0.5,0.1l0.6,0.1l0.7,0.1l1.2,0.2l1.4,0.2h0.2
|
211 |
+
l0.3-0.1l0,0l-0.4-0.2l-0.4-0.2l0,0l-0.9-0.1l-2.3-0.1l-2-0.1h-0.2H707.9z"
|
212 |
+
/>
|
213 |
+
</g>
|
214 |
+
<g transform="matrix(0.998358,0.0572833,-0.0572833,0.998358,15.545,-79.3702)">
|
215 |
+
<g>
|
216 |
+
<g>
|
217 |
+
<g transform="matrix(1,0,0,1,398.965,43.2222)">
|
218 |
+
<path
|
219 |
+
fill="#0096FF"
|
220 |
+
d="M73.8,141.4c0.7,0.2-1.1-1-1.5-1.6c-0.9-1.5,2.2-4.9,2.2-4.9c3.4-5.2,7.1-9.9,11-14.8
|
221 |
+
c1.8-2.2,2.9-7.9,5.5-6.6c2.4,1.2-12.2,20.2-13.7,21.9c-1.4,1.6-4.4,6.5-4.4,4.4c0-8.8,14.7-31.8,23-34.6
|
222 |
+
c1.9-0.6-1.5,3.8-2.7,5.5c-0.4,0.5-9.3,12.1-11.5,9.9c-1.4-1.4,1.7-7,2.2-7.7c4.6-7.2,10.6-13.6,17-19.2
|
223 |
+
c2.6-2.3,5.1-4.9,7.7-7.1c1.3-1.1,3.8-5,3.8-3.3c0,5-10.9,14.5-14.3,18.1c-1.6,1.7-3.8,6-5.5,4.4c-2.2-2.2,3.5-5.2,5.5-7.7
|
224 |
+
c5.4-6.7,11-13,17.6-18.7c2-1.7,5.3-4.6,7.7-6c2-1.2,6.5-6.5,5.5-4.4c-4.5,9-22.9,15.6-11,5.5c17.2-14.6,33.4-19.6,53.8-26.3
|
225 |
+
c11.7-3.9,17.5-13.2,31.3-10.4c6.4,1.3,14.9,1.8,20.9,3.8c7.3,2.4,14.8,8.8,22.5,8.8c1.3,0-2.6,0.2-3.8,0
|
226 |
+
c-2.5-0.4-4.9-1.3-7.1-2.2c-8.1-3.2-16.5-5-24.7-7.7c-0.7-0.2-1.5-7.1-1.1-7.1c1.3,0,3.6,3.6,5.5,3.8
|
227 |
+
c12.3,1.8,20.7,8.4,32.4,13.7c22.6,10.3,41.6,23.5,58.7,40.6c13.3,13.3,10.8,40,15.9,55.4c2.8,8.5,3.1,19,5.5,28.5
|
228 |
+
c1.2,4.7,4.1,11.7,2.2,17.6c-0.7,2-0.2,4.6-1.6,6c-1,1-11-1.2-12.6-1.6c-12.4-3.1-27.3-1.1-40.1-1.1
|
229 |
+
c-13.3,0-31.3,5.8-42.8,11.5c-5.8,2.9-15.5,0.6-21.9,2.7c-6.1,2-17.2-0.7-23-2.2s-12.2-0.5-18.1-1.6c-9.3-1.9-18.1-5.5-28-7.1
|
230 |
+
c-17.9-3-41,1-58.2,4.4c-4.6,0.9-10.8,3.8-15.4,3.8c-5.9,0-11.9-0.5-17.6-0.5c-0.9,0-8.8,1.5-8.8,0.5c0-6.2,10.5-16.6,12.6-23
|
231 |
+
c6.8-20.3,4-39.2,24.7-51.6c5.3-3.2,16.3-10.1,23-7.1c10.2,4.5-3.5,26.8-5.5,30.7c-1.7,3.4-3.8,6.5-5.5,9.9
|
232 |
+
c-0.3,0.7-5.8,12.5-6.6,14.3c-0.7,1.6-2.4,6-1.1,4.9c24.9-21.4,45.1-47,72.4-65.8c7-4.9,19.9-13.4,28-18.1
|
233 |
+
c2.2-1.3,8.3-5,7.1-2.7c-2.1,4.3-14.3,15-15.4,15.9c-16.6,15-33.5,29.5-51,43.3c-2.1,1.7-10.6,10.4-14.3,8.8
|
234 |
+
c-2.9-1.3,1.7-6.1,3.3-8.8c4-6.8,4-6.4,7.7-13.2c8.7-16.1,18.3-32.5,30.7-46.1c5.2-5.8,9.5-10.4,15.4-15.4
|
235 |
+
c1.4-1.2,5.4-4.6,4.9-2.7c-1.1,4.3-7.7,8.4-11,11.5c-13.9,13.2-21.5,20.4-36.2,32.9c-3.8,3.2-7.6,6.3-11.5,9.3
|
236 |
+
c-0.2,0.2-5.1,4.2-5.1,2c0-2.4,15-17.5,17.4-20c19.7-20.9,43.7-41.6,70.3-53.3c3.7-1.6,36.7-14.9,30.5,1.6
|
237 |
+
c-0.9,2.5-2.2,4.8-3.6,7.1c-1.4,2.5-3,4.9-4.7,7.2c-4.6,6.6-11.3,15.3-16.5,21.4c-0.3,0.3-14.5,16.8-19.2,21.9
|
238 |
+
c-12.9,14.2-25.4,29.2-39,42.8c-2.3,2.3,4.9-4.3,7.1-6.6c4.2-4.4,8.3-8.9,12.6-13.2c17-16.7,34.9-32.5,53.2-47.7
|
239 |
+
c2.5-2.1,10.2-9.4,15.4-10.4c2.3-0.5-1.7,4.5-3.1,6.3c-1.5,2-3,3.9-4.5,5.7c-4.9,5.7-14,15.5-19.2,20.9
|
240 |
+
c-15,15.4-30,30.7-45,46.1c-6.9,7.1-6.8,6.8-13.2,14.3c-0.4,0.5-1.7,1.8-1.1,1.6c8.5-1.7,13-11.5,19.2-17.6
|
241 |
+
c20.5-20.2,41.2-40.1,63.6-58.2c4.9-3.9,14.5-11.4,21.2-15.7c1.4-0.9,14.5-8.4,9.5,0.8c-1.4,2.6-3.1,4.9-4.8,7.3
|
242 |
+
c-2,2.7-4.1,5.4-6.1,8c-5.8,7.5-11.3,14.2-17.6,21.4c-10.5,11.9-24.6,23.5-31.8,37.9c-1,2,3.9-2.3,5.5-3.8
|
243 |
+
c3.3-3.1,6.2-6.6,9.3-9.9c14-14.7,28.3-28.8,44.4-41.2c3.5-2.7,7.2-5.3,11-7.7c2.6-1.7,9.6-6.3,8.8-3.3
|
244 |
+
c-2.5,9.5-15.1,18.9-21.4,25.2c-21.4,21.7-43.1,45.9-67.5,64.2c-2.2,1.6,3.5-4.2,5.5-6c4-3.7,7.9-7.5,12.1-11
|
245 |
+
c16-13.6,32.5-27.1,49.9-39c4.5-3,10.5-7.2,16-9.6c2-0.9,6.8-3,6.5-0.8c-1.6,12-23.9,29.7-30.7,36.8c-5.2,5.4-15.4,9-15.4,16.5
|
246 |
+
c0,1.3,2.5-0.6,3.7-1.1c4.1-1.7,4.3-2,8.3-5.2c9.8-7.6,19-16.1,29.2-23.3c2.8-2,5.8-3.7,8.8-5.5c1-0.6,3-2.8,3.3-1.6
|
247 |
+
c1.5,5.8-14,19.7-16.5,22.5c-2.3,2.7-4.5,5.4-6.6,8.2c-0.8,1.1-2.8,4.6-1.6,3.8c5.1-3.1,8.5-6.5,13.2-10.4c2.4-2,4.7-4.1,7.1-6
|
248 |
+
c1.8-1.5,3.5-3.1,5.5-4.4c14.7-9.8-6,15.4-6,18.7c0,2.5,4.7-1.8,6.6-3.3c2.9-2.3,7.3-7.4,11.9-5.9c3.6,1.2-2.4,11.3-0.9,13.6
|
249 |
+
c2.1,3.1,8.1-3.9,9.3-2.7c0.6,0.6,0.8,5.3,0,6c-2.1,2.1-5.8-4.9-7.1-4.9"
|
250 |
+
/>
|
251 |
+
<path
|
252 |
+
fill="#0096FF"
|
253 |
+
d="M210.4,9.7h1l1,0.1l1.2,0.2l1.2,0.2h0.1l1.3,0.3l1.3,0.4h0.1l1,0.4l1,0.4l0.9,0.4l1.5,0.8l1.2,0.8l1,0.7
|
254 |
+
l0.5,0.4l0.3,0.1l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.3l0.8,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3
|
255 |
+
l0.7,0.3l1.3,0.5l1.3,0.6l1.3,0.6l1.2,0.6l1.2,0.6L243,22l1.1,0.6l1.1,0.6l1,0.6l2,1.1l1.9,1l0.9,0.5l0.9,0.5l0.9,0.5l0.9,0.4
|
256 |
+
l0.7,0.3l1.3,0.5l1.4,0.7l1.4,0.7l0.1,0.1l0.9,0.4l1.2,0.5l1.2,0.5l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6
|
257 |
+
l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7
|
258 |
+
l1.1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8
|
259 |
+
l1,0.8l1,0.8l1,0.8l0.9,0.8L311,64l0.9,0.8l0.9,0.8l0.9,0.8l0.9,0.8l0.9,0.8l0.9,0.9l0.9,0.9l0.9,0.9l0.9,0.9l0.9,0.9l0.9,0.9
|
260 |
+
l0.9,0.9l0.9,0.9l0.5,0.6l0.6,0.6l0.6,0.6l0.5,0.6l0.5,0.6l0.5,0.6l0.5,0.6l0.5,0.6l0.5,0.7l0.5,0.6l0.5,0.6l0.4,0.7l0.4,0.7
|
261 |
+
l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.6l0.4,0.7l0.4,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.6l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.6
|
262 |
+
l0.3,0.7l0.3,0.6l0.2,0.6l0.3,0.7l0.4,1.2l0.4,1.3l0.4,1.3l0.4,1.3l0.4,1.2l0.3,1.2l0.3,1.2l0.3,1.2l0.3,1.2l0.3,1.2l0.2,1.2
|
263 |
+
l0.2,1.2l0.2,1.1l0.2,1.1l0.2,1.1l0.2,1.1l0.2,1.1l0.2,1.1l0.2,1.1l0.2,1.1l0.3,2.1l0.3,2l0.5,3.8l0.2,1.8l0.2,1.7l0.1,0.8
|
264 |
+
l0.1,0.8l0.1,0.8l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.4l0.1,0.4l0.1,0.3l0.2,0.5
|
265 |
+
l0.3,1l0.4,1.2l0.3,1.2l0.3,1.2l0.3,1.2l0.3,1.2l0.2,1.2l0.2,1.1l0.2,1.1l0.2,1.1l0.2,1.1l0.2,1l0.2,1l0.2,1l0.3,1.9l0.5,3.7
|
266 |
+
l0.3,1.7l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.6l0.1,0.6l0.1,0.6v0.1v0.2l0.2,0.7l0.6,2l0.4,1.2
|
267 |
+
l0.2,0.7l0.2,0.8l0.2,0.8l0.2,0.8l0.2,0.9l0.2,0.9l0.2,1l0.2,1l0.2,1.1l0.2,1.1l0.1,1.2l0.1,1.2l0.1,1.2v0.7v0.7v0.7v0.7v0.7
|
268 |
+
v0.7v0.7l-0.1,0.7l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.2,0.8l-0.2,0.8l-0.2,0.8l-0.1,0.6l0,0l-0.1,0.9l-0.1,1l-0.1,0.8
|
269 |
+
l-0.2,0.8l-0.2,0.8l-0.2,0.9l-0.3,1l-0.4,1.1l-0.4,1.1l-0.5,1.2l-0.6,1.3l-0.7,1.3l-0.8,1.3l-0.9,1.3l-1.1,1.3l-0.7,0.7l-1,1
|
270 |
+
l-1,0.9h-0.1l-0.9,0.7l-0.9,0.7l-1,0.6h-0.1l-1.3,0.7l-1.3,0.7l-1,0.5l-1.9,0.7l-1.6,0.4l-1.4,0.3l-1.2,0.2l-1.2,0.1l-1.5,0.1
|
271 |
+
H326h-1.2l-1-0.1l-0.9-0.1l-0.9-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-1.4-0.2l-1.4-0.2l-1.3-0.2l-1.2-0.2l-1.1-0.2l-1-0.2
|
272 |
+
l-0.9-0.2l-0.8-0.2l-0.5-0.1l-0.4-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.4-0.1l-0.4-0.1h-0.4h-0.4H305
|
273 |
+
h-0.4h-0.4h-0.4h-0.4H303h-0.4h-0.5h-0.4h-1h-1h-1h-1.1h-1.1h-1.1h-1.1h-1.2h-1.2h-1.2l-2.5,0.1l-2.5,0.1l-2.6,0.1h-1.3h-1.4
|
274 |
+
H279h-1.4h-1.4h-1.3h0.1h-0.3h-0.3H274h-0.4h-0.4h-0.4h-0.4H272h-0.4l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1
|
275 |
+
l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.2
|
276 |
+
l-0.6,0.2l-0.6,0.2l-0.5,0.2l-1.2,0.3l-1.2,0.4l-1.2,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1,0.4l-1,0.4
|
277 |
+
l-1,0.4l-0.9,0.4l-0.9,0.4l-0.8,0.4l-1,0.5l-0.7,0.3l-0.9,0.4l-0.9,0.4l-0.9,0.3l-0.8,0.3l-0.9,0.3l-0.8,0.2l-0.8,0.2l-0.8,0.2
|
278 |
+
l-0.8,0.2l-0.7,0.2l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-1.2,0.1l-1.2,0.1l-1.1,0.1l-1.1,0.1h-1h-1H223h-0.8h-1.5
|
279 |
+
h-1.3h-0.5h-0.5H218h-0.3h-0.3l0,0h-0.1l-0.9,0.3l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.8,0.2l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1
|
280 |
+
l-0.7,0.1l-0.7,0.1h-0.7h-0.7h-0.7h-0.7h-0.7h-0.7h-1.2l-1.3-0.1l-1.2-0.1l-1.2-0.1l-1.2-0.1l-1.1-0.1l-1.1-0.2l-1.1-0.2
|
281 |
+
l-1.1-0.2l-1-0.2l-1-0.2l-1-0.2l-1-0.2l-0.9-0.2l-0.9-0.2l-1.7-0.4l-1.6-0.4l-1.4-0.3l-1.1-0.3h-0.1l0,0h-0.1h-0.1h-0.1h-0.2
|
282 |
+
h-0.2H181h-0.3h-0.3h-0.3h-0.3h-0.9h-1h-1.2h-1.3l-1.4-0.1h-0.8h-0.8l-0.8-0.1l-0.9-0.1l-0.9-0.1l-1-0.1l-1-0.1l-1-0.1
|
283 |
+
l-1.1-0.2l-1-0.2l-1.2-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.3l-1.1-0.3l-1-0.3l-1-0.3l-1-0.3l-1.9-0.5l-1.9-0.5l-3.5-1l-1.6-0.5
|
284 |
+
l-1.6-0.5l-0.7-0.2l-0.8-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.1l-0.7-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1
|
285 |
+
l-0.5-0.1l-0.5-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1h-0.6h-0.7h-0.7h-0.7H130h-0.7h-0.7h-0.7h-0.7h-0.7h-0.8h-0.8
|
286 |
+
h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-1.7,0.2
|
287 |
+
l-1.7,0.2l-1.7,0.2l-1.7,0.2l-1.7,0.3l-1.7,0.3l-1.7,0.3l-1.7,0.3l-1.7,0.3l-1.7,0.3l-1.6,0.3l-1.6,0.3l-1.6,0.3l-1.6,0.3
|
288 |
+
l-1.5,0.3h-0.1l0,0h-0.1h-0.2l-0.2,0.1l-0.2,0.1l-0.7,0.2l-0.8,0.2l-0.9,0.3l-1,0.3l-1.2,0.4l-1.2,0.4l-0.7,0.2l-0.7,0.2
|
289 |
+
l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.9,0.2l-0.9,0.2l-1,0.2l-1,0.2l-1.1,0.2l-1.1,0.1l-1.2,0.1l-1.2,0.1H68h-1.5h-1.3h-1.3h-1.3
|
290 |
+
h-1.2l-1.2-0.1l-2.3-0.1l-2.2-0.1h-1h-1h-0.9h-0.9h-0.3l-1.3,0.2l-0.9,0.1l-1,0.1l-1.1,0.1l-1.2,0.1l-0.7,0.1h-0.7h-0.8H43
|
291 |
+
h-1.1l-1.3-0.1l-1.7-0.2l-2-0.4l-1.8-0.5l-0.8-0.3l-1-0.4l-1-0.4h-0.1l-1.3-0.6l-1.2-0.7h-0.1l-1.1-0.7l-1.1-0.8l-1-0.8l0,0
|
292 |
+
l-1.2-1.1l-1.1-1.2l-1-1.2l0,0l-0.9-1.2l-0.8-1.3l-0.7-1.3l-0.6-1.4l0,0l-0.6-1.5l-0.5-1.6l-0.4-1.6l-0.3-1.6l0,0l-0.1-1.2
|
293 |
+
l-0.1-1.2v-1.2l0-0.9l0.1-1.4l0.2-1.3l0.2-1.3l0.2-1.2l0.3-1.1l0.3-1.1l0.3-1l0.3-0.9l0.3-0.9l0.3-0.9l0.3-0.8l0.3-0.8l0.3-0.7
|
294 |
+
l0.4-0.7l0.3-0.7l0.3-0.7l0.3-0.6l0.3-0.6l0.4-0.6l0.7-1.1l0.7-1.1l0.7-1l0.7-1l0.6-0.9l0.6-0.9l1.1-1.6l1.1-1.5l0.5-0.7
|
295 |
+
l0.4-0.6l0.4-0.6l0.3-0.5l0.3-0.4l0.2-0.4l0,0l0.2-0.5l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.8l0.2-0.8l0.2-0.8
|
296 |
+
l0.2-0.8l0.2-0.8l0.4-1.7l0.4-1.7l0.8-3.6l0.4-1.9l0.2-1l0.2-1l0.2-1l0.2-1l0.3-1l0.3-1.1l0.3-1.1L38,152l0.3-1.1l0.3-1.1
|
297 |
+
l0.4-1.1l0.4-1.1l0.4-1.2l0.4-1.2l0.5-1.2l0.5-1.2l0.5-1.2l0.5-1.2l0.3-0.7l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6
|
298 |
+
l0.3-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.5-0.6l0.5-0.6l0.5-0.6l0.5-0.6
|
299 |
+
l0.5-0.6l0.5-0.6l0.5-0.6v-0.1v-0.1l0.4-1l0.4-0.9l0.4-0.9l0.4-0.9l0.4-0.9l0.4-0.9l0.4-0.9l0.5-0.9l0.5-0.9l0.5-0.9l0.5-0.9
|
300 |
+
l0.5-0.9l0.5-0.9l0.5-0.9l0,0l0.2-0.7l0.3-0.9l0.3-0.8l0.3-0.8l0.3-0.7l0.3-0.7l0.3-0.7l0.5-1.1l0.5-1l0.5-0.9l0.4-0.8l0.4-0.8
|
301 |
+
l0.4-0.8l0.5-0.8l0.7-1.1l0.6-0.9l0.6-0.9l0.6-0.9l0.6-0.9l0.6-0.9l0.6-0.8l0.6-0.8l0.6-0.8l0.6-0.8l0.7-0.8l0.7-0.8l0.7-0.8
|
302 |
+
l0.7-0.8l0.7-0.8l0.7-0.8l0.7-0.8l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7
|
303 |
+
l0.7-0.6l0.7-0.6l0.7-0.6l0.6-0.6l0.4-0.3l0.3-0.3l0.3-0.3l0.4-0.3l0.9-0.8l0.9-0.9l1-1l0.2-0.1l0.2-0.3l0.6-0.7l0.6-0.7
|
304 |
+
l0.7-0.7l0.7-0.7l0.1-0.1l0.3-0.6l0.5-1l0.6-1l0.8-1.3l0.9-1.3l0.8-1.1L97,62l0.8-0.9l0.8-0.8l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7
|
305 |
+
l0.8-0.7l1-0.8l1-0.8l1-0.8l1-0.8l1-0.8l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.6l1-0.6l1-0.6l1-0.6l1-0.6l1-0.6
|
306 |
+
l1-0.6l1-0.6l1-0.5l1-0.5l1-0.5l1-0.5l1-0.5l1-0.5l1-0.5l1-0.5l1-0.5l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4
|
307 |
+
l1-0.4l1.9-0.7l1.9-0.7l1.9-0.7l1.9-0.7l1.9-0.7l1.9-0.7l1.9-0.6l1.9-0.6l3.7-1.2l3.7-1.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1
|
308 |
+
l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.3-0.1l0.3-0.2l0.3-0.1l0.7-0.4l0.7-0.4l0.8-0.4l1.7-1l1-0.6
|
309 |
+
l1.1-0.6l1.1-0.6l0.7-0.4l0.6-0.3l0.7-0.3l0.7-0.3l0.7-0.4l0.7-0.3l0.8-0.4l0.8-0.3l0.8-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3
|
310 |
+
l0.9-0.3l1-0.3l1-0.3l1-0.2l1-0.2l1.1-0.2l1.1-0.2l1.1-0.2l1.1-0.1l1.1-0.1l1.2-0.1h0.6h0.1l1.4-0.8l1.4-0.7l1.5-0.6l1.5-0.5
|
311 |
+
l1.5-0.4l0,0l1.6-0.3l1.6-0.2l1.6-0.1L210.4,9.7z M55.5,120.7l-0.1,0.1L55.5,120.7L55.5,120.7z"
|
312 |
+
/>
|
313 |
+
</g>
|
314 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
315 |
+
<path
|
316 |
+
fill="#E2F0FD"
|
317 |
+
d="M184.1,73.1l1.4,0.1l1.3,0.2l1,0.2l0.9,0.2l0.9,0.3l0.9,0.3l0.9,0.4l1,0.5l1,0.5l1,0.6l1,0.7l0.9,0.8
|
318 |
+
l0.9,0.9l0.9,0.9l0.8,1l0.7,1.1l0.7,1.1l0.6,1.1l0.5,1.1l0.4,1l0.3,0.9l0.2,0.7l0.2,0.7l0.2,0.7l0.1,0.7l0.1,0.7l0.1,0.7
|
319 |
+
l0.1,0.7l0.1,0.7l0.1,0.7V94v0.7v0.7v0.7v0.7v0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.6l-0.1,0.6l-0.2,0.6
|
320 |
+
l-0.2,0.6L202,104l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.5l-0.2,0.6l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.3,0.6l-0.5,0.9
|
321 |
+
l-0.5,1l-0.5,0.9l-0.5,0.9l-0.6,0.9l-0.6,0.9l-0.6,0.8l-0.6,0.8l-0.6,0.8l-0.6,0.8l-0.6,0.7l-0.6,0.7l-0.6,0.7l-0.6,0.7
|
322 |
+
l-0.6,0.7l-0.6,0.7l-0.6,0.6l-0.6,0.6l-0.6,0.6l-0.6,0.6l-0.6,0.6l-0.6,0.6l-0.6,0.6l-0.6,0.6l-1.1,1l-1.1,1l-1.1,1l-1.9,1.7
|
323 |
+
l-1.7,1.5l-0.7,0.6l-0.6,0.6l-0.5,0.5l-0.2,0.2l-0.2,0.2l-0.4,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.3l-0.5,0.3
|
324 |
+
l-0.5,0.3l-0.5,0.3l-0.6,0.3l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1h-0.6
|
325 |
+
h-0.6l0,0l-0.5,0.3l-0.9,0.4l-0.8,0.4l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-1,0.2l-1,0.2l-1,0.2l-1,0.1l-1,0.1h-1h-1.1h-1.1
|
326 |
+
l-1.1-0.1l-1-0.1l-1-0.2l-1-0.2l-1-0.3l-1-0.3l-1-0.4l-0.9-0.4l-0.9-0.4l-0.9-0.5l-0.8-0.5l-0.8-0.5l-0.8-0.5l-0.7-0.5
|
327 |
+
l-0.7-0.6l-0.7-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.3-0.4l-1-0.2l-1.1-0.3l-1.1-0.4l-1.1-0.4l-1-0.5l-0.9-0.5l-0.9-0.5l-0.9-0.6
|
328 |
+
l-0.8-0.6l-0.7-0.6l-0.7-0.6l-0.6-0.6l-0.6-0.6l-0.5-0.6l-0.5-0.6l-0.5-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.5-0.9
|
329 |
+
l-0.5-1l-0.4-1l-0.4-0.9l-0.3-0.9l-0.3-0.9l-0.3-0.9l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.1-0.8l-0.1-0.7l-0.1-0.7
|
330 |
+
l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7v-0.7v-0.7v-0.7l-0.1-1.2v-1.2l0-1.2V101v-1.1l0.1-1.1v-0.6l0.1-0.6
|
331 |
+
l0.1-0.6l0.1-0.6l0.1-0.7l0.1-0.8l0.2-1l0.4-1.4l0.3-0.8l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.3-0.5v-0.1l0.3-0.5l0.3-0.5
|
332 |
+
l0.3-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.4l0.4-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3
|
333 |
+
l0.5-0.3l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.1l0.6-0.1l0.6-0.1h0.4l0.3-0.2l0.5-0.4l0.5-0.4l0.5-0.3
|
334 |
+
l0.5-0.3l0.5-0.3l0,0l0.5-0.3l0.5-0.3l0.5-0.3l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1
|
335 |
+
l0.6-0.1h0.6h0.6h0.6h0.6h0.6l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.3,0.2
|
336 |
+
l0.3-0.3l0.5-0.5l0.5-0.5l0.6-0.5l0.6-0.5l0.7-0.5l0.7-0.5l0.8-0.6l0.9-0.6l1-0.6l1.1-0.6l1.2-0.6l1.3-0.5l1.2-0.4l1.1-0.3
|
337 |
+
l1.2-0.2l1.2-0.2l1.3-0.1h1.3h1.4l1.4,0.1l1.4,0.2l1.4,0.3l1.5,0.5l1.4,0.6l1.3,0.7l1.3,0.8l0.1,0.1l0.6-0.1l1-0.1l1.1-0.1h1.2
|
338 |
+
L184.1,73.1z"
|
339 |
+
/>
|
340 |
+
</g>
|
341 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
342 |
+
<path
|
343 |
+
fill="#E2F0FD"
|
344 |
+
d="M104.3,122.6h0.2h0.2h0.2h0.2h0.1h0.2h0.2h0.2h0.2h0.2h0.1h0.2h0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0,0
|
345 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
346 |
+
l0.1,0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0,0l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2
|
347 |
+
l0.1,0.2v0.2l0,0v0.2v0.2v0.2v0.2v0.2v0.2l0,0.3v0.5v0.4l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.2,0.6
|
348 |
+
l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.5l-0.3,0.5l-0.3,0.5
|
349 |
+
l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.4,0.5l-0.4,0.4l-0.2,0.3l-0.2,0.2l-0.3,0.3
|
350 |
+
l-0.3,0.3l-0.3,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.5,0.2l-0.5,0.2l-0.3,0.1l-0.2,0.1H100h-0.2h-0.1h-0.2h-0.2h-0.2H99h-0.2
|
351 |
+
h-0.1h-0.1h-0.2h-0.1h-0.2H98l-0.2,0.1l-0.4,0.2l-0.5,0.2l-0.5,0.2l-0.6,0.2l-0.6,0.2l-0.4,0.1h-0.2h-0.2h-0.2H94h-0.2h-0.2
|
352 |
+
h-0.2h-0.2H93h-0.2h-0.2h-0.2l-0.4-0.1l-0.5-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2
|
353 |
+
l-0.3-0.3l-0.5-0.4l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.3-0.5l-0.3-0.6l-0.3-0.6l-0.2-0.6l-0.2-0.6l-0.1-0.6l-0.1-0.6v-0.6v-0.6
|
354 |
+
v-0.6l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.2-0.5l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3
|
355 |
+
l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.5-0.5l0.5-0.5l0.5-0.5l0.5-0.5l0.5-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.8-0.6l0.6-0.5
|
356 |
+
l0.5-0.4l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.3-0.2l0.8-0.6l0.5-0.4l0.6-0.4l0.6-0.4l0.7-0.4l0.7-0.4l0.4-0.2
|
357 |
+
l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.5-0.2l0.6-0.2l0.4-0.1l0.4-0.1l0.5-0.1L104.3,122.6z"
|
358 |
+
/>
|
359 |
+
</g>
|
360 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
361 |
+
<path
|
362 |
+
fill="#E2F0FD"
|
363 |
+
d="M77.7,183.2h0.2h0.2h0.2h0.1h0.2h0.2H79l0.3,0.1l0.5,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.6,0.2l0.6,0.3l0.7,0.3
|
364 |
+
l0.7,0.3l0.7,0.4l0.7,0.4l0.8,0.4l0.8,0.4l0.8,0.4l0.8,0.4l0.8,0.5l1.7,0.9l1.6,0.9l1.6,0.9l1.4,0.9l1.3,0.8l1.1,0.7l0.5,0.3
|
365 |
+
l0.4,0.3l0.4,0.3l0.4,0.3l0.3,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0,0l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.2
|
366 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0,0l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3l-0.1,0.2l-0.1,0.3
|
367 |
+
l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.3l-0.2,0.3l-0.1,0.2l-0.1,0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
368 |
+
l0,0l-0.1,0.1l-0.1,0.1l-0.1,0.1H100l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.3,0.2l-0.5,0.3l-0.3,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1
|
369 |
+
l-0.3,0.1l-0.5,0.1l-0.5,0.1h-0.3h-0.2h-0.2h-0.2h-0.1h-0.2H95h-0.2h-0.4l-0.6-0.1l-0.5-0.1l-0.5-0.1l-0.4-0.1l-0.4-0.1
|
370 |
+
l-0.4-0.1l-0.6-0.2l-0.5-0.2l-0.4-0.2H90l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.9,0.1l-0.9,0.1h-0.9h-1h-1h-1h-1h-0.5h-0.5h-0.5h-0.5
|
371 |
+
h-0.5h-0.5l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1
|
372 |
+
l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.4
|
373 |
+
l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.4-0.4l-0.2-0.3l-0.2-0.2l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3
|
374 |
+
l-0.2-0.3l-0.2-0.4l-0.2-0.4l-0.1-0.5l-0.1-0.5l-0.1-0.5v-0.5v-0.5v-0.5l0.1-0.5l0.1-0.5l0.2-0.5l0.1-0.3l0.1-0.2l0.1-0.2
|
375 |
+
l0.1-0.2l0.1-0.1l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.3-0.3l0.5-0.4
|
376 |
+
l0.4-0.3l0.4-0.3l0.4-0.2l0.4-0.2l0.4-0.2L66,185l0.4-0.1l0.4-0.1l0.4-0.1l0.3-0.1l0.4-0.1l0.7-0.2l0.7-0.1l0.7-0.1l0.7-0.1
|
377 |
+
l0.7-0.1l0.7-0.1l0.6-0.1h0.6h0.6h0.6h0.4l0.1-0.1l0.2-0.1l0.2-0.1l0.2-0.1h0.1l0.2-0.1l0.2-0.1l0.2-0.1h0.1l0.2-0.1h0.2H77
|
378 |
+
l0.3-0.1l0.6-0.1L77.7,183.2z M82.6,187.1L82.6,187.1h-0.1H82.6z M72.7,185.7L72.7,185.7L72.7,185.7L72.7,185.7z"
|
379 |
+
/>
|
380 |
+
</g>
|
381 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
382 |
+
<path
|
383 |
+
fill="#0065FF"
|
384 |
+
d="M154.3,188.6l1.6-0.1l1.5-0.1l1.5-0.1h0.7h0.7h0.6l0.6-0.1h0.6l0.6-0.1l0.5-0.1l0.6-0.1l3.9-0.6l2-0.3
|
385 |
+
l2-0.3l2.1-0.3l2.1-0.3l2.1-0.3l2.1-0.3l2.1-0.4l2.1-0.4l2.1-0.4l2.1-0.4l2.1-0.4l1-0.2l1.1-0.2l1.1-0.2l1-0.2l1-0.2l1-0.2
|
386 |
+
l1-0.2l1-0.2l1-0.2l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3
|
387 |
+
l0.9-0.3l0.9-0.3l0.8-0.3l0.8-0.3l0.8-0.3l0.8-0.3l0.8-0.3l0.8-0.3l0.7-0.3l0.7-0.3l0.7-0.4l0.7-0.3l0.7-0.4l0.7-0.4l0.8-0.5
|
388 |
+
l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.7l0.8-0.7
|
389 |
+
l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.8l0.8-0.8l0.8-0.8l0.8-0.8l0.8-0.8l0.8-0.8l0.8-0.8l0.8-0.8
|
390 |
+
l0.8-0.8l0.8-0.8l0.8-0.8l1.7-1.7l1.6-1.7l1.6-1.7l1.6-1.7l1.6-1.8l3.3-3.5l3.3-3.5l1.7-1.8l1.7-1.8l1.7-1.8l1.7-1.8l1.7-1.7
|
391 |
+
l0.9-0.9l0,0v-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.7l0.1-0.8l0.1-0.8l0.1-0.9l0.1-0.9
|
392 |
+
l0.3-1.9l0.3-2l0.1-1.1l0.2-1.1l0.2-1.1l0.2-1.2l0.2-1.2l0.1-0.7l0.1-0.6l0.1-0.6l0.1-0.7l0.2-0.6l0.2-0.7l0.2-0.7l0.2-0.7
|
393 |
+
l0.2-0.7l0.2-0.7l0.2-0.6l0.2-0.6l0.2-0.6l0.2-0.6l0.2-0.5l0.2-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5
|
394 |
+
l0.3-0.5l0.3-0.5l0.4-0.5l0.4-0.5l0.4-0.4l0.4-0.5l0.4-0.4l0.4-0.4l0.5-0.5l0.8-0.7l0.9-0.8l0.9-0.7l0.9-0.7l0.9-0.6l0.9-0.6
|
395 |
+
l0.9-0.5l0.9-0.5l0.9-0.5l0.9-0.4l0.9-0.4l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.1l0.8-0.1l0.8-0.1
|
396 |
+
l0.8-0.1l0.8-0.1l0.8-0.1h0.8h0.8h0.8h0.7h0.8h0.7h0.7l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.6,0.1
|
397 |
+
l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.4L328,85l0.8,0.3l0.7,0.3l0.7,0.3l0.7,0.4
|
398 |
+
l0.6,0.4l0.6,0.4l0.6,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.8,0.7l0.8,0.8l0.8,0.8l0.7,0.8l0.6,0.8l0.6,0.8l0.6,0.8l0.5,0.7
|
399 |
+
l0.5,0.7l0.5,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7
|
400 |
+
l0.3,0.7l0.5,1.3l0.5,1.3l0.4,1.2l0.4,1.2l0.4,1.2l0.4,1.2l0.3,1.1l0.6,2l0.6,1.8l0.2,0.8l0.2,0.7l0.2,0.6l0.2,0.5l0.1,0.3
|
401 |
+
l0.1,0.2l0.4,1.1l0.5,1.2l0.5,1.2l0.5,1.2l0.5,1.2l0.4,1.2l0.4,1.2l0.4,1.2l0.4,1.2l0.4,1.2l0.4,1.2l0.4,1.2l0.4,1.2l0.4,1.2
|
402 |
+
l0.4,1.2l0.4,1.3l0.4,1.2l0.4,1.3l0.4,1.2l0.3,1.3l0.3,1.3l0.3,1.3l0.3,1.3l0.3,1.3l0.3,1.3l0.3,1.3l0.3,1.3l0.3,1.3l0.3,1.3
|
403 |
+
l0.3,1.3l0.3,1.3l0.2,1.1l0.1,0.2l0.1,0.3l0.1,0.5l0.2,0.7l0.2,0.8l0.2,0.9l0.2,1l0.2,1.1l0.1,0.6l0.1,0.6l0.1,0.7l0.1,0.7
|
404 |
+
l0.1,0.7l0.1,0.8l0.1,0.8l0.1,0.8v0.9v0.9v1l-0.1,1.1l-0.1,1.1l-0.1,0.8l-0.1,0.7l-0.1,0.7l-0.2,0.7l-0.2,0.8l-0.2,0.5
|
405 |
+
l-0.1,0.3v0.1v0.1v0.1l-0.1,0.5l-0.1,0.6l-0.2,0.7l-0.2,0.8l-0.2,0.9l-0.2,1l-0.3,1.1l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.7
|
406 |
+
l-0.2,0.7L361,192l-0.3,0.7l-0.3,0.7l-0.3,0.8l-0.3,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.7l-0.5,0.7
|
407 |
+
l-0.4,0.6l-0.4,0.6l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.7,0.8l-0.7,0.8l-0.6,0.7l-0.5,0.6l-0.4,0.5l-0.2,0.2l-0.1,0.1l-0.2,0.4
|
408 |
+
l-0.3,0.6l-0.3,0.5l-0.3,0.6l-0.5,0.9l-0.5,0.9l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.6,0.8l-0.6,0.7l-0.6,0.7l-0.6,0.7l-0.6,0.7
|
409 |
+
l-0.6,0.7l-0.6,0.7l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.8,0.7l-0.8,0.6l-0.8,0.6l-0.8,0.6l-0.8,0.6l-0.5,0.4
|
410 |
+
l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.7,0.3l-0.7,0.3l-0.8,0.3l-0.8,0.3l-0.8,0.2
|
411 |
+
l-1.1,0.3l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1
|
412 |
+
h-0.9H310h-0.9h-0.9h-0.9h-0.9h-1.7H303h-1.7h-1.7H298h-3.2h-1.5h-1.5h-1.5h-1.4h-1.4h-0.7h-0.7h-0.7h-0.7h-0.6h-0.6h-0.6h-0.6
|
413 |
+
l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.5,0.1l-0.5,0.1l-0.6,0.1L273,233l-3.6,0.7l-3.6,0.7
|
414 |
+
l-3.6,0.7l-7.2,1.5l-7.2,1.5l-7.3,1.5l-7.3,1.5l-3.7,0.8l-3.7,0.8l-3.7,0.8l-3.8,0.8l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1
|
415 |
+
l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8h-0.7l-0.7-0.1l-0.7-0.1l-0.7-0.1
|
416 |
+
l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-1.4-0.2l-1.4-0.2l-1.4-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.3l-1.3-0.3l-1.3-0.3l-1.2-0.3
|
417 |
+
l-1.2-0.3l-1.2-0.3l-1.2-0.3l-1.1-0.3l-2.2-0.5l-2-0.5l-2.1-0.5l-0.7-0.2l-0.8-0.2l-0.8-0.3l-0.7-0.3l-0.7-0.3l-0.7-0.3
|
418 |
+
l-0.6-0.3l-0.6-0.3l-0.5-0.3l-0.6-0.3l-0.9-0.5h-0.1h-0.3h-0.6l-0.6-0.1l-0.6-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.2
|
419 |
+
l-0.7-0.2l-0.7-0.2l-0.8-0.3l-0.7-0.3l-0.3,0.3l-0.9,0.8l-1,0.7l-1,0.6l-1.1,0.6l-1.1,0.5l-1.1,0.4l-1.2,0.3l-1.2,0.2l-0.6,0.1
|
420 |
+
l-0.8,0.1l-0.9,0.1l-0.9,0.1l-1,0.1h-1.1h-1.1l-1.2-0.1l-1.2-0.2l-1.3-0.2l-1.2-0.3l-0.8-0.2l-0.7-0.2l-0.7-0.3l-0.7-0.3
|
421 |
+
l-0.7-0.3l-0.7-0.3l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.5-0.5l-0.6-0.5l-0.5-0.6l-0.5-0.5l-0.5-0.6
|
422 |
+
l-0.4-0.6l-0.4-0.6l-0.5-0.7l-0.6-1l-0.6-1.1l-0.5-1.1l-0.4-1l-0.4-1l-0.3-0.9l-0.3-0.9l-0.2-0.9l-0.2-0.9l-0.2-0.8l-0.2-0.6
|
423 |
+
l-0.2-0.7l-0.2-0.8l-0.2-0.9l-0.2-0.9l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.7l-0.1-0.8l-0.1-0.8l-0.1-1v-1.1V208
|
424 |
+
l0.1-1.4l0.2-1.2l0.3-1.2l0.4-1.3l0.3-0.7l0.3-0.8l0.4-0.8v-0.1l0.4-0.8l0.4-0.7v-0.1l0.7-1l0.7-0.9l0,0l0.5-0.6l0.6-0.6
|
425 |
+
l0.6-0.6l0,0l0.7-0.6l0.8-0.6l0.8-0.5h0.1l0.9-0.5l0.9-0.5l0.9-0.4l0.8-0.3l1.2-0.4l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2
|
426 |
+
l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l1.1-0.2l1.1-0.2l1.1-0.2l1.1-0.1l1-0.1l1-0.1l1-0.1l1-0.1l1-0.1l0.9-0.1h0.9L154.3,188.6z
|
427 |
+
M353.1,204.9L353.1,204.9L353.1,204.9L353.1,204.9z"
|
428 |
+
/>
|
429 |
+
</g>
|
430 |
+
<g transform="matrix(1,0,0,1,381.866,45.2348)">
|
431 |
+
<path
|
432 |
+
fill="#0096FF"
|
433 |
+
d="M100,290.7h0.6h0.6h0.6h0.6h0.6h0.5h0.5h0.5h0.5l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l1,0.2
|
434 |
+
l1,0.2l1,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.8,0.2l1.6,0.4l1.5,0.4l0.7,0.2l0.7,0.2l0.7,0.2l0.7,0.2l0.6,0.1
|
435 |
+
l0.6,0.1h0.1h0.1h0.3h0.3h0.3h0.4h0.4h0.4h0.4h0.5h0.5h0.5h0.5h1.1l1.2-0.1l1.2-0.1h0.7h0.7h0.7h0.7h0.7h0.7h0.8l0.8,0.1
|
436 |
+
l0.8,0.1l0.8,0.1l0.8,0.1l0.5,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0,0l20.9,0h0.2h0.4h0.4l0.4,0.1l0,0
|
437 |
+
l0.5,0.1l0.5,0.1l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.3l0.5,0.3l0.4,0.3l0.4,0.3l0.4,0.4l0.4,0.4l0.4,0.4l0.3,0.4l0.3,0.4l0.3,0.5
|
438 |
+
l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.1,0.5l0.1,0.5l0.1,0.5v0.5v0.5l0,0v0.6l-0.1,0.6l-0.1,0.5l-0.1,0.5l-0.2,0.5l-0.2,0.5
|
439 |
+
l-0.2,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.2l0,0l-0.5,0.2
|
440 |
+
l-0.5,0.2l-0.5,0.1l-0.4,0.1l-0.7,0.1l-0.5,0.1l-0.5,0.1l-0.4,0.1h-0.2l-0.4,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.5,0.1h-0.5
|
441 |
+
h-0.5h-0.5h-0.9h-0.9h-0.8h-0.7h-2h-1h-1h-1h-1.1h-1.1l-1.1-0.1h-0.6h-0.6l-0.6,0l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1
|
442 |
+
l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.4-0.1H101h-0.6h-0.6l-0.5-0.1l-0.5-0.1l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.3l-0.5-0.3l-0.5-0.3
|
443 |
+
l-0.4-0.3l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.2-0.2l-0.1,0.1l-0.6,0.3l-1.3,0.6l-1.3,0.7l-1.4,0.7l-0.7,0.4l-0.8,0.4l-0.8,0.3
|
444 |
+
l-0.8,0.3l-0.8,0.3l-0.8,0.3l-0.8,0.3l-0.5,0.2l-0.4,0.1l-0.4,0.1L82,315l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1
|
445 |
+
l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1L77,316h-0.5H76h-0.5h-0.6h-0.6h-0.4l-0.5-0.1l-0.5-0.1l-0.5-0.1l0,0l-0.5-0.2l-0.5-0.2
|
446 |
+
l-0.5-0.2l-0.5-0.2l-0.4-0.3l-0.4-0.3l0,0l-0.4-0.3l-0.4-0.3l-0.4-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.2-0.5
|
447 |
+
l-0.2-0.5l0,0l-0.2-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.5v-0.5v-0.5v-0.5l0.1-0.6l0,0l0.1-0.5l0.1-0.5l0.1-0.5l0.2-0.5l0.2-0.5
|
448 |
+
l0.2-0.4l0.2-0.4l0.3-0.4l0,0l0.3-0.4l0.3-0.4l0.3-0.4l0.4-0.4l0.4-0.3l0,0l0.4-0.3L70,300h0.1l0.4-0.2l0.4-0.2l0.4-0.2
|
449 |
+
l0.2-0.1l0.1-0.4l0.2-0.4L72,298l0.3-0.5l0.4-0.6l0.5-0.7l0.3-0.4l0.3-0.3l0.3-0.3l0.4-0.4l0.6-0.5l0.5-0.4l0.5-0.4l0.6-0.3
|
450 |
+
l0.7-0.3l0.7-0.3l0.7-0.2l0.7-0.2l0.8-0.1h0.8h0.8l0.7,0.1l0.6,0.1l0.4,0.1l0.5,0.1l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.3l0.5,0.3
|
451 |
+
l0.2,0.2l0.5-0.2l0.7-0.3l0.8-0.3l0.8-0.3l0.8-0.3l0.8-0.3l0.8-0.3l0.5-0.2l0.4-0.1l0.4-0.1l0.5-0.1l0.6-0.2l0.6-0.1l0.6-0.1
|
452 |
+
l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1h0.6L100,290.7z M79.4,310.3h0.2l-0.4-0.1L79.4,310.3z"
|
453 |
+
/>
|
454 |
+
</g>
|
455 |
+
<g transform="matrix(1,0,0,1,396.607,49.2944)">
|
456 |
+
<path
|
457 |
+
d="M110.6,285.7h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.4,0.1l0.7,0.2
|
458 |
+
l0.7,0.2l0.7,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l1.1,0.5l1.1,0.5l1.1,0.4l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2
|
459 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1h0.2h0.2h0.2h0.3h0.3h0.3h0.3h0.3h0.3h0.6h0.6h0.6h0.6l0.6,0h0.6h0.7l1.3-0.1l1.4-0.1
|
460 |
+
l1.4-0.1h0.7h0.7h0.7h0.7h0.7h0.7h0.7h0.7h0.4h0.4h0.4h0.4h0.4l0.4,0.1l0.4,0.1l0.3,0.1h0.2h0.2h0.2h0.3h0.3h0.3h0.3h0.3h0.7
|
461 |
+
h0.8h0.8h0.4h0.4h0.4h0.4h0.4h0.4h0.4l0.5,0.1l0.5,0.1l0.5,0.1l0.4,0.1l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
462 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.3,0.3l0.3,0.3l0.2,0.3l0.2,0.4l0.2,0.4l0.1,0.4l0.1,0.4
|
463 |
+
l0.1,0.4l0.1,0.4v0.4v0.4v0.3v0.3v0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3
|
464 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.3,0.5l-0.3,0.6l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.4,0.5l-0.4,0.5l-0.4,0.4
|
465 |
+
l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.3,0.4l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.6,0.3l-0.6,0.3
|
466 |
+
l-0.6,0.3l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1
|
467 |
+
l-0.6,0.1l-0.6,0.1l-0.6,0.1H142h-0.6h-0.6h-0.6h-0.6H139h-0.6h-0.6h-0.6h-0.6l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1
|
468 |
+
l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-1.1-0.2l-1.1-0.2l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-2.1-0.6
|
469 |
+
l-2.1-0.6l-1-0.3l-1-0.3h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.4h-0.4h-0.4H113h-0.5l-0.5,0.1l-0.5,0.1
|
470 |
+
l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1L108,309l-0.5,0.1l-0.5,0.1l-0.5,0.1l-1,0.3l-1,0.3l-1,0.3l-1.8,0.6
|
471 |
+
l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4h-0.9
|
472 |
+
h-0.9h-0.9h-0.9h-0.9h-0.9l-0.9-0.1l-0.9-0.1l-1.8-0.1l-1.8-0.1l-0.9-0.1h-0.9h-0.8h-0.8h-0.8h-0.8h-0.8h-0.4h-0.4h-0.4h-0.4
|
473 |
+
h-0.3h-0.3h-0.3h-0.3h-0.3l-0.3,0.1l-0.4,0.1l-0.5,0.1l-0.6,0.1l-0.7,0.1l-0.7,0.1l-0.8,0.1l-0.8,0.1l-0.9,0.1l-0.9,0.1h-0.9
|
474 |
+
h-1h-1h-1h-1h-1h-1h-1h-1h-1h-1l-1-0.1l-0.9-0.1h-0.5h-0.5l-0.5-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1
|
475 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.3-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2
|
476 |
+
l-0.2-0.3l-0.2-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3v-0.3v-0.2v-0.2v-0.3v-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.3
|
477 |
+
l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.3-0.5l0.3-0.5l0.3-0.5l0.4-0.8l0.1-0.3l0.1-0.2l0.2-0.4l0.2-0.4
|
478 |
+
l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3
|
479 |
+
l0.3-0.3L55,293l0.3-0.2l0.4-0.2l0.4-0.2l0.3-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.7-0.4l0.7-0.3l0.7-0.3l0.7-0.3l0.7-0.3l1.3-0.6
|
480 |
+
l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.3-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1
|
481 |
+
l0.2-0.2l0.2-0.1l0.2-0.2l0.2-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1h0.4h0.4H71l0.3,0.1l0.3,0.1l0.2,0.1h0.1l0.4-0.1
|
482 |
+
l0.4-0.1l0.4-0.1l0.4-0.2l0.9-0.3l0.9-0.4l0.9-0.3l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1h0.3h0.3
|
483 |
+
h0.3h0.3h0.3H82h0.3h0.3h0.3h0.3l0.3,0.1l0.3,0.1l0.5,0.1l0.5,0.1l0.9,0.3l0.9,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.7,0.3l0.7,0.3
|
484 |
+
l1.2,0.5l1.1,0.4l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.1l0.5,0.1l0.2,0.1l0.2,0.1l0.2,0.1H96h0.2h0.2h0.2h0.2H97h0.3h0.3h0.3h0.3h0.3
|
485 |
+
h0.3h0.3h0.3h0.3h0.3h0.3h0.4l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1l0.4-0.1
|
486 |
+
l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.4h0.4h0.4L110.6,285.7z M115.3,302.4h0.6h0.3h0.3h0.3h0.3h0.3h0.3l0.3,0.1
|
487 |
+
l0.3,0.1l0.3,0.1l0.3,0.1l1.1,0.3l1.1,0.3l2.1,0.6l2.1,0.6l1.1,0.3l1,0.3l1,0.3l1,0.3l1,0.2l1,0.2l1,0.2l0.5,0.1l0.5,0.1
|
488 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5l0.5-0.1l0.5-0.1
|
489 |
+
l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.4-0.2
|
490 |
+
l0,0l0.1-0.1l0.2-0.1l0.2-0.2l0.2-0.2l0.2-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.2-0.4
|
491 |
+
l0.2-0.4l0.2-0.4l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2v-0.1V298v-0.1v-0.1v-0.1v-0.1v-0.1
|
492 |
+
l0,0H156h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l-0.2-0.1H155h-0.2h-0.3h-0.3h-0.3h-0.3h-0.3H153h-0.4h-0.4h-0.8h-0.8h-0.8h-0.4H149
|
493 |
+
h-0.4h-0.4h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.3-0.1h-0.2h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6H140h-0.7
|
494 |
+
l-1.4,0.1l-1.4,0.1l-1.4,0.1h-0.7h-0.7H133l-0.7,0h-0.7h-0.7h-0.7h-0.4h-0.4H129h-0.4h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1
|
495 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-1.1-0.5l-1.1-0.5l-1.1-0.4l-0.5-0.2
|
496 |
+
l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.1l-0.5-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1h-0.3h-0.3h-0.3h-0.3
|
497 |
+
H112h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3H109h-0.3h-0.3h-0.3h-0.3l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.5,0.1
|
498 |
+
l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.4,0.1h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4H99h-0.4
|
499 |
+
h-0.4h-0.4h-0.4H97h-0.4h-0.4l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2
|
500 |
+
l-0.6-0.2l-1.2-0.5l-1.2-0.5l-0.6-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.8-0.2l-0.8-0.2l-0.4-0.1l-0.4-0.1h-0.1l0,0l0,0
|
501 |
+
H83h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.2
|
502 |
+
l-0.9,0.3l-0.9,0.3l-0.9,0.4l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1h-0.3h-0.3
|
503 |
+
h-0.1l-0.2,0.1l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3
|
504 |
+
l-1.3,0.6l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2
|
505 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2
|
506 |
+
l-0.2,0.2l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.4,0.8l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.1,0.2
|
507 |
+
l-0.1,0.2l-0.1,0.2l0,0l0,0l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1h0.3H56h0.4h0.4h0.4l0.9,0.1l0.9,0.1h0.9h0.9h1h1h1h1h1h1
|
508 |
+
h0.9h0.9h0.9h0.9l0.8-0.1l0.8-0.1l0.7-0.1l0.7-0.1l0.6-0.1l0.5-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.4h0.4h0.4
|
509 |
+
h0.4h0.4h0.4h0.9h0.9H82h0.9h0.9h0.9l0.9,0.1l1.8,0.1l1.8,0.1l0.9,0.1l0.9,0.1h0.9h0.8h0.8h0.8h0.8h0.8h0.4h0.4h0.4h0.4h0.3
|
510 |
+
h0.3h0.3h0.3H99l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l1.8-0.6l1-0.3l1-0.3l1.1-0.3l0.6-0.2l0.6-0.2
|
511 |
+
l0.6-0.2l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1h0.6h0.6L115.3,302.4z"
|
512 |
+
/>
|
513 |
+
</g>
|
514 |
+
<g transform="matrix(1,0,0,1,381.866,45.2348)">
|
515 |
+
<path
|
516 |
+
fill="#0096FF"
|
517 |
+
d="M258.4,272.4h0.5h0.5h0.6h0.4h0.3h0.3h0.2h0.2h0.2l0,0l0.2,0.1l0.2,0.1l0.2,0.1l0,0l0.2,0.1l0.2,0.1
|
518 |
+
l0.2,0.1l0.2,0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0,0l0.1,0.2l0.1,0.2v0.2v0.2v0.2v0.2v0.2l0,0v0.2v0.2
|
519 |
+
l-0.1,0.2l-0.1,0.2l-0.1,0.2l0,0l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l0,0l-0.1,0.2l-0.1,0.1l0,0l-0.1,0.1l-0.1,0.1h-0.1
|
520 |
+
l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.8,0.3l-0.9,0.2
|
521 |
+
l-0.8,0.2v0.1l0.1,0.2v0.2v0.2v0.2v0.2v0.2l0,0v0.2v0.2v0.2v0.2l-0.1,0.2l-0.1,0.2l0,0l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2
|
522 |
+
l0,0l-0.1,0.1l-0.1,0.1l-0.1,0.1l0,0l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.3,0.1l-0.2,0.1l-0.3,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
523 |
+
l-0.5,0.1l-0.5,0.1l-0.6,0.1l-0.6,0.1l-0.7,0.1l-0.7,0.1l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.1
|
524 |
+
L249,286l-0.2,0.2l-0.2,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1H248l-0.1,0.1l-0.2,0.1h-0.1h-0.1h-0.1h-0.1h-0.2
|
525 |
+
h-0.2h-0.1h-0.1h-0.2h-0.1h-0.1h-0.1h-0.1H246h-0.1h-0.1h-0.1h-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.2l-0.2-0.2
|
526 |
+
l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2h-0.1l-0.8,0.1l-0.8,0.1h-0.8H240h-0.7h-0.7H238h-0.6h-0.5h-0.5h-0.3h-0.3l-0.3-0.1
|
527 |
+
l-0.2-0.1h-0.2l-0.2-0.1h-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1h-0.1l-0.2-0.1l0,0l-0.8,0.3l-0.9,0.3l-0.9,0.2l-0.5,0.1l-0.4,0.1
|
528 |
+
l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1h-0.4H227h-0.4h-0.4h-0.4h-0.4H225h-0.4h-0.4l-0.4-0.1
|
529 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.3-0.1l-0.2-0.1l-0.2-0.1l0,0l-0.2-0.1l-0.2-0.1l-0.1-0.1l0,0l-0.1-0.1l-0.1-0.2
|
530 |
+
l-0.1-0.2l0,0l-0.1-0.1l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.2l-0.1-0.2v-0.2v-0.1v-0.2v-0.2v-0.1v-0.2v-0.2v-0.2v-0.3v-0.3l0.1-0.3
|
531 |
+
l0.1-0.4l0.1-0.4l0.2-0.4l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.5
|
532 |
+
l0.4-0.5l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.1-0.1l0.1-0.1h0.1l0.1-0.1l0.1-0.1l0.2-0.1l0.3-0.1l0.3-0.1l0.3-0.1
|
533 |
+
l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.4-0.1l0.1-0.1l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.2
|
534 |
+
l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1
|
535 |
+
l0.3-0.1l0.3-0.1l0.3-0.1h0.3h0.3h0.3h0.6h0.6h0.6h0.6h0.6h0.5l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1
|
536 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l4.8,1.4l0.9-0.1l1.1-0.1h1L258.4,272.4z"
|
537 |
+
/>
|
538 |
+
</g>
|
539 |
+
<g transform="matrix(1,0,0,1,381.866,45.2348)">
|
540 |
+
<path
|
541 |
+
d="M240.3,267.1h0.9h0.9h0.9h0.9h0.9h0.9h0.9h0.9h0.9h0.9h0.9h0.9l0.9,0h0.8l0.8,0.1l0.8,0.1l0.8,0.1l0.8,0.1
|
542 |
+
l0.8,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.5,0.2l0.5,0.2l0.3,0.1l0.3,0.1l0.3,0.1
|
543 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.2
|
544 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2v0.3v0.2v0.3v0.3v0.1v0.1v0.3l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
545 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.2l-0.3,0.3
|
546 |
+
l-0.6,0.5l-0.6,0.5l-0.6,0.5l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3
|
547 |
+
l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.3,0.1l-0.2,0.1l-1.2,0.2l-1.1,0.2l-1.1,0.3l-1.1,0.3l-1.1,0.3l-1.1,0.3l-2.2,0.6
|
548 |
+
l-2.2,0.6l-1.1,0.3l-1.1,0.3l-1.1,0.3l-1.1,0.2l-1.1,0.2l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1L234,291l-0.6,0.1
|
549 |
+
l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1h-0.6h-0.6h-0.6h-0.6H228h-0.6h-0.6h-0.6h-0.6H225l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1
|
550 |
+
L222,291l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.6-0.2h-0.1l0,0h-0.1h-0.1H216h-0.2h-0.2h-0.2
|
551 |
+
h-0.2h-0.3h-0.3H214h-0.6h-0.7h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1
|
552 |
+
l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.3
|
553 |
+
l-0.2-0.3l-0.2-0.3l-0.1-0.2v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1V285v-0.1v-0.1v-0.1v-0.1v-0.2l0.1-0.3l0.1-0.3
|
554 |
+
l0.1-0.3l0.1-0.3l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.2-0.2l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2
|
555 |
+
l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1l0.5-0.2l0.4-0.2l0.4-0.1l0.3-0.1l0.2-0.1l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.8-0.2l0.8-0.2
|
556 |
+
l1.5-0.4l1.4-0.4l1.3-0.3l0.4-0.1l-0.2-0.1l-0.2-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2V275v-0.3v-0.3v-0.3v-0.3
|
557 |
+
l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1
|
558 |
+
l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.6-0.2l0.6-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.8-0.1
|
559 |
+
l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1L240.3,267.1z M238.9,273.1
|
560 |
+
l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.6,0.1
|
561 |
+
l-0.6,0.1l-0.6,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.1,0.1l-0.1,0.1
|
562 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1h-0.1l0,0l-0.1,0.1l-0.2,0.1l0.1,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.1,0.2
|
563 |
+
l0.1,0.2l0.1,0.2l0.1,0.3v0.3v0.3v0.3v0.3v0.3l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2
|
564 |
+
l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.4,0.1l-0.5,0.1l-0.5,0.1l-0.6,0.2l-1.3,0.3l-1.4,0.4l-1.5,0.4l-0.7,0.2l-0.7,0.2
|
565 |
+
l-0.3,0.1h0.1h0.4h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.2,0.1l0.2,0.1l0.6,0.2l0.5,0.2l0.5,0.2l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1
|
566 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1
|
567 |
+
l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l1.1-0.2l1.1-0.2l1.1-0.2l1.1-0.3l1.1-0.3l2.2-0.6l2.2-0.6l1.1-0.3l1.1-0.3
|
568 |
+
l1.1-0.3l1.1-0.3l1.2-0.3l1-0.2l0,0l0.2-0.1l0.3-0.1l0.3-0.2l0.4-0.2l0.4-0.2l0.4-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.4
|
569 |
+
l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.1-0.2v-0.1l-0.4-0.1
|
570 |
+
l-0.4-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1L253,273l-0.8-0.1h-0.8
|
571 |
+
l-0.8,0h-0.8H249h-0.8h-0.8h-0.8h-0.9h-0.9h-0.9H243h-0.9h-0.9h-0.9h-0.9h-0.9L238.9,273.1z"
|
572 |
+
/>
|
573 |
+
</g>
|
574 |
+
<path
|
575 |
+
d="M708.1,249.1h0.2h0.1h0.1h0.1h0.2h0.1h0.1h0.1l0.1,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
576 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1v0.1l0.1,0.1
|
577 |
+
v0.1v0.1v0.1v0.1v0.1v0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
578 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
|
579 |
+
l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
580 |
+
l-0.4,0.1h-0.4h-0.4H701h-0.4h-0.4h-0.4H699h-0.8h-0.9h-1h-0.2h-0.3h-0.2h-0.2l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.7-0.2
|
581 |
+
l-0.2-0.1l-0.2-0.1h-0.1h-0.1h-0.1h-0.1h-0.2H692h-0.1h-0.2h-0.1h-0.1h-0.2h-0.1h-0.1H691l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
582 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
583 |
+
l-0.1-0.1v-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1v-0.1v-0.1v-0.1v-0.1V253v-0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
584 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1
|
585 |
+
l0.1-0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.2h0.1h0.1h0.1h0.1h0.2h0.4h0.2h0.3h0.2h0.2l0.4,0.1l0.4,0.1l0.4,0.1l0.7,0.2l0.3,0.1
|
586 |
+
l0.3,0.1l0.2,0.1h0.2h0.7h0.9h0.7h0.8h0.3h0.3h0.4h0.3h0.3h0.2h0.3h0.3h0.2l0.2-0.1l0.3-0.1l0.2-0.1l0.3-0.1l0.3-0.1l0.2-0.1
|
587 |
+
l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.4-0.1l0.3-0.1l0.4-0.2l0.4-0.2l0.4-0.2l0.1-0.1l0.1-0.1h0.1h0.1h0.2h0.1h0.1h0.2h0.1h-0.1
|
588 |
+
V249.1z M693.9,255.9L693.9,255.9L693.9,255.9L693.9,255.9L693.9,255.9L693.9,255.9z"
|
589 |
+
/>
|
590 |
+
<path
|
591 |
+
d="M698.7,232.2L698.7,232.2h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0.1,0.1
|
592 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1
|
593 |
+
l0.1,0.1l0.1,0.1v0.1l0.1,0.1l0.1,0.1v0.1v0.1l0.1,0.1v0.1v0.1l0.1,0.1v0.1v0.1v0.1v0.1v0.1v0.1l-0.1,0.1v0.1v0.1l-0.1,0.1v0.1
|
594 |
+
l-0.1,0.1v0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
595 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1h-0.1h-0.1H700h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l-0.1,0.1
|
596 |
+
l-0.2,0.1l-0.2,0.1l-0.3,0.2l-0.5,0.4l-0.7,0.4l-0.7,0.5l-0.8,0.5l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
|
597 |
+
l-0.5,0.2l-0.4,0.2l-0.2,0.1l-0.2,0.1l-0.3,0.1h-0.2h-0.3H691h-0.3h-0.2h-0.1h-0.1h-0.1h-0.1H690h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1
|
598 |
+
h-0.1h-0.1h-0.1H689h-0.1h-0.1l-0.1-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
599 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1V241l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.1l-0.1-0.1
|
600 |
+
l-0.1-0.1v-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1v-0.1l-0.1-0.1v-0.1v-0.1v-0.1v-0.1V239v-0.1v-0.1l0.1-0.1v-0.1v-0.1v-0.1l0.1-0.1
|
601 |
+
v-0.1l0.1-0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
602 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1
|
603 |
+
h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0.2-0.1l0.3-0.1l0.2-0.2l0.3-0.2l0.4-0.2l0.7-0.4l0.7-0.4l0.7-0.4l0.7-0.4l0.3-0.2
|
604 |
+
l0.4-0.2l0.3-0.2l0.3-0.2l0.4-0.2l0.4-0.2l0.3-0.1l0.3-0.1h0.2h0.1h0.1h0.1h0.1L698.7,232.2L698.7,232.2z M699.1,238.1
|
605 |
+
L699.1,238.1L699.1,238.1L699.1,238.1L699.1,238.1z M692.9,237.4L692.9,237.4L692.9,237.4L692.9,237.4L692.9,237.4z"
|
606 |
+
/>
|
607 |
+
<path
|
608 |
+
d="M688.9,250.5h0.5h0.5h0.5h0.2h0.2h0.2h0.1l0.2,0.1l0.1,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1
|
609 |
+
l0.1,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2v0.2l0.1,0.2l-0.1,0.2v0.2v0.2
|
610 |
+
l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1
|
611 |
+
l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.2h-0.2h-0.2h-0.2h-0.5h-0.4H689h-0.4h-0.4h-0.5h-0.4h-0.4l-0.4,0.1l-0.5,0.1
|
612 |
+
l-0.4,0.1l-0.4,0.1l-0.5,0.1l-0.4,0.1l-0.4,0.1l-0.5,0.1l-0.9,0.2l-0.8,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.3l-0.9,0.3
|
613 |
+
l-0.9,0.3l-0.9,0.3l-0.9,0.3l-1.8,0.6l-1.8,0.6l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-1,0.2
|
614 |
+
l-0.9,0.2l-0.9,0.2h-0.2h-0.2h-0.2H661h-0.2h-0.2h-0.2h-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.1-0.1l-0.2-0.1l-0.2-0.1l-0.1-0.1
|
615 |
+
l-0.1-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2v-0.2l-0.1-0.2v-0.2v-0.2l0.1-0.2
|
616 |
+
v-0.2l0.1-0.2v-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.2-0.1l0.1-0.1l0.2-0.1l0.2-0.1
|
617 |
+
l0.2-0.1l0.2-0.1l0.2-0.1h0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l1.9-0.6
|
618 |
+
l1.8-0.6l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.2l1-0.2l0.9-0.2l0.9-0.2l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1
|
619 |
+
l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1h0.5h0.5h0.5L688.9,250.5z"
|
620 |
+
/>
|
621 |
+
<path
|
622 |
+
fill="#25B3FF"
|
623 |
+
d="M616.5,62.9h0.5h0.5h0.5h0.5L619,63l0.5,0.1l0.5,0.1l0.5,0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.2,0.1l0.2,0.1
|
624 |
+
l0.2,0.1l0.4,0.2l0.4,0.2l0.2,0.2l0.2,0.2l0.2,0.1l0.2,0.2l0.1,0.1h0.1h0.2h0.5h0.5h0.5h0.4h0.5l0.5,0.1l0.5,0.1l0.4,0.1
|
625 |
+
l0.5,0.1l0.4,0.1l0.4,0.1l0.5,0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.1,0.1l0.3,0.2h0.1l0.1,0.1l0.1,0.1h0.1l0.2,0.2l0.2,0.2l0,0
|
626 |
+
l0.2,0.2l0.1,0.3l0,0l0.1,0.3l0.1,0.3l0,0v0.4v0.4l0,0l-0.1,0.3l-0.1,0.3l0,0l-0.1,0.2l-0.1,0.2l0,0l-0.1,0.2l-0.1,0.2h-0.1
|
627 |
+
l-0.2,0.3h-0.1l-0.2,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.2l-0.2,0.1l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1
|
628 |
+
l-0.6,0.2l-0.7,0.2l-0.6,0.2l-0.6,0.1l-1.1,0.2l-0.9,0.2l-0.5,0.1l-0.4,0.1l-0.5,0.1l-0.5,0.1l-1,0.1h-0.1l-0.4,0.3l-0.5,0.4
|
629 |
+
l-0.5,0.4l-0.2,0.1l0.3-0.1h0.2l0.3-0.1h0.3h0.3l0,0h0.4l0.4,0.1l0.3,0.1l0.4,0.2l0.3,0.2l0.3,0.2l0.2,0.3l0.2,0.3l0.2,0.3
|
630 |
+
l0.1,0.3l0.1,0.1h0.4l1.1-0.1l2.3-0.3l1.1-0.1l1.2-0.1l1.2-0.1l1.2-0.1l0.5-0.1h0.6h0.6h0.6h0.6h0.6h0.6h0.6h0.1h0.4h0.1
|
631 |
+
l0.3,0.1l0.3,0.1h0.1l0.3,0.1l0.2,0.2l0.3,0.2l0,0l0.2,0.2l0.2,0.3l0.2,0.3l0.1,0.3l0.1,0.3l0,0l0.1,0.3v0.3v0.4l-0.1,0.4l0,0
|
632 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.3h-0.1l-0.1,0.2l-0.2,0.2l0,0l-0.1,0.1l-0.2,0.1l-0.1,0.1l-0.2,0.2l-0.1,0.1l-0.2,0.1l-0.2,0.1
|
633 |
+
l-0.3,0.2l-0.4,0.2l-0.3,0.1l-0.2,0.1l-1.3,0.6l-0.9,0.5l-0.8,0.4l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.5,0.2l-0.5,0.2
|
634 |
+
l-0.5,0.2l-0.6,0.2l-1.4,0.4l-0.4,0.1l-0.4,0.1l-0.9,0.2l-0.9,0.2l-1.1,0.2l-1.1,0.3l-1.1,0.3L622,87l0.1,0.1h0.1l0.1,0.3
|
635 |
+
l0.1,0.1l0.1,0.3v0.1l0.1,0.2l0.1,0.3l0.1,0.3l0,0V89l-0.1,0.3l-0.1,0.3l-0.1,0.3h-0.1l-0.1,0.3l-0.1,0.3l-0.2,0.2l-0.2,0.2
|
636 |
+
l-0.2,0.2l0,0l-0.2,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l0,0h-0.1l0,0l-0.3,0.4l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.9,1.2
|
637 |
+
l-0.9,1.3l-0.9,1.3l-0.5,0.7l-0.5,0.6l-0.5,0.6l-0.5,0.6l-0.5,0.6l-0.5,0.6l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2
|
638 |
+
l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.2l-0.4,0.2l-0.2,0.1l-0.3,0.1h-0.1l-0.2,0.1H609h-0.3h-0.2h-0.2H608h-0.1
|
639 |
+
h-0.3h-0.2l-0.3-0.1H607l-0.4-0.1h-0.1l-0.4-0.1l-0.1-0.1l-0.3-0.2l-0.1-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.2
|
640 |
+
l-0.2-0.2l-0.2-0.3l-0.2-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3v-0.2l-0.7,0.8l-0.7,0.8
|
641 |
+
l-0.4,0.4l-0.3,0.3l-0.3,0.3l-0.4,0.3l-0.3,0.3l-0.3,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.1l-0.3,0.2H599l-0.2,0.1l-0.2,0.1h-0.1h-0.2
|
642 |
+
h-0.2H598h-0.2h-0.2h0.4h-0.3h-0.2h-0.1l-0.3-0.1l-0.3-0.1h-0.1l-0.3-0.1l-0.2-0.2h-0.1l-0.2-0.2l-0.2-0.2l-0.1-0.1l-0.2-0.2
|
643 |
+
l-0.1-0.2l-0.1-0.1l-0.1-0.2l-0.1-0.2v-0.1l-0.1-0.3l-0.1-0.1l-0.1-0.3v-0.2l-0.1-0.3v-0.3V100v-0.1l-0.4,0.4l-0.6,0.9l-0.3,0.4
|
644 |
+
L593,102l-0.3,0.4l-0.3,0.4l-0.4,0.4l-0.3,0.4l-0.4,0.4l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.1
|
645 |
+
l-0.3,0.2h-0.1l-0.2,0.1l-0.3,0.1h-0.1l-0.4,0.1h-0.4H588h-0.3h-0.4l0,0l-0.3-0.1l-0.3-0.1l-0.3-0.1l0,0l-0.2-0.2l-0.2-0.2
|
646 |
+
l-0.2-0.2l0,0l-0.2-0.2l-0.2-0.2l-0.1-0.2l0,0l-0.2-0.3l-0.1-0.3l0,0l-0.1-0.3l-0.1-0.3V103v-0.2l-0.1,0.2l-0.2,0.4l-0.3,0.4
|
647 |
+
l-0.2,0.4l-0.2,0.2l-0.1,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.4,0.2l-0.2,0.1l-0.2,0.1
|
648 |
+
l-0.1,0.1l-0.3,0.1h-0.1l-0.3,0.1h-0.2h-0.3h-0.3h-0.3h-0.2h-0.2h-0.2l-0.3-0.1h-0.1l-0.3-0.1h-0.1l-0.2-0.1l-0.2-0.1l0,0
|
649 |
+
l-0.2-0.1l-0.2-0.2h-0.1l-0.2-0.2l-0.1-0.2h-0.1l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.3h-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.1l-0.1-0.2V104
|
650 |
+
l-0.1-0.1v-0.3v-0.3V103v-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.2-0.6l0.1-0.6l0.2-0.7l0.2-0.7l0.4-1.4l0.5-1.5l0.2-0.7
|
651 |
+
l0.2-0.6l-0.6,0.3l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.2,0.1l-0.6,0.7l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.5,0.5l-0.4,0.5
|
652 |
+
l-0.5,0.5l-0.5,0.5l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.3,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2
|
653 |
+
l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1H564h-0.2h-0.3h-0.2H563h-0.2l-0.3-0.1h-0.2l-0.3-0.1h-0.1
|
654 |
+
l-0.2-0.1l-0.2-0.1l-0.1-0.1l-0.2-0.1l-0.2-0.1l-0.1-0.1l-0.2-0.2l-0.2-0.2l-0.1-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.1l-0.1-0.2
|
655 |
+
l-0.1-0.2l-0.1-0.1l-0.1-0.2l-0.1-0.2v-0.1l-0.1-0.3l-0.1-0.1V101v-0.2v-0.3l0,0h-0.2h-0.4l-0.4-0.1l-0.5-0.1l-0.2-0.1l-0.2-0.1
|
656 |
+
l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.1,0.1l-0.4,0.1l-0.3,0.1l-0.4,0.1H555h-0.3h-0.2h-0.2h-0.2H554h-0.3h-0.1
|
657 |
+
l-0.3-0.1l0,0l-0.4-0.1l0,0l-0.2-0.1l-0.2-0.1h-0.1l-0.2-0.1l-0.2-0.1h-0.1l-0.2-0.2l-0.2-0.2l0,0l-0.2-0.2l-0.2-0.2l0,0
|
658 |
+
l-0.2-0.3l-0.1-0.3l0,0l-0.1-0.2l-0.1-0.1l-0.3,0.2l-0.4,0.2l-0.5,0.2l-0.4,0.2l-0.3,0.1l-0.2,0.1l-0.2,0.1l-0.3,0.1l-0.3,0.1
|
659 |
+
l-0.3,0.1H547h-0.4h-0.4h-0.3h-0.2h-0.2l-0.3-0.1h-0.1l-0.4-0.1h-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.2-0.2
|
660 |
+
l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.3h-0.1l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.2V96l0,0v-0.2l0,0l-0.4,0.3
|
661 |
+
l-0.8,0.6l-0.8,0.6l-1.7,1.2l-1.7,1.2l-0.8,0.6l-0.9,0.6l-0.8,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.4,0.3l-0.5,0.3
|
662 |
+
l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.4,0.3l-0.5,0.3l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2
|
663 |
+
l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.2,0.1h-0.2h-0.2H521h-0.1h-0.3h-0.4l0,0H520l-0.2-0.1l-0.2-0.1h-0.1l-0.3-0.1l-0.2-0.2l-0.3-0.2
|
664 |
+
l-0.2-0.2l0,0l-0.2-0.2l-0.2-0.3l-0.1-0.2l-0.3-0.2l-0.2-0.3l0,0l-0.2-0.3l-0.1-0.3l-0.1-0.1l-0.1-0.3l-0.1-0.3l-0.1-0.1v-0.2
|
665 |
+
l-0.1-0.2v-0.2v-0.4l0.1-0.3v-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.2-0.2l0.1-0.2
|
666 |
+
l0.2-0.2l0.2-0.2l0.1-0.2l0.2-0.2l0.4-0.3l0.3-0.3l0.4-0.3l0.4-0.2l0.4-0.2l0.4-0.2l0.3-0.2l0.4-0.2l0.4-0.2l0.7-0.3l1.2-0.6
|
667 |
+
l0.6-0.3l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l1.1-0.6l1.1-0.6
|
668 |
+
l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l2.2-1.1l2.2-1.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1h0.1l0.9-0.5
|
669 |
+
l0.9-0.5l0.9-0.5l0.9-0.5l0.9-0.5l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4l0.2-0.1l0.2-0.1l0.2-0.1l0,0
|
670 |
+
l0.4-0.1h0.4h0.4l0.4,0.1l0.4,0.1l0.3,0.2l0.4,0.2l0.2,0.2l0.2,0.3l0.1,0.1l2.1-0.4l4.8-1l2.3-0.5l2.3-0.5l0.4-0.2l0.4-0.2
|
671 |
+
l0.4-0.2l0.4-0.2l0.4-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.1h0.2h0.4h0.1h0.3h0.2h0.1h0.2l0.3,0.1l0,0l0.2,0.1l0.1-0.1
|
672 |
+
l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.2l0.2-0.2l0.3-0.2
|
673 |
+
l0.2-0.2l0.5-0.3l0.6-0.3l0.4-0.2l0.1-0.3l0.1-0.3l0,0l0.2-0.2l0.1-0.2l0.2-0.2l0,0l0.2-0.2l0.2-0.2l0,0l0.3-0.2l0.1-0.1
|
674 |
+
l0.2-0.1l0.4-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.2-0.1l0.5-0.1l0.5-0.1l0.4-0.1l0.6-0.1l0.7-0.1l1.2-0.2l1.2-0.2l0.5-0.1l0.6-0.1
|
675 |
+
l0.5-0.1l0.2-0.2l0.6-0.4l0.6-0.4l0.5-0.4l0.6-0.3l0.5-0.3l0.9-0.6l0.8-0.5l0.3-0.2l0.3-0.2l0.3-0.2l0.4-0.3l0.5-0.3l0.5-0.4
|
676 |
+
l0.5-0.4l0.5-0.4l0.6-0.4l0.5-0.4l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.4-0.1l0.4-0.1l0.3-0.1l0.2-0.1h0.2h0.4h0.2h0.4
|
677 |
+
h0.1h0.2h0.2h0.1l0.2,0.1l0.2,0.1h0.1l0.2,0.1l0.2,0.1l0,0l0.2,0.2l0.2,0.2h0.1l0.2,0.2l0.2,0.2l0,0l0.1,0.2l0.1,0.2l0,0
|
678 |
+
l0.1,0.2l0.4-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.5-0.1l0.5-0.1h0.6h0.5h0.5
|
679 |
+
L616.5,62.9z M609.5,90.5L609.5,90.5l0.1,0.4l0.1,0.2l0.1,0.3v0.2l0.1,0.2v0.4l0,0.4V93v0.4l-0.1,0.4l-0.1,0.8l-0.1,0.9
|
680 |
+
l-0.1,0.9l-0.1,0.1l0.3-0.4l0.5-0.6l0.4-0.6l0.5-0.6L612,93l0.9-1.3l0.4-0.6l0,0l-0.3,0.1l-0.2,0.1l-0.3,0.1h-0.2H612h-0.1h-0.2
|
681 |
+
h-0.2h-0.1l-0.3-0.1l-0.3-0.1h-0.1l-0.3-0.1l-0.3-0.1l0,0l-0.2-0.2l-0.2-0.2L609.5,90.5L609.5,90.5z M586.1,91.5L586.1,91.5
|
682 |
+
l-0.5,0.3l0,0l-0.1,0.4v0.2l0.2-0.3L586.1,91.5l0.1-0.1L586.1,91.5z M599.9,89l-0.8,0.1l-0.1,0.1l-0.5,0.3l-0.4,0.3l-0.5,0.3
|
683 |
+
l-0.3,0.2h0.3h0.2h0.4h0.1h0.2h0.2h0.1l0.2,0.1l0.2,0.1h0.1l0.2,0.1l0.2,0.1v-0.2l0.1-0.3l0.2-0.3l0.1-0.3l0,0l0.2-0.2l0.1-0.2
|
684 |
+
l0,0L599.9,89z"
|
685 |
+
/>
|
686 |
+
<path
|
687 |
+
fill="#25B3FF"
|
688 |
+
d="M474.6,336.5h0.3h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.2l0.5,0.3
|
689 |
+
l0.5,0.3l0.4,0.3l0.4,0.3l0.4,0.2l0.3,0.2l0.1,0.1l0.1,0.1l0.3,0.1l0.2,0.1l0.2,0.1h0.1l0.4,0.1l0.5,0.1l0.5,0.1l0.5,0.1
|
690 |
+
l0.5,0.1l0.9,0.2l0.9,0.2l0.9,0.2l1.8,0.4l0.8,0.2l0.8,0.2l0,0l0.2-0.1l0.2-0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.3h0.2l0.5,0.1
|
691 |
+
l0.5,0.1l0.5,0.1l0.4,0.1l0.4,0.1l0.4,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0.2,0.1l0,0l0.2,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.2
|
692 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0,0l0.1,0.2v0.2l0.1,0.2v0.2v0.2v0.2v0.2v0.2l0,0l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2
|
693 |
+
l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2h-0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1l-0.2,0.1h-0.1l-0.1,0.1l-0.2,0.1
|
694 |
+
l-0.2,0.1h-0.1h-0.2h-0.2h-0.2h-0.3h-0.2h-0.3h-0.2H493l-0.5-0.1l-0.5-0.1v0.1l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2
|
695 |
+
l-0.1,0.2l-0.2,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.1l-0.2,0.1l-0.2,0.1h-0.2h-0.2l0,0h-0.2h-0.1h-0.2h-0.6
|
696 |
+
h-0.6h-0.5h-0.6l-1.2,0.1h-1.2h-0.6h-0.7h-0.6h-0.7h-0.7h-0.7l-0.7-0.1h-0.1H479h-0.8h-0.8h-0.8h-0.8h-1.5h-1.5h-1.5h0.7
|
697 |
+
l-0.9,0.4l-1.1,0.5l-0.7,0.3l-0.2,0.2l-0.3,0.3l-0.4,0.3l-0.5,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1
|
698 |
+
l-0.2,0.1l-0.3,0.1l-0.2,0.1h-0.1h-0.2h-0.1h-0.1h-0.2h-0.1h-0.1h-0.2h-0.2h-0.1h-0.1h-0.2h-0.2l-0.2-0.1l-0.2-0.1h-0.1
|
699 |
+
l-0.4,0.1l-0.6,0.2l-0.6,0.1l-0.4,0.1l-0.3,0.1l-0.3,0.1h-0.3h-0.4H460h-0.3h-0.3H459h-0.3h-0.4h-0.2h-0.2h-0.2h-0.1h-0.1h-0.2
|
700 |
+
l-0.2-0.1l-0.1-0.1l-0.2-0.1l0,0l-0.2-0.1l-0.2-0.1l-0.1-0.1l-0.2-0.1l0,0l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2
|
701 |
+
l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.2l-0.1-0.2l-0.1-0.2v-0.2L455,351v-0.2v-0.2l0,0v-0.2l0.1-0.2l0.1-0.2v-0.2l0.1-0.2l0.1-0.2l0,0
|
702 |
+
l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0,0l0.1-0.2l0.2-0.1l0.1-0.1h0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.2
|
703 |
+
l0.4-0.2l0.5-0.2l0.8-0.3l0,0l0.1-0.2l0,0l0.1-0.1l0.1-0.1l0.1-0.1l0,0l0.1-0.1l0.1-0.1l0,0l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1
|
704 |
+
l0.1-0.1l0.2-0.2l0.3-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.3-0.1l0.5-0.3l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.8-0.4l0.7-0.3l0.2-0.1
|
705 |
+
l0,0l1.2-0.6l0.8-0.4l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.1l0.2-0.1h0.1l0,0v-0.1v-0.1v-0.2v-0.1l0.1-0.2v-0.2v-0.1l0.1-0.1
|
706 |
+
v-0.1l0.1-0.2l0.1-0.3l0.1-0.3l0.2-0.3l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.1l0.3-0.1l0.3-0.1
|
707 |
+
l0.3-0.1h0.2h0.3L474.6,336.5z"
|
708 |
+
/>
|
709 |
+
<path
|
710 |
+
fill="#25B3FF"
|
711 |
+
d="M632.9,316.7h0.5h0.5h0.4h0.2h0.2l0.2,0h0.2h0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0.2,0.1l0.1,0.1l0.2,0.1
|
712 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2l0.1,0.2v0.2v0.2l-0.1,0.2v0.2
|
713 |
+
l-0.1,0.2l-0.1,0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1
|
714 |
+
l-0.2,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1h-0.2h-0.2h-0.2h-0.2h-0.2l-0.4,0h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4l-0.4,0.1
|
715 |
+
l-0.4,0.1l-0.4,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.3,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
716 |
+
l-0.2,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1l-0.5,0.2l-0.7,0.2l-0.8,0.2l-0.8,0.2l-0.4,0.1l-0.5,0.1
|
717 |
+
l-0.4,0.1l-0.5,0.1l-0.4,0.1l-0.4,0.1l-7,0.8h-0.5h-0.6h-0.5h-0.6h-0.8h-0.2h-0.2h-0.2h-0.2h-0.2l-0.1-0.1l-0.2-0.1l-0.2-0.1
|
718 |
+
l-0.2-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2
|
719 |
+
l-0.1-0.2l-0.1-0.2v-0.2l-0.1-0.2v-0.2v-0.2l0.1-0.2v-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1
|
720 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.2-0.1l0.1-0.1l0.2-0.1l0.1-0.1l0.2-0.1l0.2-0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.4h0.4h0.4h0.4
|
721 |
+
l0,0l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.2-0.1l0.2-0.1l0.3-0.1l0.3-0.1l0.2-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.5-0.1
|
722 |
+
l0.5-0.1l0.5-0.1l0.5-0.1l0.6-0.1h0.6h0.6h0.6h0.6l1.2-0.1h1.1h0.4l1.3-0.3l1.7-0.4l0.9-0.2l0.8-0.2l0.9-0.2l0.9-0.2l0.9-0.2
|
723 |
+
l0.9-0.2l0.9-0.2l0.9-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1l0.5-0.1h0.5h0.5h0.5L632.9,316.7z"
|
724 |
+
/>
|
725 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
726 |
+
<path
|
727 |
+
d="M208.6,8l0.8,0h0.8l0.8,0h0.8l0.8,0h0.8l0.8,0.1l0.8,0.1l0.8,0.1l0.8,0.1l0.8,0.1l0.8,0.1l0.8,0.1l0.8,0.1
|
728 |
+
l0.8,0.1l0.8,0.1l0.8,0.1l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2
|
729 |
+
l0.8,0.2l0.8,0.2l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3L239,14l0.8,0.3l1.5,0.6l1.5,0.6l1.5,0.6l1.4,0.6l1.4,0.6
|
730 |
+
l1.4,0.6l1.3,0.6l1.3,0.6l1.3,0.6l1.2,0.6l1.2,0.6l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.9,0.4
|
731 |
+
l0.9,0.3l0.9,0.3l0.9,0.3l1,0.3l1,0.3l1,0.3l1,0.3l2,0.6l2.1,0.6l2.1,0.6l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.4l1.1,0.4l1.1,0.4
|
732 |
+
l1.1,0.4l1.1,0.4l0.6,0.2l0.6,0.2l0.5,0.2l0.6,0.2l0.6,0.2L284,31l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.5,0.3l0.5,0.3l0.9,0.5
|
733 |
+
l0.9,0.5l0.9,0.5l0.9,0.5l0.9,0.5l0.9,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.6
|
734 |
+
l0.8,0.6l0.8,0.6l0.8,0.6l0.8,0.6l0.8,0.6l0.8,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6
|
735 |
+
l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.6,0.6l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7
|
736 |
+
l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.6,0.7l0.5,0.7l0.5,0.7l0.5,0.7l0.5,0.7l0.5,0.7
|
737 |
+
l0.5,0.7l0.5,0.7l0.5,0.7l0.5,0.7l0.5,0.7l0.5,0.7l0.5,0.7l0.5,0.8l0.5,0.8l0.5,0.8l0.5,0.8l0.5,0.8l0.5,0.8l0.5,0.8l0.5,0.8
|
738 |
+
l0.5,0.8l0.5,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8
|
739 |
+
l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.9l0.4,0.9l0.7,1.7l0.7,1.7l0.7,1.7l0.7,1.8
|
740 |
+
l0.6,1.8l0.6,1.8l0.6,1.8l0.6,1.8l0.6,1.8l0.6,1.8l0.6,1.8l0.5,1.9l0.5,1.8l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4
|
741 |
+
l0.1,0.4l0.1,0.4l0.1,0.4l0.2,0.4l0.3,0.8l0.3,0.7l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.8,1.6l0.4,0.8l0.4,0.8l0.4,0.9
|
742 |
+
l0.4,0.9l0.4,0.9l0.4,0.9l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.1,0.5l0.1,0.5
|
743 |
+
l0.1,0.5l0.1,0.5l0.1,0.6l0.1,0.5l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6v0.6v0.6v0.6v0.5l-0.1,0.9l-0.2,0.9l-0.3,0.8l-0.4,0.8
|
744 |
+
l-0.5,0.7l-0.6,0.6l-0.7,0.5l-0.8,0.4l-0.8,0.3l-0.9,0.1H360l-0.9-0.1l-0.9-0.3l-0.8-0.4l-0.7-0.5l-0.7-0.6l-0.6-0.7l-0.4-0.8
|
745 |
+
l-0.3-0.8l-0.2-0.9l-0.1-0.9v-0.4v-0.3v-0.3v-0.3V153v-0.3v-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3
|
746 |
+
l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.3-0.7l-0.3-0.7
|
747 |
+
l-0.4-0.7l-0.4-0.7l-0.4-0.8l-0.4-0.8l-0.8-1.6l-0.4-0.8l-0.4-0.8l-0.4-0.9l-0.4-0.9l-0.4-0.9l-0.4-0.9l-0.4-0.9l-0.2-0.5
|
748 |
+
l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.1-0.5l-0.5-1.8l-0.5-1.8l-0.5-1.8l-0.5-1.7
|
749 |
+
l-0.6-1.7l-0.6-1.7l-0.6-1.7l-0.6-1.7l-0.6-1.7l-0.6-1.7l-0.6-1.6l-0.6-1.6l-0.7-1.6l-0.3-0.8l-0.3-0.8l-0.3-0.8l-0.3-0.8
|
750 |
+
l-0.3-0.8l-0.3-0.8l-0.3-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.7l-0.4-0.7
|
751 |
+
L331,94l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7L327,87l-0.4-0.7l-0.4-0.7l-0.4-0.7
|
752 |
+
l-0.4-0.7l-0.4-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7
|
753 |
+
l-0.5-0.6l-0.5-0.6L318,74l-0.5-0.6l-0.5-0.6l-0.5-0.6l-0.5-0.6l-0.5-0.6l-0.5-0.6l-0.5-0.6l-0.5-0.6l-0.5-0.6l-0.6-0.6
|
754 |
+
l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6
|
755 |
+
l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5
|
756 |
+
l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.8-0.5l-0.8-0.5l-0.8-0.5l-0.8-0.5l-0.8-0.5
|
757 |
+
l-0.8-0.5l-0.8-0.5l-0.8-0.5l-0.8-0.5l-0.8-0.5l-0.8-0.5l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2
|
758 |
+
l-0.4-0.2l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.9-0.4l-0.9-0.4l-0.9-0.3l-1-0.3l-1-0.3l-1-0.3l-1-0.3l-1-0.3l-2-0.6
|
759 |
+
l-2.1-0.6l-2.1-0.6l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-0.6-0.2l-0.5-0.2l-0.5-0.2
|
760 |
+
l-0.5-0.2l-0.5-0.2l-0.5-0.3l-0.5-0.3l-0.5-0.3l-1.1-0.6l-1.2-0.6l-1.2-0.6l-1.2-0.6l-1.2-0.6l-1.3-0.6l-1.3-0.6l-1.3-0.6
|
761 |
+
l-1.3-0.5l-1.4-0.5l-1.4-0.5l-0.7-0.3l-0.7-0.2l-0.7-0.3l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2L230,24l-0.7-0.2
|
762 |
+
l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2L223,22l-0.7-0.2l-0.7-0.1l-0.7-0.1l-0.7-0.1
|
763 |
+
l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.6-0.1h-0.6h-0.6h-0.6h-0.6l-0.6,0h-0.6h-0.6h-0.6h-0.6
|
764 |
+
h-0.6h-0.5l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2
|
765 |
+
l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3
|
766 |
+
l-0.9,0.3l-0.9,0.3l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4
|
767 |
+
l-0.9,0.4l-0.9,0.4l-1.7,0.9l-1.7,0.9l-1.7,0.9l-1.7,0.9l-1.7,0.9l-1.7,0.9l-1.7,0.9l-1.7,0.9l-3.4,1.9l-3.4,1.9l-0.5,0.3
|
768 |
+
l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.2l-0.6,0.2l-1.2,0.5l-1.2,0.5l-1.2,0.5l-1.2,0.4
|
769 |
+
l-1.2,0.4l-2.3,0.9l-2.3,0.8l-1.1,0.4l-1.1,0.4L132,51l-1.1,0.4l-1.1,0.4l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2
|
770 |
+
l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.4,0.3l-0.4,0.2l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3
|
771 |
+
l-0.4,0.3l-0.4,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-1.1,1.1l-1.2,1.2l-2.3,2.3l-2.4,2.3l-2.4,2.3
|
772 |
+
l-4.7,4.6l-2.3,2.3l-2.3,2.3L99,77.9L97.8,79l-1.2,1.1l-1.1,1.2l-1.1,1.1l-1.1,1.2l-1.1,1.2L91.1,86L90,87.2l-1.1,1.2l-1.1,1.2
|
773 |
+
l-1.1,1.2L85.6,92l-1.1,1.2l-1.1,1.2l-1,1.2l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.2
|
774 |
+
l-0.9,1.2l-0.9,1.2l-0.8,1.2l-0.8,1.2l-0.8,1.2l-0.8,1.2l-0.8,1.2l-0.8,1.2l-0.8,1.2l-0.8,1.2l-0.8,1.3l-0.8,1.3l-0.8,1.3
|
775 |
+
l-0.8,1.3l-0.7,1.3l-0.7,1.3l-0.7,1.3l-0.7,1.3l-0.7,1.3l-0.7,1.3l-0.7,1.3l-0.7,1.3l-0.7,1.3l-0.7,1.3l-0.6,1.3l-0.6,1.3
|
776 |
+
l-0.6,1.4l-0.6,1.4l-0.6,1.4l-0.6,1.4l-0.6,1.4l-0.5,1.4l-0.5,1.4l-0.5,1.4l-0.5,1.4l-0.5,1.4l-0.5,1.4l-0.5,1.4l-0.4,1.4
|
777 |
+
l-0.4,1.4l-0.4,1.4l-0.4,1.4l-0.4,1.4l-0.4,1.4l-0.3,1.4l-0.3,1.4l-0.3,1.4l-0.3,1.4l-0.3,1.4l-0.3,1.4l-0.2,1.4l-0.1,0.7
|
778 |
+
l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7l-0.1,0.7
|
779 |
+
l-0.1,0.7l-0.2,0.7l-0.2,0.7l-0.2,0.7l-0.2,0.7l-0.2,0.7L42,187l-0.2,0.7l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6
|
780 |
+
l-0.2,0.6l-0.5,1.2l-0.5,1.2l-0.5,1.2l-0.5,1.1l-0.5,1.1l-1,2.2l-0.1,0.3l-0.2,0.3l-0.3,0.7l-0.2,0.4l-0.2,0.4l-0.2,0.4
|
781 |
+
l-0.2,0.4l-0.2,0.4l0,0v0.1v0.9l-0.2,0.9l-0.3,0.8l-0.4,0.8l-0.5,0.7l-0.6,0.6l-0.7,0.5l-0.8,0.4l-0.8,0.3l-0.9,0.2h-0.9
|
782 |
+
l-0.9-0.1l-0.9-0.2l-0.8-0.4l-0.7-0.5l-0.7-0.6l0,0l-0.6-0.6l0,0l-0.4-0.7l0,0l-0.3-0.7v-0.1l-0.2-0.6l-0.1-0.3l-0.1-0.5
|
783 |
+
l-0.1-0.5v-0.5v-0.7l0.1-0.6l0.1-0.5l0.1-0.5l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.3l0.1-0.4l0.3-0.6l0.3-0.6l0.3-0.6
|
784 |
+
l0.3-0.5l0.2-0.5l0.4-0.7l0.1-0.1l0.9-2l0.5-1.1l0.5-1.1l0.4-1.1l0.4-1.1l0.4-1.1l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5
|
785 |
+
l0.2-0.5l0.2-0.5l0.2-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.4l0.1-0.4l0.1-0.5l0.1-0.7l0.1-0.8
|
786 |
+
l0.1-0.8l0.1-0.8l0.1-0.8l0.1-0.8l0.1-0.8l0.1-0.8l0.1-0.8l0.1-0.8l0.3-1.5l0.3-1.5l0.3-1.5l0.3-1.5l0.3-1.5l0.4-1.5l0.4-1.5
|
787 |
+
l0.4-1.5l0.4-1.5l0.4-1.5l0.4-1.5l0.5-1.5l0.5-1.5l0.5-1.5l0.5-1.5l0.5-1.5l0.5-1.5l0.6-1.5l0.6-1.5l0.6-1.5l0.6-1.5l0.6-1.5
|
788 |
+
l0.6-1.5l0.6-1.5l0.7-1.4l0.7-1.4l0.7-1.4l0.7-1.4l0.7-1.4l0.7-1.4l0.7-1.4l0.7-1.4l0.8-1.4l0.8-1.4l0.8-1.4l0.8-1.4l0.8-1.4
|
789 |
+
l0.8-1.4l0.8-1.4l0.8-1.3l0.8-1.3l0.8-1.3l0.9-1.3l0.9-1.3l0.9-1.3l0.9-1.3l0.9-1.3l0.9-1.3l0.9-1.3l0.9-1.2l0.9-1.2l0.9-1.2
|
790 |
+
l0.9-1.2l0.9-1.2l0.9-1.2l1-1.2l1-1.2l1-1.2l1-1.1l1.1-1.3l1.1-1.3l1.1-1.3l1.1-1.2l1.1-1.2l1.1-1.2l1.1-1.2l1.2-1.2l1.2-1.2
|
791 |
+
l1.2-1.2l1.2-1.2l1.2-1.2l1.2-1.2l1.2-1.2l1.2-1.2l1.2-1.2l2.4-2.3l2.4-2.3l4.7-4.6l2.3-2.3l2.3-2.3l2.3-2.3l1.1-1.1l1.2-1.2
|
792 |
+
l0.5-0.5l0.5-0.5l0.5-0.5l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.6-0.4l0.6-0.4l0.6-0.4l0.6-0.4l0.6-0.3l0.6-0.3l0.6-0.3
|
793 |
+
l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.3l1.2-0.5l1.2-0.5l1.2-0.5l1.2-0.5
|
794 |
+
l1.2-0.4l2.3-0.9l2.3-0.8l1.1-0.4l1.1-0.4l1.1-0.4l1.1-0.4l1-0.4l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.4-0.2
|
795 |
+
l0.4-0.2l0.4-0.2l0.4-0.2l3.4-1.8l3.4-1.9l1.7-0.9l1.7-0.9l1.7-0.9l1.8-0.9l1.8-0.9l1.8-0.9l1.8-0.9L167,22l0.9-0.4l0.9-0.4
|
796 |
+
l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4L176,18l0.9-0.4l0.9-0.4l0.9-0.4l0.9-0.4l1-0.4l1-0.4l1-0.4l1-0.4
|
797 |
+
l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.2l1-0.2l1-0.2l1-0.2l1-0.2l1-0.2l1-0.2l1-0.2l1-0.2l1-0.1
|
798 |
+
l1-0.1l1.1-0.1l0.8-0.1l0.8-0.1L208.6,8z M35.3,198.2l-0.1-0.2l-0.1-0.1L35.3,198.2z M34.9,197.7l-0.2-0.3l-0.3-0.3L34.9,197.7
|
799 |
+
z"
|
800 |
+
/>
|
801 |
+
</g>
|
802 |
+
<g transform="matrix(1,0,0,1,381.866,45.2348)">
|
803 |
+
<path
|
804 |
+
d="M223.3,0.9l1.4-0.1l1.4-0.1l1.4-0.1l1.4,0l1.4,0l1.4,0l1.4,0l1.4,0l1.4,0l1.4,0l1.4,0l1.4,0l1.4,0l1.4,0.1
|
805 |
+
l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.2l1.4,0.2l1.4,0.2l1.4,0.2l1.4,0.2l1.4,0.2
|
806 |
+
l1.4,0.2l1.4,0.2l1.4,0.2l1.4,0.3l1.4,0.3l1.4,0.3l1.4,0.3l1.4,0.3l1.3,0.3l1.3,0.3l1.3,0.3l1.3,0.4l1.3,0.4l1.3,0.4l1.3,0.4
|
807 |
+
l1.3,0.4l1.3,0.4l1.3,0.4l1.3,0.4l1.3,0.5L292,10l1.3,0.5l1.3,0.5l1.3,0.5l1.3,0.5l1.3,0.6l1.3,0.6l1.2,0.6l1.2,0.6l1.2,0.6
|
808 |
+
l1.2,0.6l1.2,0.6l1.2,0.7l1.2,0.7l1.2,0.7l1.2,0.7l1.2,0.7l1.2,0.7l1.2,0.8l1.1,0.8l1.1,0.8l1.1,0.8l0.6,0.4l0.6,0.4l0.6,0.4
|
809 |
+
l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.5l0.5,0.4l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5
|
810 |
+
l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.6
|
811 |
+
l0.5,0.5l0.5,0.6l0.5,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6
|
812 |
+
l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.1,0.2l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.1l0.1,0.2
|
813 |
+
l0.1,0.1l0.3,0.4l0.3,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.5,0.4l0.5,0.4l1,0.9l1.1,1l0.6,0.5l0.6,0.5l0.6,0.6l0.6,0.6l0.6,0.6
|
814 |
+
l0.6,0.6l0.6,0.7l0.6,0.7l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.5
|
815 |
+
l0.3,0.5l0.3,0.5l0.3,0.5l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.5,0.8
|
816 |
+
l0.5,0.8l0.5,0.8l0.5,0.8l0.6,0.8l0.6,0.8l0.6,0.8l0.6,0.8l0.6,0.8l1.3,1.7l1.3,1.7l0.7,0.9l0.7,0.9l0.7,0.9l0.7,0.9l0.7,0.9
|
817 |
+
l0.7,0.9l0.7,1l0.7,1l0.6,1l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.6l0.3,0.6l0.3,0.6l0.3,0.7
|
818 |
+
l0.3,0.7l0.3,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.4,1.2l0.4,1.2l0.4,1.2
|
819 |
+
l0.4,1.2l0.3,1.2l0.3,1.2l0.3,1.2l0.6,2.3l0.6,2.3l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.4,1.1l0.2,0.5l0.2,0.5
|
820 |
+
l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.3,0.6l0.2,0.4l0.2,0.5l0.2,0.4
|
821 |
+
l0.2,0.5l0.3,0.9l0.3,1l0.4,1.1l0.4,1.1l0.4,1.2l0.4,1.3l0.8,2.7l0.9,2.8l0.9,2.9l0.9,2.9l0.4,1.4l0.4,1.4l0.4,1.3l0.4,1.3
|
822 |
+
l0.4,1.2l0.4,1.1l0.4,1l0.3,0.9l0.2,0.4l0.1,0.3l0.1,0.1l0.7,0.9l0.6,0.9l0.5,1l0.4,1.1l0.2,1.1l0.1,1.1l-0.1,1.1l-0.2,1.1
|
823 |
+
l-0.3,1.1l-0.5,1l-0.6,0.9l-0.7,0.9l-0.8,0.8l0,0l-0.8,0.6l-0.8,0.5l0,0l-0.9,0.4l-1,0.3l0,0l-1,0.2l-1,0.1l0,0h-1l-1-0.1h-0.1
|
824 |
+
l-0.7-0.2l-0.7-0.2h-0.1l-0.6-0.3l-0.6-0.3h-0.1l-0.9-0.6l-0.3-0.3l-0.6-0.5l-0.5-0.5l-0.4-0.4l-0.3-0.4l-0.4-0.6l-0.4-0.6
|
825 |
+
l-0.3-0.6l-0.3-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.6l-0.4-1.1l-0.4-1.2l-0.4-1.3l-0.4-1.3l-0.5-1.4
|
826 |
+
l-0.5-1.4l-0.5-1.4l-0.5-1.5l-0.9-3l-0.9-2.9l-0.9-2.8l-0.8-2.6l-0.4-1.2l-0.4-1.1l-0.3-1l-0.3-0.9l-0.3-0.7l-0.2-0.6l-0.1-0.2
|
827 |
+
l-0.1-0.1l0,0l0,0l-0.3-0.6l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.2-0.7l-0.2-0.7
|
828 |
+
l-0.2-0.7l-0.2-0.7l-0.2-0.7l-0.4-1.3l-0.4-1.3l-0.4-1.3l-0.4-1.2l-0.3-1.2l-0.3-1.2l-0.3-1.2l-0.6-2.3l-0.6-2.3L366,118
|
829 |
+
l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.3-1l-0.3-1l-0.3-1l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5
|
830 |
+
l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.4l-0.2-0.5l-0.2-0.4L361,104l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4L360,102
|
831 |
+
l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.6-0.8l-0.6-0.8l-0.6-0.8l-0.6-0.8l-0.6-0.8l-1.3-1.7
|
832 |
+
l-1.3-1.7l-0.7-0.9l-0.7-0.9l-0.7-0.9l-0.7-0.9l-0.7-0.9l-0.7-0.9l-0.7-1l-0.7-1l-0.6-1l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5
|
833 |
+
l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.6l-0.2-0.5l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2
|
834 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4
|
835 |
+
l-0.5-0.4l-0.5-0.4l-0.5-0.5l-0.5-0.5l-1.1-1l-1.1-1l-0.6-0.5l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.6l-0.6-0.7l-0.6-0.7l-0.3-0.4
|
836 |
+
l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.2-0.4l-0.4-0.6l-0.3-0.5l-0.3-0.5l-0.3-0.5
|
837 |
+
l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5
|
838 |
+
l-0.4-0.5l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4
|
839 |
+
l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4
|
840 |
+
l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.3l-0.4-0.4l-0.4-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.4-0.3l-0.9-0.7l-0.9-0.6
|
841 |
+
l-0.9-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.5l-1-0.5l-1-0.5l-1-0.5l-1-0.5l-1.1-0.5l-1.1-0.5l-1.1-0.5l-1.1-0.5
|
842 |
+
l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4L278,23l-1.2-0.3l-1.2-0.3l-1.2-0.3
|
843 |
+
l-1.2-0.3l-1.2-0.3l-1.2-0.3l-1.2-0.3l-1.2-0.3l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2
|
844 |
+
l-1.2-0.2l-1.2-0.2l-1.2-0.1l-1.2-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1H241
|
845 |
+
l-1.3,0h-1.3h-1.3h-1.3h-1.3l-1.3,0h-1.3h-1.3h-1.3H228l-1.3,0l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1
|
846 |
+
l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.2l-1.3,0.2l-1.3,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2
|
847 |
+
l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.3l-1.2,0.3
|
848 |
+
l-1.3,0.3l-1.3,0.3l-1.3,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.4l-1.2,0.4l-1.2,0.4l-1.2,0.4l-1.1,0.4l-1.1,0.4
|
849 |
+
l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1,0.5l-1,0.5l-1,0.5l-1,0.5l-1,0.5l-1,0.5l-1,0.5l-1,0.5
|
850 |
+
l-1,0.5l-1,0.5l-1,0.5l-0.9,0.5l-0.9,0.5l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6
|
851 |
+
l-0.9,0.6l-0.9,0.6l-0.8,0.6l-0.8,0.6l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7
|
852 |
+
l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7L127,55l-0.8,0.8l-0.8,0.8l-0.8,0.8l-0.8,0.8l-0.7,0.8l-0.7,0.8l-0.7,0.8
|
853 |
+
l-0.7,0.8l-0.1,0.1l-0.1,0.2l-0.2,0.5l-0.2,0.5l-0.3,0.5l-0.5,0.9l-0.5,0.9l-0.6,0.9l-0.6,0.9l-0.6,0.9l-0.6,0.9l-0.6,0.9
|
854 |
+
l-0.6,0.9l-0.6,0.9l-0.7,0.9l-0.7,0.9l-0.7,0.9l-0.7,0.8l-0.7,0.8l-0.7,0.8l-0.7,0.8l-0.7,0.8l-0.7,0.8l-0.7,0.8l-0.7,0.8
|
855 |
+
l-0.7,0.8l-0.7,0.8l-0.7,0.8l-1.5,1.6l-1.5,1.6l-1.5,1.6l-1.1,1.2l-0.2,0.3l-1.4,2l-1.4,2l-1.4,2l-1.4,2l-2.8,4.1l-2.9,4.1
|
856 |
+
l-2.9,4.2l-1.5,2.1l-1.5,2.1l-1.5,2.1l-1.5,2.1l-1.2,1.7l-0.4,0.9l-0.5,1.2l-0.5,1.2l-0.5,1.2l-0.5,1.2l-0.5,1.2l-0.5,1.2
|
857 |
+
l-0.9,2.5l-0.9,2.5l-0.9,2.5l-0.9,2.6l-0.9,2.6l-1.8,5.2l-0.9,2.6l-0.9,2.6l-0.9,2.6l-1,2.6l-1,2.6l-0.5,1.3l-0.5,1.3l-0.5,1.3
|
858 |
+
l-0.5,1.3l-0.5,1.3l-0.5,1.4l-0.4,0.9l-0.4,0.9l-0.4,0.9l-0.4,0.9l-0.4,0.9l-0.4,0.9l-0.4,0.9l-0.4,0.9l-0.4,0.9l-0.4,0.9
|
859 |
+
l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.5,0.8l-0.9,1.6l-0.9,1.6l-0.9,1.5l-0.9,1.5l-1.8,3l-0.9,1.5l-0.8,1.5
|
860 |
+
l-0.2,0.3l-0.2,0.4l-0.2,0.5l-0.3,0.5l-0.3,0.6l-0.3,0.6l-0.6,1.4l-1.4,3l-0.7,1.5l-0.7,1.5l-0.4,0.7l-0.3,0.7l-0.3,0.7
|
861 |
+
l-0.4,0.7l-0.4,0.6l-0.4,0.6l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.3,0.4l-0.4,0.5l-0.5,0.5l-0.3,0.3l-0.7,0.6l-0.1,0.1l-0.5,0.4
|
862 |
+
l-0.6,0.4h-0.1l-0.7,0.3l-0.7,0.3l0,0l-0.6,0.2l-0.6,0.2l0,0l-0.7,0.1l-0.7,0.1l0,0h-0.9l-0.9-0.1l0,0l-0.9-0.2l-0.9-0.3l0,0
|
863 |
+
l-0.9-0.4l-0.8-0.5l0,0l-0.6-0.5l-0.6-0.5l0,0l-0.5-0.5l-0.5-0.6l0,0l-0.5-0.7l-0.4-0.7v-0.1l-0.3-0.7l-0.2-0.7v-0.1l-0.2-1
|
864 |
+
l-0.1-0.5l-0.1-0.8v-0.6v-0.6v-0.4l0.1-1.1l0.3-1.1l0.4-1l0.5-1l0.7-0.9l0.8-0.8l0.9-0.7l0.3-0.2l0.5-1.1l0.7-1.4l1.2-2.6v-0.1
|
865 |
+
v-0.5v-0.7V188v-0.7v-0.7v-0.7l0-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7
|
866 |
+
l0.1-0.7l0.1-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7
|
867 |
+
l0.2-0.7l0.5-1.4l0.5-1.4l0.5-1.4l0.5-1.4l0.5-1.4l0.6-1.4l0.6-1.4l0.6-1.4l0.6-1.4l0.6-1.4l0.6-1.4l0.6-1.4l0.7-1.4l0.7-1.4
|
868 |
+
l0.7-1.4l0.7-1.4l0.7-1.4l0.7-1.4l0.7-1.3l0.7-1.3l0.7-1.3l0.7-1.3l0.7-1.3l0.7-1.3l0.7-1.3l0.8-1.3l0.8-1.3l0.8-1.3l0.8-1.2
|
869 |
+
l0.8-1.2l0.8-1.2l0.8-1.2l0.3-0.4l0.6-1.1l1-1.9l1-1.9l1-1.9l1-1.9l1-1.9l1-1.9l1-1.9l0.5-0.9l0.5-0.9l0.5-0.9l0.5-0.9l0.5-0.9
|
870 |
+
l0.5-0.9l0.6-0.9l0.6-0.9l0.6-0.9l0.6-0.9l0.4-0.7l0.2-0.5l0.6-1.3l0.6-1.3l0.7-1.3l0.7-1.3l0.7-1.3l0.7-1.3l0.7-1.3l0.7-1.3
|
871 |
+
l0.7-1.3l0.7-1.3l0.8-1.3l0.8-1.3l0.8-1.3l0.8-1.3l0.8-1.3l0.8-1.3l0.9-1.3l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7
|
872 |
+
l0.5-0.7l0.5-0.7l0.5-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7
|
873 |
+
l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.7l0.6-0.6l0.6-0.6l0.6-0.6l0.6-0.6l0.6-0.6l0.6-0.6l0.6-0.6l1.5-1.5l0.9-0.9l1-1l1-1l1.1-1
|
874 |
+
l0.5-0.5l0.5-0.5l0.5-0.5l0.5-0.5l0.5-0.5l0.6-0.5l0.6-0.4l0.6-0.4l0.6-0.4l0.4-0.2l0.3-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.5-0.3
|
875 |
+
l0.6-0.3l0.8-0.3l0.5-0.1l1-0.2h0.1l0,0l0.2-0.2l0.8-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8
|
876 |
+
l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l1-0.8l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1.1-0.7
|
877 |
+
l1.1-0.7l1.1-0.7l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l1.1-0.6l1.2-0.6l1.2-0.6l1.2-0.5l1.2-0.5l1.2-0.5
|
878 |
+
l1.2-0.5l1.2-0.5l1.2-0.5l1.2-0.5l1.3-0.5l1.3-0.5l1.3-0.5l1.3-0.5l1.3-0.4L170,9l1.3-0.4l1.3-0.4l1.4-0.4l1.4-0.4l1.4-0.4
|
879 |
+
l1.4-0.4l1.4-0.4l1.4-0.3l1.4-0.3l1.4-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2
|
880 |
+
l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.4-0.2l1.4-0.2l1.4-0.2l1.4-0.1l1.4-0.1l1.4-0.1l1.4-0.1l1.4-0.1
|
881 |
+
l1.4-0.1l1.4-0.1l1.4-0.1l1.4-0.1L223.3,0.9z M388.7,162.8l-0.7,0.6l0.9-0.7l0.8-0.4L388.7,162.8z M390.5,161.8l-0.5,0.3
|
882 |
+
l0.9-0.4L390.5,161.8z M392.2,161.4l0.4-0.1h-0.2L392.2,161.4z"
|
883 |
+
/>
|
884 |
+
<path
|
885 |
+
d="M156.3,235.9l1.3-0.1l1.3-0.1h1.4h1.3h1.3h1.4h1.3h1.4h1.3h1.3h1.3h1.3h1.3h1.3l1.3,0.1l1.3,0.1l1.3,0.1
|
886 |
+
l1.3,0.1l1.3,0.1l1.3,0.1l2.6,0.2l2.7,0.2l2.6,0.2l2.6,0.2l5.3,0.4l2.6,0.2l2.6,0.2l2.6,0.2l2.6,0.2l2.6,0.2l1.3,0.1l1.3,0.1
|
887 |
+
l1.3,0.1l1.3,0.1h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.2h1.2l1.2,0h1.2h1.2l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1
|
888 |
+
l1.2-0.1l1.2-0.2l1.2-0.2l1.2-0.2l1.1-0.2l1.1-0.2l1.1-0.2l0.9-0.2l0.9-0.2l1-0.2l1-0.2l1-0.2l1-0.2l1-0.3l1-0.3l1-0.3l1-0.3
|
889 |
+
l2.1-0.6l2.1-0.6l2.1-0.6l4.3-1.3l2.2-0.6l2.2-0.6l2.2-0.6l2.3-0.6l1.1-0.3l1.1-0.3l1.2-0.3l1.2-0.3l1.2-0.3l1.2-0.3l1.2-0.3
|
890 |
+
l1.2-0.3l1.2-0.3l1.2-0.2l1.2-0.2l1.2-0.2l1.2-0.2l1.2-0.2l1.2-0.2l1.2-0.2l1.2-0.2l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1
|
891 |
+
l1.2-0.1h1.2h0.6h0.6h0.6h0.6h0.6h0.6h0.6h0.6h0.6h0.6h0.6h0.6l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1
|
892 |
+
l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l2.6,0.5l2.6,0.5l5.4,1.1l2.8,0.6l2.8,0.6l2.9,0.6l2.9,0.6l2.9,0.6l3,0.6l1.5,0.3
|
893 |
+
l1.5,0.3l1.5,0.3l1.5,0.3l1.5,0.3l1.5,0.2l1.5,0.2l1.5,0.2l1.5,0.2l1.5,0.2l1.5,0.2l1.5,0.2l1.5,0.2l1.5,0.2l1.5,0.2l1.5,0.2
|
894 |
+
l1.5,0.2l1.5,0.2l1.5,0.1l1.5,0.1l1.5,0.1l1.5,0.1l1.5,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1h1.4h1.4h1.4h1.4h1.4h1.3l1.3-0.1
|
895 |
+
h0.6h0.7h0.7h0.6h0.6h0.6l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1
|
896 |
+
l0.6-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.6-0.1l1-0.1l1-0.1l1-0.1l1-0.1l2-0.1l1.9-0.1h0.9
|
897 |
+
l0.9-0.1l0.9-0.1l0.8-0.1l0.8-0.1h0.4h0.4l0.4-0.1l0.4-0.1l0.4-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1
|
898 |
+
l0.3-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
899 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1v-0.1v-0.1
|
900 |
+
v-0.1v-0.1v-0.1v-0.1V228l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0v-0.1v-0.1v-0.1v-0.1v-0.1
|
901 |
+
v-0.1v-0.1v-0.1v-0.1V227v-0.1v-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
902 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.1l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3
|
903 |
+
l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3
|
904 |
+
l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.8-0.3
|
905 |
+
l-0.9-0.3l-1.7-0.6l-1.8-0.6l-0.9-0.3l-0.9-0.3l-0.9-0.3l-0.9-0.3l-0.8-0.3l-0.8-0.2l-0.8-0.2l-0.3-0.1l-0.8,0.4l-0.5,0.2
|
906 |
+
l-0.6,0.3l-0.7,0.2l-0.4,0.1l-0.9,0.2l-0.9,0.1l0,0h-1l-0.9-0.1l-0.9-0.2l-0.9-0.3l0,0l-1.1-0.5l-1-0.6l-0.9-0.7l-0.8-0.9
|
907 |
+
l-0.7-1l0,0l-0.5-0.9l-0.4-1l-0.3-1l-0.1-1v-1l0,0l0.1-1.1l0.2-1.1l0.4-1l0,0l0.4-0.8l0.5-0.8v-0.1l0.7-0.8l0.2-0.3l0.3-0.3
|
908 |
+
l0.9-0.8l1-0.7l1.1-0.5l1.2-0.4h0.1l0.2-0.1l0.7-0.3l0.4-0.2l0.4-0.2l0.4-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.6-0.1l0.7-0.1l0.8-0.1
|
909 |
+
l0.8-0.1h0.6h0.5l0.6,0.1l0.5,0.1l0.7,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l1,0.3l1.1,0.3l1,0.3l1,0.3l1,0.3l1,0.3
|
910 |
+
l1,0.3l1.8,0.6l1.7,0.6l0.8,0.3l0.8,0.3l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3
|
911 |
+
l0.7,0.3l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5
|
912 |
+
l0.6,0.5l0.6,0.6l0.6,0.6l0.6,0.6l0.6,0.6l0.6,0.6l0.6,0.7l0.6,0.7l0.3,0.4l0.3,0.3l0.3,0.3l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4
|
913 |
+
l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.5l0.2,0.5l0.2,0.4l0.2,0.5l0.1,0.5
|
914 |
+
l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5v0.5v0.5v0.5v0.5v0.5v0.5v0.5l-0.1,0.5l-0.1,0.6l-0.1,0.5l-0.1,0.5
|
915 |
+
l-0.1,0.5l-0.1,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5
|
916 |
+
l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.5,0.5l-0.6,0.5l-0.6,0.5l-0.6,0.5
|
917 |
+
l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2
|
918 |
+
l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1
|
919 |
+
l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1,0.1l-2,0.1l-1.9,0.1h-0.9l-0.9,0.1l-0.8,0.1l-0.8,0.1h-0.3h-0.4h-0.3h-0.3h-0.3
|
920 |
+
l-0.3,0.1H414l-0.3,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1
|
921 |
+
l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1h-0.8h-0.8h-0.8h-0.8l-1.5,0.1h-1.5h-1.5h-1.6h-1.6h-1.6h-1.6l-1.6-0.1l-1.6-0.1
|
922 |
+
l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.2
|
923 |
+
l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.3l-1.6-0.3l-1.6-0.3l-1.6-0.3l-1.5-0.3l-1.5-0.3l-1.5-0.3l-3-0.6l-3-0.6
|
924 |
+
l-3-0.6l-2.9-0.6l-2.9-0.6l-2.8-0.6l-5.4-1.1l-2.6-0.5l-2.5-0.5l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1
|
925 |
+
l-0.5-0.1l-0.5-0.1h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-1l-1,0.1l-1,0.1l-1,0.1
|
926 |
+
l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.3l-1.1,0.3
|
927 |
+
l-1.1,0.3l-1.1,0.3l-1.1,0.3l-1.1,0.3l-2.2,0.6l-2.2,0.6l-2.2,0.6l-2.2,0.6l-4.3,1.3l-2.2,0.6l-2.2,0.6l-2.2,0.6l-1.1,0.3
|
928 |
+
l-1.1,0.3l-1.1,0.3l-1.1,0.3l-1.1,0.3l-1.1,0.3l-1.1,0.3l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.4,0.3l-1.4,0.2l-1.4,0.2l-1.4,0.2
|
929 |
+
l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0h-1.4h-1.4h-1.4
|
930 |
+
h-1.4H220h-1.4h-1.4h-1.4h-1.4l-1.4-0.1l-1.4-0.1l-1.4-0.1l-1.4-0.1l-1.4-0.1l-2.7-0.2l-2.7-0.2l-2.7-0.2l-2.7-0.2l-2.7-0.2
|
931 |
+
l-5.3-0.4l-2.6-0.2l-2.6-0.2l-2.6-0.2l-2.6-0.2l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.2-0.1l-1.2-0.1h-1.2h-1.2H167h-1.2
|
932 |
+
h-1.2h-1.2h-1.2H161h-1.2h-1.2h-1.3h-1.2h-1.3l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-2.6,0.2l-2.6,0.2l-2.6,0.2
|
933 |
+
l-2.6,0.2l-5.3,0.4l-2.7,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.2l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1
|
934 |
+
l-1.4,0.1h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4l-1.4-0.1l-1.4-0.1l-1.4-0.1l-1.4-0.1l-1.4-0.1l-1.4-0.1
|
935 |
+
l-1.4-0.1l-1.4-0.2l-1.4-0.2l-1.4-0.2l-1.4-0.2l-1.3-0.2l-1-0.2l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1
|
936 |
+
l-0.9-0.1L69,253l-0.9-0.1l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-1-0.1h-1l-2-0.1l-2-0.1l-2-0.1l-2-0.1h-2h-2l-4.1-0.1l-2.1-0.1
|
937 |
+
l-2.1-0.1l-2.1-0.1l-2.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1
|
938 |
+
l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2
|
939 |
+
l-1.1-0.3l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2L7,246.9l-0.7-0.2l-0.7-0.2L5,246.2l-0.6-0.3l-0.6-0.3l-0.6-0.3
|
940 |
+
L2.6,245L2,244.7l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.5-0.3l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4
|
941 |
+
l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.2-0.6l-0.2-0.6
|
942 |
+
l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6v-0.6v-0.6l0-0.6v-0.6v-0.6l0.1-0.6l0.1-0.6l0.1-0.6l0.1-0.5
|
943 |
+
l0.1-0.5l0.1-0.5l0.1-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.4
|
944 |
+
l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4
|
945 |
+
l0.3-0.4l0.4-0.4l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.7-0.7l0.8-0.7l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6
|
946 |
+
l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.4l0.7-0.4l0.1-0.1l0,0l0,0h0.1h0.1l0,0l0.2-0.1l0.2-0.2l0.2-0.2
|
947 |
+
l0.3-0.2l0.3-0.3l0.3-0.3l0.3-0.3l0.4-0.3l0.4-0.3l0.8-0.8l0.9-0.8l0.9-0.9l0.5-0.5l0.5-0.5l0.5-0.5l0.5-0.5l0.6-0.5l0.6-0.5
|
948 |
+
l0.6-0.5l0.6-0.5l0.7-0.5l0.7-0.5l0.4-0.3l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.3-0.2l1.1-0.5l1.2-0.3l1.2-0.2
|
949 |
+
h1.2l1.2,0.2l1.2,0.3l1.1,0.5l1,0.6l0.9,0.8l0.8,0.9l0.7,1l0.6,1.1l0.4,1.1l0.2,1.2l0.1,1.2l-0.1,1.2l-0.3,1.2l-0.4,1.1
|
950 |
+
l-0.6,1.1l-0.7,1l-0.8,0.9l-0.9,0.8l-1,0.6l-0.2,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.3,0.2
|
951 |
+
l-0.3,0.2l-0.3,0.2l-0.3,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.8,0.8l-0.9,0.9l-0.9,0.9l-0.5,0.5
|
952 |
+
l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.6,0.5l-0.6,0.5l-0.6,0.5l-0.6,0.4l-0.4,0.2l-0.3,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
|
953 |
+
l-0.3,0.2l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.3l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.4l-0.6,0.4
|
954 |
+
l-0.6,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2
|
955 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2L9.6,225l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2L9.1,226
|
956 |
+
L9,226.2l-0.1,0.2l-0.1,0.2l-0.1,0.2L8.6,227l-0.1,0.1l-0.1,0.1l-0.1,0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1l0,0v0.1l0,0l0,0l0,0
|
957 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.3,0.1l0.3,0.1
|
958 |
+
l0.3,0.1l0.3,0.1l0.3,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2
|
959 |
+
l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l1,0.1l0.9,0.1l1,0.1l1,0.1
|
960 |
+
l1,0.1l1,0.1h1h1l2,0.1l2,0.1l2,0.1l2,0.1l4.1,0.1h2.1h2.1l2.1,0.1l2.1,0.1l2.1,0.1l2.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1
|
961 |
+
l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.2l1,0.2l1.2,0.2l1.2,0.2l1.2,0.2
|
962 |
+
l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1h1.2h1.2h1.2h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3
|
963 |
+
l1.3-0.1l1.3-0.1l1.3-0.1l1.3-0.1l1.3-0.1l1.3-0.1l1.3-0.1l2.6-0.2l2.6-0.2l2.6-0.2l2.6-0.2l2.7-0.2l5.3-0.4l2.7-0.2l2.7-0.2
|
964 |
+
l2.7-0.2l2.7-0.2l1.4-0.1l1.3-0.1l1.3-0.1L156.3,235.9z M411.9,211.1L411.9,211.1l0.5-0.6l0.1-0.1L411.9,211.1z"
|
965 |
+
/>
|
966 |
+
</g>
|
967 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
968 |
+
<path
|
969 |
+
d="M6,210.5h0.6h0.6h0.6H9h1.2h1.1h1.1l1.1,0h1h1l1.9,0.1h0.8H19h0.7h0.6l1,0.1l0.9,0.2l0.9,0.4l0.8,0.5
|
970 |
+
l0.7,0.7l0.6,0.8l0.5,0.9l0.3,0.9l0.2,1v1l-0.2,1l-0.3,0.9l-0.5,0.9l-0.6,0.8l-0.7,0.7l-0.8,0.5l-0.9,0.4l-0.9,0.2l-1,0.1h-0.7
|
971 |
+
h-0.8H18h-0.9l-1.8-0.1h-1h-1h-1l-1,0h-1h-1h-1H7.8H7.3H6.8H6.3H5.8H5.3H4.8H4.3l-0.5,0.1l-0.4,0.1L3,222.8l-0.4,0.1L2.2,223
|
972 |
+
l-0.4,0.1l-0.4,0.1L1,223.3l-0.4,0.1l-0.3,0.1L0,223.6l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.2,0.1l-0.2,0.1l0,0l0.2,0.2l0.2,0.2
|
973 |
+
l0.2,0.2l0.2,0.1l0.3,0.1L0,225l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l1.6,0.7l1.6,0.7l1.6,0.7l1.7,0.7l1.7,0.7
|
974 |
+
l0.8,0.3l0.9,0.3L12,230l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.2l0.9,0.2l0.8,0.2
|
975 |
+
l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.3,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1h0.4H31h0.4h0.5h0.5h0.5
|
976 |
+
h0.5h0.5h0.5h0.5h0.5h1.1h1.1h1.1l1.1-0.1L41,235l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1
|
977 |
+
l1.2-0.2l1.2-0.2l2.3-0.3l2.2-0.3l4-0.6l0.5-0.1l0.5-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1h0.9h0.9H70h0.9h0.9h0.9h0.9l1.7,0.1
|
978 |
+
l1.7,0.1l1.6,0.1h1.6H81h0.8h0.8h0.8h0.8h0.7h0.7h0.7H87l0.7-0.1l0.7-0.1h0.3h0.4l1.7-0.2l1.8-0.2l1.8-0.2l1.8-0.2L98,231
|
979 |
+
l1.8-0.2l1.8-0.2l1.8-0.2l1.8-0.2l1.8-0.2l1.8-0.2l1.8-0.2l1.8-0.2l1.8-0.2l1.8-0.2l1.8-0.1l1.8-0.1l1.8-0.1l1.8-0.1l1.8-0.1
|
980 |
+
l1.8-0.1l1.8-0.1l1.8-0.1l1.8-0.1l1.8-0.1l1.8-0.1l1.8-0.1h1.8h1.8h1.8h1.8h1.8h1.1h1.1h1.1h1.1h1.1l1.1,0.1l1,0.1l1,0.1l1,0.1
|
981 |
+
l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.2l1,0.2l1,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2
|
982 |
+
l0.9,0.2l0.9,0.2l1.8,0.4l1.8,0.4l1.8,0.5l1.8,0.5l1.8,0.5l1.7,0.5l3.5,1l1.8,0.5l1.8,0.5l1.8,0.5l1.8,0.5l1.8,0.5l1.8,0.4
|
983 |
+
l1.8,0.4l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.4,0.1l0.4,0.1l0.4,0.1h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4
|
984 |
+
h0.4h0.4h0.4l0.4,0h0.4l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.9-0.2l0.9-0.2
|
985 |
+
l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l1.9-0.6l1.9-0.7l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1.4-0.4l1.4-0.4
|
986 |
+
l1.4-0.4l1.4-0.4l1.5-0.4l1.5-0.4l1.5-0.4l1.5-0.4l1.5-0.4l1.5-0.4l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3
|
987 |
+
l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.3l1.5-0.2l1.5-0.2l1.5-0.2l1.5-0.2l1.5-0.2l1.5-0.2
|
988 |
+
l1.1-0.2l1.2-0.1l1.2-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1.1-0.1h1.1h1.1h1.1h1.1h1.1h1.1h1.1h1.1h1.1l1.1,0.1l1.1,0.1l1.1,0.1
|
989 |
+
l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l2.1,0.3l2.1,0.3l2.1,0.3l2.1,0.3l4.1,0.6l2,0.3
|
990 |
+
l2,0.3l2,0.3l2,0.3l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1h1h1h1h1h1h0.9h0.9h0.9h0.9h0.9h0.9h0.9
|
991 |
+
h0.9l0.9,0.1l0.9,0.1l1.7,0.1l1.7,0.1l1.7,0.1l1.7,0.2l1.7,0.2l3.3,0.3l3.3,0.3l1.6,0.2l1.6,0.2l1.6,0.2l1.6,0.1l1.6,0.1
|
992 |
+
l1.6,0.1l0.8,0.1h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8h0.8l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1
|
993 |
+
l0.8-0.1l0.8-0.1l0.7-0.1l0.9-0.1l0.4-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.2
|
994 |
+
l0.5-0.2l0.4-0.2l0.4-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
995 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0,0l0,0v-0.1l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2V225v-0.2v-0.2v-0.2v-0.2V224
|
996 |
+
v-0.2v-0.2v-0.2v-0.2V223v-0.2v-0.2v-0.2v-0.2v-0.1V222v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1V221v-0.1l0-0.1v-0.1
|
997 |
+
v-0.1v-0.1v-0.1l-0.1-0.1v-0.1v-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
998 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
999 |
+
l-0.2-0.2l-0.2-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1
|
1000 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1h-0.4H406h-0.4h-0.4h-0.4h-0.4H404h-0.4h-0.4l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
1001 |
+
l-0.4,0.1l-0.6,0.2l-0.4,0.1l-0.4,0.1l-0.7,0.1l-0.8,0.1l-0.9,0.1l-1,0.1l-1.1,0.1l-1.1,0.1l-1.2,0.1l-1.2,0.1h-0.6h-0.6h-0.6
|
1002 |
+
h-0.5h-0.5h-0.5h-0.5h-0.5l-0.6-0.1l-0.6-0.1l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.5-0.2h-0.1l-0.6-0.3h-0.1l-0.5-0.3l-0.4-0.4l0,0
|
1003 |
+
l-0.5-0.5l-0.4-0.6l0,0l-0.3-0.6l-0.3-0.6l-0.2-0.7l0,0l-0.1-1v-1l0.2-1l0.3-0.9l0.5-0.9l0.6-0.8l0.7-0.7l0.8-0.5l0.9-0.4
|
1004 |
+
l0.9-0.2l1-0.1l1,0.1l0.9,0.2l0.1,0.1h0.2h0.3h0.4h0.4h0.5h0.5h1l1-0.1l1-0.1l1-0.1l0.9-0.1l0.7-0.1l0.6-0.1h0.2l0.4-0.1
|
1005 |
+
l0.7-0.2l0.7-0.2l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1h0.7h0.7h0.7h0.7h0.7l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1
|
1006 |
+
l0.7,0.1l0.7,0.2l0.7,0.2l0.7,0.2l0.7,0.2l0.7,0.2l0.6,0.2l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.4l0.6,0.4l0.5,0.4l0.3,0.2
|
1007 |
+
l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3
|
1008 |
+
l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.1,0.3l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.4
|
1009 |
+
l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4v0.4v0.4v0.4v0.4l0,0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4
|
1010 |
+
l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4L425,228l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.5l-0.2,0.5
|
1011 |
+
l-0.2,0.5l-0.2,0.5l-0.3,0.5l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3
|
1012 |
+
l-0.3,0.3l-0.3,0.3l-0.4,0.2l-0.4,0.2l-0.3,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
|
1013 |
+
l-0.4,0.2l-0.7,0.3l-0.7,0.3l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1
|
1014 |
+
l-0.6,0.1l-0.6,0.1l-1,0.2l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1h-0.9h-0.9H395h-0.9h-0.9
|
1015 |
+
h-0.9h-0.9h-0.9h-0.9h-0.9h-0.9h-0.9H386h-0.9l-0.9-0.1l-0.9-0.1l-0.9-0.1l-1.7-0.1l-1.7-0.1l-1.7-0.2l-1.7-0.2l-1.6-0.2
|
1016 |
+
l-1.6-0.2l-3.3-0.3l-3.2-0.3l-1.6-0.2l-1.6-0.2l-1.6-0.1l-1.6-0.1l-1.6-0.1l-0.8-0.1h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8h-0.8
|
1017 |
+
h-0.8h-1.1h-1.1h-1.1h-1.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.1
|
1018 |
+
l-1.1-0.1l-1.1-0.1l-2.1-0.3l-2.1-0.3l-2.1-0.3l-2.1-0.3l-4.1-0.6l-2-0.3l-2-0.3l-2-0.3l-2-0.3l-1-0.1l-1-0.1l-1-0.1l-1-0.1
|
1019 |
+
l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-1-0.1h-1h-1h-1h-1h-1h-1h-1h-1h-1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1
|
1020 |
+
l-1,0.1l-1,0.1l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3
|
1021 |
+
l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.3l-1.4,0.4
|
1022 |
+
l-1.4,0.4l-1.4,0.4l-1.4,0.4l-1.4,0.4l-1.4,0.4l-1.4,0.4l-1.4,0.4l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3
|
1023 |
+
l-1.9,0.7l-1.9,0.7l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1.1,0.3l-1.1,0.3l-1.1,0.3l-0.6,0.1l-0.5,0.1l-0.5,0.1l-0.6,0.1
|
1024 |
+
l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1h-0.6h-0.6l-0.6,0h-0.6h-0.6h-0.6h-0.6
|
1025 |
+
h-0.6h-0.6l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-1-0.2l-1-0.2l-1-0.2l-1-0.2l-1-0.2l-1-0.2l-1.9-0.5
|
1026 |
+
l-1.9-0.5l-1.9-0.5l-1.8-0.5l-1.8-0.5l-1.8-0.5l-1.8-0.5l-3.5-1l-1.7-0.5l-1.7-0.5l-1.7-0.4l-1.7-0.4l-1.7-0.4l-1.7-0.4
|
1027 |
+
l-0.8-0.2l-0.8-0.2l-0.9-0.2l-0.8-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.1l-0.9-0.1l-0.9-0.1
|
1028 |
+
l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1H151h-1h-1h-1h-1h-1.7h-1.7h-1.7
|
1029 |
+
h-1.7h-1.7l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1
|
1030 |
+
l-1.8,0.2l-1.8,0.2l-1.8,0.2l-1.8,0.2l-1.8,0.2l-1.8,0.2l-1.8,0.2l-1.8,0.2l-1.8,0.2l-1.8,0.2l-1.7,0.2l-1.7,0.2l-1.7,0.2
|
1031 |
+
l-1.7,0.2l-1.7,0.2l-0.4,0.1l-0.5,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1h-0.9H85h-0.9h-0.9H82h-0.9h-0.9h-0.9l-1.7-0.1l-1.7-0.1
|
1032 |
+
l-1.6-0.1l-1.6-0.1h-0.8h-0.8h-0.8h-0.8h-0.8H68h-0.7h-0.7h-0.7l-0.7,0.1l-0.7,0.1h-0.3h-0.4l-3.9,0.6l-2.2,0.3l-2.3,0.3
|
1033 |
+
l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1h-1.3
|
1034 |
+
h-1.3H35h-0.6h-0.6h-0.6h-0.6H32h-0.6h-0.6h-0.6h-0.6l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.5-0.1
|
1035 |
+
l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2L21,245l-0.9-0.2l-0.9-0.2l-0.9-0.3l-0.9-0.3l-0.9-0.3l-0.9-0.3l-0.9-0.3l-0.9-0.3
|
1036 |
+
l-0.9-0.3l-0.9-0.3l-0.9-0.3l-0.9-0.3l-0.9-0.3L8.4,241l-0.9-0.3l-0.9-0.3l-0.9-0.3l-1.8-0.7l-1.8-0.7L0.4,238l-1.7-0.7
|
1037 |
+
l-1.7-0.7l-0.3-0.1l-0.3-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3
|
1038 |
+
l-0.5-0.3l-0.5-0.3l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.4-0.5l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3
|
1039 |
+
l-0.2-0.3l-0.2-0.3l-0.2-0.4L-13,228l-0.2-0.4l-0.2-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.5l-0.1-0.5v-0.5V224v-0.5l0-0.5
|
1040 |
+
l0.1-0.5l0.1-0.5l0.1-0.5l0.2-0.5l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3
|
1041 |
+
l0.2-0.3l0.2-0.3l0.2-0.3l0.3-0.3l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.6-0.3
|
1042 |
+
l0.6-0.3l0.6-0.3l0.6-0.3l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1
|
1043 |
+
l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1h0.6h0.6L6,210.5z M389.5,208l-0.3-0.4l-0.1-0.1L389.5,208z"
|
1044 |
+
/>
|
1045 |
+
</g>
|
1046 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
1047 |
+
<path
|
1048 |
+
d="M168.7,64h0.7h0.7h0.7h0.7h0.7l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.2
|
1049 |
+
l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3
|
1050 |
+
l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4
|
1051 |
+
l0.5,0.4l0.5,0.4l0.5,0.4l0.4,0.5l0.4,0.5l0.4,0.5l0.4,0.5L199,78l0.4,0.5l0.4,0.5l0.4,0.5l0.4,0.5l0.4,0.5l0.4,0.5l0.4,0.6
|
1052 |
+
l0.3,0.6l0.3,0.6l0.3,0.6L203,84l0.3,0.6l0.3,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.1,0.6L205,90l0.1,0.6
|
1053 |
+
l0.1,0.6l0.1,0.6l0.1,0.6V93v0.6v0.6v0.6v0.6V96v0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6L205,99l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6
|
1054 |
+
l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6
|
1055 |
+
l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.4,0.6l-0.4,0.6l-0.4,0.6
|
1056 |
+
l-0.4,0.6l-0.4,0.6l-0.4,0.5l-0.4,0.5l-0.4,0.6l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.4,0.5
|
1057 |
+
l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.4,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.9,1l-0.9,0.9l-0.9,0.9l-1,0.9l-1,0.9
|
1058 |
+
l-1,0.9l-1,0.8l-1,0.8l-1,0.8l-1,0.8l-1,0.7l-0.9,0.7l-0.9,0.7l-0.9,0.7l-0.9,0.6L173,141l-0.9,0.6l-0.9,0.6l-0.9,0.5l-0.9,0.5
|
1059 |
+
l-0.8,0.5l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.2l-0.7,0.2
|
1060 |
+
l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1h-0.7H153h-0.7h-0.7h-0.7h-0.7
|
1061 |
+
l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2
|
1062 |
+
l-0.6-0.2l-0.6-0.2l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.4l-0.5-0.4
|
1063 |
+
l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.4-0.4l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5
|
1064 |
+
l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.3-0.6l-0.3-0.6l-0.3-0.6
|
1065 |
+
l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.2-0.6l-0.2-0.6
|
1066 |
+
l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.1-0.6l-0.1-0.7l-0.1-0.7
|
1067 |
+
l-0.1-0.6l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7v-0.7v-0.7v-0.7v-0.7v-0.7v-0.7l0-0.7v-0.7
|
1068 |
+
v-0.7V101l0.1-0.7l0.1-0.6l0.1-0.6l0.1-0.6l0.1-0.6l0.1-0.6l0.1-0.6l0.3-1.5l0.3-1.7l0.3-1.8l0.2-0.9l0.2-0.9l0.2-1l0.2-1
|
1069 |
+
l0.2-1l0.2-1l0.2-1l0.3-1l0.3-1l0.3-1l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5
|
1070 |
+
l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.3l0.3-0.3
|
1071 |
+
l0.3-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.2l0.2-0.1l0.2-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.3h0.3h0.3L132,69l0.3,0.1
|
1072 |
+
l0.3,0.1l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.3v0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3
|
1073 |
+
l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.1l-0.1,0.1h-0.1l-0.2,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.2
|
1074 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
1075 |
+
l-0.2,0.3l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.3,0.9
|
1076 |
+
l-0.3,0.9l-0.2,0.9l-0.2,0.9l-0.2,0.9l-0.2,0.9l-0.2,0.9l-0.2,0.9l-0.2,0.9l-0.2,0.9l-0.3,1.8l-0.3,1.7l-0.3,1.5l-0.1,0.6
|
1077 |
+
l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.6l-0.1,0.5l-0.1,0.6v0.6v0.6v0.6v0.6v0.6l0,0.6v0.6v0.6v0.6v0.6v0.6l0.1,0.6l0.1,0.6
|
1078 |
+
l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6
|
1079 |
+
l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5
|
1080 |
+
l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.4,0.4l0.4,0.4
|
1081 |
+
l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3
|
1082 |
+
l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.2l0.4,0.2l0.4,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.1
|
1083 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5l0.5-0.1l0.5-0.1l0.5-0.1
|
1084 |
+
l0.5-0.1l0.5-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.3l0.6-0.3l0.6-0.3l0.3-0.2
|
1085 |
+
l0.3-0.2l0.4-0.2l0.4-0.2l0.8-0.4l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.6l0.9-0.6l0.9-0.6l0.9-0.7l0.9-0.7l0.9-0.7l0.9-0.7
|
1086 |
+
l0.9-0.7l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.9l0.9-0.9l0.9-0.9l0.4-0.4l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5
|
1087 |
+
l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5
|
1088 |
+
l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.2-0.5
|
1089 |
+
l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5
|
1090 |
+
l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5V96v-0.5V95v-0.5V94v-0.5V93v-0.5V92l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.4l-0.1-0.5
|
1091 |
+
l-0.1-0.4l-0.1-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4
|
1092 |
+
l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4
|
1093 |
+
l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3
|
1094 |
+
l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
|
1095 |
+
l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1h-0.5h-0.5
|
1096 |
+
h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
1097 |
+
l-0.4,0.1l-0.4,0.1l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
|
1098 |
+
l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.8,0.5l-0.8,0.5l-0.8,0.5l-0.8,0.5l-0.7,0.5l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.5,0.4l-0.5,0.4
|
1099 |
+
l-0.5,0.4l-0.5,0.4l-0.2,0.2h-0.1v0.2l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2
|
1100 |
+
l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.3h-0.3h-0.2h-0.2h-0.3h-0.1h-0.2h-0.2h-0.1l-0.2-0.1l-0.2-0.1h-0.1l-0.2-0.1l-0.2-0.2l0,0
|
1101 |
+
l-0.2-0.1l-0.2-0.2l-0.2-0.2l0,0l-0.1-0.2l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.2l-0.1-0.2l-0.1-0.2l0,0v-0.3v-0.3V79v-0.2v-0.2v-0.1
|
1102 |
+
v-0.2l0.1-0.2V78l0.1-0.3l0.1-0.2l0.1-0.3l0.1-0.2l0.1-0.2l0.2-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3
|
1103 |
+
l0.6-0.5l0.6-0.5l0.6-0.4l0.6-0.4l0.5-0.3l0.4-0.3l0.5-0.3l0.8-0.5l0.8-0.5l0.8-0.5l0.9-0.5l0.9-0.5l0.5-0.3l0.5-0.3l0.5-0.3
|
1104 |
+
L157,68l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2L162,66l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2
|
1105 |
+
l0.5-0.1L165,65l0.5-0.1l0.5-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1h0.7L168.7,64z M146,75.9L146,75.9L146,75.9L146,75.9z"
|
1106 |
+
/>
|
1107 |
+
</g>
|
1108 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
1109 |
+
<path
|
1110 |
+
d="M102.5,119.3h0.5h0.5h0.5h0.5h0.5l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.2l0.5,0.2l0.5,0.2
|
1111 |
+
l0.5,0.2l0.5,0.2l0.5,0.2l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2
|
1112 |
+
l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.1,0.3l0.1,0.3
|
1113 |
+
l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3
|
1114 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3
|
1115 |
+
l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.4,0.6l-0.4,0.6l-0.4,0.6l-0.4,0.6l-0.4,0.6l-0.4,0.5l-0.4,0.5l-0.5,0.5
|
1116 |
+
l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.4
|
1117 |
+
l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3
|
1118 |
+
l-0.5,0.3l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.1l-0.5,0.1l-0.3,0.1h-0.2l-0.6,0.1l-0.6,0.1h-0.6h-0.5h-0.5
|
1119 |
+
h-0.5h-0.5l-0.5-0.1l-0.5-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1L87,156l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1
|
1120 |
+
l-0.4-0.2l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3L83,153l-0.3-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4
|
1121 |
+
l-0.2-0.4l-0.2-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4V147v-0.4v-0.4v-0.4v-0.4V145
|
1122 |
+
v-0.4v-0.4v-0.4v-0.4V143v-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4
|
1123 |
+
l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.2-0.5L83,135l0.3-0.8l0.4-0.9l0.4-1l0.5-1l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5
|
1124 |
+
l0.2-0.5l0.2-0.5v-0.1V128v-0.2v-0.2v-0.2l0.1-0.2L86,127l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1l0.3-0.3
|
1125 |
+
l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3L89,124l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.5-0.2l0.5-0.2l0.5-0.2
|
1126 |
+
l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1
|
1127 |
+
l0.5-0.1h0.5L102.5,119.3z M102,125.2h-0.4h-0.4l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1L98,126
|
1128 |
+
l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l0,0
|
1129 |
+
v0.1v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1
|
1130 |
+
l-0.2,0.1l-0.2,0.1l-0.2,0.1l0,0l-0.2,0.3l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4L90,133l-0.2,0.5l-0.2,0.5l-0.4,0.9l-0.4,0.9
|
1131 |
+
l-0.4,0.8l-0.3,0.7l-0.2,0.6l-0.2,0.4l-0.1,0.2l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3
|
1132 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3l0.1,0.2
|
1133 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
1134 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.2,0.1h0.1h0.1h0.1h0.1h0.1H89h0.1h0.1h0.1h0.1h0.2h0.2h0.3h0.3h0.3H91h0.3h0.4l0.4-0.1h0.1h0.1
|
1135 |
+
l0.2-0.1l0.2-0.1L93,150l0.3-0.1l0.3-0.1l0.3-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3
|
1136 |
+
l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.5-0.4l0.4-0.4l0.4-0.5
|
1137 |
+
l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.2-0.4
|
1138 |
+
l0.2-0.4l0.2-0.4l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2v-0.2v-0.2V131v-0.2v-0.2v-0.2v-0.2
|
1139 |
+
V130v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1V129v-0.1v-0.1v-0.1v-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2
|
1140 |
+
l-0.1-0.2l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
1141 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.3-0.1l-0.3-0.1
|
1142 |
+
l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1h-0.3h-0.3h-0.3h-0.4h-0.4h-0.4h-0.4L102,125.2z"
|
1143 |
+
/>
|
1144 |
+
</g>
|
1145 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
1146 |
+
<path
|
1147 |
+
d="M80.8,178.7h0.4h0.4H82h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.6,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2
|
1148 |
+
l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2
|
1149 |
+
l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.7,0.5l0.7,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l1.2,1l1.2,1.1l0.6,0.5
|
1150 |
+
l0.7,0.6l0.7,0.6l0.7,0.6l0.7,0.6l0.8,0.6l0.8,0.6l0.8,0.6l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.4,0.2l0.4,0.2
|
1151 |
+
l0.4,0.2l0.4,0.2l0.4,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l0.6,0.2l0.6,0.2
|
1152 |
+
l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.5,0.2l0.6,0.2l0.5,0.2l0.5,0.3l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.4,0.2l0.4,0.2l0.4,0.3
|
1153 |
+
l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.3,0.4l0.2,0.2l0.2,0.2l0.2,0.2
|
1154 |
+
l0.2,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.3v0.3v0.3v0.3
|
1155 |
+
v0.4l-0.1,0.4l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.2,0.2l-0.2,0.2
|
1156 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1
|
1157 |
+
l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.4,0.1l-0.5,0.1l-0.4,0.1l-0.4,0.1h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1
|
1158 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.8-0.3l-0.8-0.3l-0.8-0.3l-0.8-0.3
|
1159 |
+
l-0.7-0.3l-1.4-0.6l-0.7-0.3l-0.6-0.3l-0.6-0.2l-0.5-0.2l-0.5-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1h-0.2h-0.1h-0.2l-0.3-0.1
|
1160 |
+
l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1
|
1161 |
+
l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.4-0.3l-0.4-0.3l-0.8-0.6l-0.8-0.6l-0.8-0.6l-0.4-0.3l-0.4-0.3l-0.4-0.3
|
1162 |
+
l-0.4-0.3l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1
|
1163 |
+
l-0.5-0.2l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1h-0.5h-0.5h-0.5h-0.5
|
1164 |
+
h-0.5h-0.5h-0.5h-0.5h-0.5h-0.6h-0.5h-1.1l-1.1,0.1l-1.1,0.1l-2.3,0.2l-1.2,0.1l-1.2,0.1l-1.2,0.1l-1.2,0.1h-1.2h-0.6H72h-0.6
|
1165 |
+
H69h-0.6h-0.6h-0.6h-0.6H66h-0.6l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.2l-0.6-0.2
|
1166 |
+
l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2L55,202l-0.5-0.3l-0.5-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3
|
1167 |
+
l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.1-0.4
|
1168 |
+
l-0.1-0.4l-0.1-0.4l-0.1-0.4V194v-0.4v-0.4v-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4
|
1169 |
+
l0.2-0.4l0.2-0.4l0.2-0.4l0.3-0.4l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3
|
1170 |
+
l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.2l0.2-0.1l0,0v-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.2
|
1171 |
+
l0.3-0.1l0.3-0.1l0.3-0.1h0.3h0.3h0.3l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.2,0.2l0.2,0.2h0.1l0.5-0.1l0.3-0.1l0.3-0.1l0.3-0.1
|
1172 |
+
h0.3h0.4h0.4h0.4h0.4l0.4,0.1h0.3l0.2,0.1L66,181l0.2,0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
1173 |
+
h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2l0.2-0.1l0.2-0.1l0.5-0.1l0.5-0.2l0.5-0.2l0.5-0.2l1.1-0.4
|
1174 |
+
l0.5-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.3h0.3h0.4L80.8,178.7z
|
1175 |
+
M80.5,184.6h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2l-0.2,0.1l-0.2,0.1l-0.4,0.1L78,185l-0.5,0.2l-0.5,0.2l-0.5,0.2l-1.1,0.4l-0.6,0.2
|
1176 |
+
l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.4h-0.4H70h-0.4h-0.4h-0.4h-0.4H68h-0.4
|
1177 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1L66,187l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.2-0.1l0,0h-0.1H64h-0.2h-0.2h-0.2h-0.2l-0.5,0.1
|
1178 |
+
l-0.5,0.1l-0.5,0.1h-0.2l-0.2,0.2L61,187l-0.3,0.1l-0.4,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2
|
1179 |
+
l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.1,0.2
|
1180 |
+
l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2v0.2l0,0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1
|
1181 |
+
v0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.3,0.2
|
1182 |
+
l0.3,0.2l0.3,0.2l0.3,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.5,0.2l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1
|
1183 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1h0.5h0.5h0.5h0.5h0.5h0.5h0.6h0.6h0.6H71h1.1l1.1-0.1l1.1-0.1l1.2-0.1l1.2-0.1
|
1184 |
+
l2.3-0.2l1.2-0.1l1.2-0.1h1.2h0.6h0.6h0.6H85h0.6h0.6h0.6h0.6H88h0.6l0.6,0.1l0.6,0.1l0.6,0.1L91,199l0.6,0.1l0.6,0.1l0.6,0.1
|
1185 |
+
l0.6,0.1l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.5,0.3l0.5,0.3
|
1186 |
+
l0.5,0.3l0.5,0.3l0.5,0.3l0.5,0.3l0.4,0.3l0.4,0.3l0.8,0.7l0.8,0.6l0.8,0.6l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.2l0.4,0.2l0.4,0.2
|
1187 |
+
l0.4,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1h0.2l0.2,0.1
|
1188 |
+
l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.6,0.2l0.6,0.3l0.7,0.3l0.7,0.3l0.7,0.3l1.4,0.6l0.7,0.3l0.7,0.3l0.7,0.3
|
1189 |
+
l0.7,0.3l0.7,0.3l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1h0.3h0.3h0.2h0.2h0.2h0.2
|
1190 |
+
h0.2h0.2h0.2h0.1h0.1h0.1l0,0h0.1l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0v-0.1v-0.1v-0.1V213v-0.1v-0.1
|
1191 |
+
l0,0l0,0l0,0l0,0v-0.1v-0.1v-0.1v-0.1v-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.3
|
1192 |
+
l-0.2-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2
|
1193 |
+
l-0.3-0.2l-0.2-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
|
1194 |
+
l-0.5-0.2l-0.5-0.2l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.4l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2
|
1195 |
+
l-0.6-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.2-0.2l-0.9-0.7l-0.9-0.7l-0.8-0.6
|
1196 |
+
l-0.8-0.6l-0.7-0.6l-0.7-0.6l-0.7-0.6l-0.7-0.6l-1.2-1.1l-1.2-1l-0.6-0.5l-0.6-0.5l-0.5-0.5l-0.6-0.4l-0.5-0.4l-0.6-0.4
|
1197 |
+
l-0.6-0.4l-0.6-0.4l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.4-0.2
|
1198 |
+
l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2H80
|
1199 |
+
h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.2L80.5,184.6z"
|
1200 |
+
/>
|
1201 |
+
</g>
|
1202 |
+
<g transform="matrix(1,0,0,1,400.214,44.558)">
|
1203 |
+
<path
|
1204 |
+
d="M332.3,146.1h0.2h0.2h0.2h0.2h0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0,0l0,0l0.6,0.1
|
1205 |
+
l0.6,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.3,0.1l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
1206 |
+
l0.2,0.1l0.4,0.3l0.4,0.3l0.4,0.3l0.3,0.3l0.3,0.3l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4
|
1207 |
+
l0.2,0.4l0.2,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.2,0.8l0.2,0.8l0.2,0.8l0.2,0.8l0.2,0.8l0.2,0.8l0.2,0.8
|
1208 |
+
l0.2,0.8l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.3,0.5
|
1209 |
+
l0.3,0.7l0.4,0.7l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.1,0.5l0.1,0.5l0.1,0.3v0.3v0.3
|
1210 |
+
v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3L350,181l-0.2,0.3l-0.2,0.3
|
1211 |
+
l-0.3,0.3l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.3h-0.2
|
1212 |
+
h-0.3h-0.3h-0.2H345h-0.2h-0.2h-0.2h-0.2H344h-0.2l-0.2-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2
|
1213 |
+
l-0.4-0.2l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.4-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3
|
1214 |
+
l-0.3-0.3l-0.3-0.3l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.5-0.7
|
1215 |
+
l-0.5-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.3-0.7l-0.3-0.6l-0.3-0.6l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3
|
1216 |
+
l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4v-0.4V163v-0.4v-0.4v-0.4v-0.4V161v-0.9v-0.9v-0.8v-1.6v-1.6
|
1217 |
+
v-0.7v-0.8v-0.2v-0.1v-0.1v-0.2l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.2l0.1-0.2l0.2-0.4l0.2-0.4l0.1-0.2l0,0v-0.1v-0.1
|
1218 |
+
l-0.1-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1
|
1219 |
+
l0.1-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1h0.2h0.2h0.2L332.3,146.1z M334.7,152.9l-0.1,0.3l-0.1,0.3v0.1v0.1
|
1220 |
+
l0,0v0.6v0.8l-0.1,1.6v1.6v0.8v0.8v0.8v0.4v0.4v0.4v0.4v0.4v0.3v0.3v0.3v0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.1v0.1
|
1221 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.2,0.5l0.2,0.5l0.3,0.5l0.3,0.6l0.3,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.2,0.3l0.2,0.3l0.2,0.3
|
1222 |
+
l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.3,0.3l0.2,0.3l0.2,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.2l0.2,0.2l0.2,0.2
|
1223 |
+
l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1h0.2h0.2l0,0h0.1h0.1h0.1
|
1224 |
+
h0.1h0.1h0.1l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1V177l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3
|
1225 |
+
l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.3l-0.3-0.7l-0.3-0.6l-0.3-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5
|
1226 |
+
l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.2-0.9l-0.2-0.9l-0.2-0.9
|
1227 |
+
l-0.2-0.9l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.7l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3
|
1228 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
1229 |
+
l-0.2-0.1h-0.1h-0.1l-0.1-0.1h-0.1l-0.1-0.1h-0.1h-0.1H336h-0.1h-0.1h-0.1h-0.1l-0.3-0.1l-0.3-0.1h-0.1L334.7,152.9z"
|
1230 |
+
/>
|
1231 |
+
</g>
|
1232 |
+
</g>
|
1233 |
+
</g>
|
1234 |
+
</g>
|
1235 |
+
<g>
|
1236 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1237 |
+
<path
|
1238 |
+
fill="#B5A47D"
|
1239 |
+
d="M-204.2,1379.2L-204.2,1379.2l-0.4-0.9l-0.3-0.8l-0.3-0.9l-0.4-0.9l-0.4-0.9l-0.7-1.9l-0.6-1.7l-0.3-0.8
|
1240 |
+
l-0.2-0.7l-0.2-0.7l-0.2-0.8l-0.3-1.2l-0.2-1l-0.2-0.9l-0.2-0.9l-0.2-0.9l-0.1-0.9l-0.1-0.9l-0.1-0.9l-0.1-0.9l-0.1-0.9l-0.2-1.6
|
1241 |
+
l-0.2-1.6l-0.2-1.5l-0.2-1.5l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6
|
1242 |
+
l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.2-0.6l-0.5-1.6l-0.5-1.7l-0.5-1.7l-0.5-1.7l-0.5-1.7l-0.5-1.8l-0.5-1.8l-0.4-1.8l-0.4-1.8
|
1243 |
+
l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.3-1.8l-0.3-1.8l-0.3-1.8
|
1244 |
+
l-0.3-1.8l-0.3-1.8l-0.3-1.8l-0.3-1.8l-0.3-1.8l-0.3-1.8l-0.3-1.8l-0.2-1.8l-0.2-1.8l-0.2-1.8l-0.1-1.2l-0.2-1.2l-0.2-1.2
|
1245 |
+
l-0.2-1.2l-0.2-1.2l-0.2-1.2l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.5
|
1246 |
+
l-0.1-0.5l-0.1-0.5l-0.1-0.5l-0.1-0.4l-0.1-0.3l-0.5-0.3l-0.6-0.4l-0.4-0.3l-0.4-0.4l-0.6-0.5l-0.4-0.4l-0.8-0.8l-0.1-0.1l-0.8-1
|
1247 |
+
l0,0l-0.6-1l0,0l-0.4-0.7l-0.3-0.8l0,0l-0.4-1.2l-0.2-1.2l0,0l-0.1-1.4v-1.4l0,0l0.2-1.2l0.3-1.2l0.4-1.1l0,0l0.3-0.7l-0.1-0.2
|
1248 |
+
l-0.3-0.7l-0.3-0.7l-0.2-0.7l-0.2-0.7l-0.1-0.3h-0.2l-0.5-0.1l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
|
1249 |
+
l-0.5-0.2l-0.5-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.3-0.3
|
1250 |
+
l-0.3-0.3l-0.3-0.3l-0.3-0.4l-0.6-0.6l-0.6-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7
|
1251 |
+
l-0.4-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.1-0.3l-0.1-0.1l-0.4-0.4l-0.4-0.4l-0.3-0.4l-0.3-0.4l-0.5-0.7
|
1252 |
+
l-0.5-0.7l-0.4-0.7l-0.4-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.5l-0.2-0.5l-0.2-0.5l-0.4-0.9l-0.3-0.8l-0.3-0.6l-0.2-0.4l-0.1-0.2
|
1253 |
+
l-0.8-1.1l-0.5-0.7l-0.5-0.7l-0.5-0.8l-0.6-0.9l-0.6-0.9l-0.6-1l-0.6-1l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.6l-0.3-0.6
|
1254 |
+
l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.2-0.7l-0.2-0.7l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.1-0.8
|
1255 |
+
l-0.1-0.9l-0.1-0.8v-0.5v-0.5v-0.5v-0.5v-0.5v-0.5v-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.2-0.6l0.2-0.5
|
1256 |
+
l0.2-0.6l0.2-0.6l0.3-0.6l0.3-0.5l0.3-0.5l0.3-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.4l0.4-0.4l0.5-0.4l0.5-0.4
|
1257 |
+
l0.5-0.4l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.6-0.2l0.7-0.2l0.8-0.2l0.8-0.2
|
1258 |
+
l0.8-0.1l0.9-0.1l0.8-0.1h0.8h0.9l0.9,0.1h0.4l0.1-0.2l0.4-0.6l0.4-0.6l0.5-0.6l0.5-0.5l0.5-0.5l0.5-0.5l0.5-0.4l0.5-0.4l0.5-0.4
|
1259 |
+
l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.5-0.2l0.8-0.3l0.8-0.3l0.8-0.2l0.7-0.2l0.7-0.2l0.7-0.1
|
1260 |
+
l0.7-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.7-0.1l0.5-0.5l0.5-0.5l0.5-0.4l0.5-0.4l0.5-0.3l0.5-0.3l0.5-0.3l0.4-0.3l0.5-0.3l0.8-0.4
|
1261 |
+
l0.8-0.4l0.8-0.3l0.8-0.3l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.6-0.1l0.7-0.1l0.6-0.1h0.6h0.6h0.6
|
1262 |
+
h0.6h0.7h1.2h1.2h1.2h1.2h1.1l1.1,0.1l1.1,0.1l1,0.1l1.9,0.1l1.7,0.1l1.3,0.1h0.5h0.3h0.1l3-0.1l3.2-0.1l3.2-0.1l3.2-0.1l3.2-0.1
|
1263 |
+
l3.2-0.1l3.6-0.2l0.6-0.5l1.2-0.8l1.3-0.6l1.3-0.4l0,0l1.1-0.2l1.2-0.1h1.2h0.1l0.8,0.1l0.8,0.1l0.5,0.1l0.8,0.2l0.6,0.2l0.7,0.2
|
1264 |
+
l0.5,0.2l0.4,0.2l0.4,0.2h0.1h0.3h0.7h0.8h0.9h1h0.6h0.5h0.6h0.6h0.6h0.6h0.6h0.6h0.6l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1
|
1265 |
+
l0.6-0.1l0.6-0.1l1.2-0.2l1.2-0.2l1.3-0.2l2.7-0.5l1.4-0.2l1.5-0.2l1.5-0.2l0.8-0.1l0.8-0.1l2.5-0.3l2.5-0.3l2.5-0.3l2.5-0.3
|
1266 |
+
l2.4-0.2l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1
|
1267 |
+
l1.2-0.1h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2h1.2l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1
|
1268 |
+
l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.1l1.2,0.2l1.2,0.2l1.3,0.2
|
1269 |
+
l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l1.3,0.3l1.3,0.3l1.3,0.3l1.3,0.3l1.2,0.3l1.2,0.3l2.4,0.6h0.1
|
1270 |
+
h0.7l1.2-0.1l1.2-0.1h1.2h1.2h0.3l0.7-0.6l1.1-0.7l1.2-0.6l1.2-0.5l1.3-0.3l1.3-0.2l0,0h1.2l1.2,0.1l1.2,0.2l0,0l1.1,0.3l1,0.4
|
1271 |
+
l0.4,0.2l0.9,0.4l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3
|
1272 |
+
l0.8,0.3h0.6h0.4h0.4h0.4h0.3h0.2l0.3-0.2l0.8-0.5l0.5-0.3l0.5-0.3l0.6-0.3l0.6-0.3l0.6-0.4l0.7-0.4l0.8-0.4l0.8-0.3l0.5-0.2
|
1273 |
+
l0.5-0.2l0.5-0.2l0.5-0.2l0.6-0.2l0.6-0.1l0.7-0.1l0.7-0.1l0.8-0.1h0.9h0.9l0.9,0.1l1,0.1l1.1,0.2l1,0.3l0.5,0.2l1,0.5l0.1,0.1
|
1274 |
+
l0.9,0.5l0.5,0.4l0.5,0.4l0.8,0.7l0.4,0.4l0.8,0.8l0.7,0.9l0.6,0.9l0.5,0.9l0.4,0.8l0.3,0.9l0.3,0.9l0.2,1l0.1,0.5l0.1,1.1v0.6
|
1275 |
+
v0.6l-0.1,0.8l0.3,0.3l0.5,0.4l0.5,0.5l0.4,0.5l0.5,0.5l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.7l0.3,0.7l0.3,0.6l0.3,0.7l0.1,0.3
|
1276 |
+
l0.9,0.5l0.1,0.1l1,0.7l0.1,0.1l0.9,0.8l0.1,0.1l0.9,1l0.1,0.1l0.7,1l0.1,0.1l0.6,1l0.1,0.1l0.5,1l0.3,0.6l0.3,1.1l0.2,1l0.1,1
|
1277 |
+
l0.1,0.9v0.8v0.8l-0.1,0.7l-0.1,0.7l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.5l-0.1,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.3,0.8
|
1278 |
+
l-0.3,0.8l-0.4,0.8l-0.3,0.7l-0.4,0.7l-0.3,0.7l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.6,1l-0.6,0.9l-0.5,0.7l-0.3,0.5l-0.1,0.1v0.1
|
1279 |
+
l-0.3,0.5l-0.3,0.6l-0.3,0.6l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.4,0.5l-0.7,1l-0.7,1l-0.7,1l-0.7,1l-0.7,0.9l-0.2,0.4
|
1280 |
+
l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.7l-0.4,0.7l-0.4,0.7l-0.4,0.7l-0.4,0.7l-0.5,0.7l-0.5,0.7
|
1281 |
+
l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7l-0.5,0.7
|
1282 |
+
l-0.5,0.7l-0.4,0.5l0,0l0,0l-0.1,0.1l-0.1,0.1l-0.3,0.5l-0.4,0.6l-0.5,0.7l-0.5,0.8l-0.6,0.9l-0.3,0.5l-0.4,0.5l-0.4,0.5
|
1283 |
+
l-0.4,0.5l-0.5,0.6l-0.5,0.6l-0.6,0.6l-0.4,0.4l-0.4,0.4l-0.4,0.3v1.2l-0.1,1.4l-0.3,1.4l-0.4,1.3l-0.2,0.5l-0.5,1.1l-0.3,0.7
|
1284 |
+
l-0.3,0.8l-0.3,0.8l-0.2,0.5l-0.2,0.5l-0.4,0.7l-0.4,0.7l-0.4,0.7l-0.4,0.6l-0.4,0.6l-0.4,0.6l-0.4,0.6l-0.4,0.5l-0.4,0.5
|
1285 |
+
l-0.4,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.4l-0.5,0.5
|
1286 |
+
l-0.9,0.8l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.4,0.3v0.4l-0.1,0.8l-0.1,0.8l-0.1,0.9l-0.2,0.9l-0.2,0.9
|
1287 |
+
l-0.2,0.8l-0.2,0.5l-0.1,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.3,0.5l-0.3,0.5l-0.2,0.4l-0.1,0.2l0,0l-0.2,0.4
|
1288 |
+
l-0.3,0.5l-0.3,0.6l-0.7,1.4l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.4,0.6l-0.5,0.7l-0.7,0.8l-0.6,0.6
|
1289 |
+
l-0.3,0.3l-0.8,0.7l0,0l-0.6,0.4l-0.2,0.5l-1,2.3l-1,2.3l-2,4.6l-3.2,7.4l-3.2,7.4l-3.2,7.4l-3.2,7.4l-3.2,7.5l-3.2,7.4l-3.2,7.5
|
1290 |
+
l-3.2,7.5l-3.1,7.5l-3.1,7.5l-3.1,7.5l-3.1,7.5l-6.3,15l-6.3,15l-2.4,5.7l-2.4,5.7l-2.4,5.7l-1.2,2.9l-1.2,2.9l-1.2,2.9l-1.2,2.9
|
1291 |
+
l-1.1,2.9l-1.1,2.9l-1.1,2.8l-1.1,2.9l-1.1,2.9l-1.1,2.9l-0.5,1.3l-0.5,1.2l-0.4,1.1l-0.4,1l-0.4,0.9l-0.3,0.8l-0.6,1.4l-0.6,1.4
|
1292 |
+
l-0.7,1.5l-0.4,0.9l-0.4,1l-0.5,1.1l-0.5,1.3l-0.2,0.6l-0.2,0.6l-0.3,0.7l-0.3,0.7l-0.4,0.8l-0.4,0.8l-0.3,0.5l-0.3,0.5l-0.3,0.5
|
1293 |
+
l-0.3,0.5l-0.3,0.5l-0.4,0.6l-0.4,0.6l-0.5,0.6l-0.6,0.7l-0.7,0.7l-0.5,0.5l-0.5,0.4l-0.6,0.4l-0.7,0.5l-0.8,0.5l-1,0.5l-0.6,0.2
|
1294 |
+
l-1.1,0.4h-0.1l-1.2,0.3h-0.1l-0.7,0.1h-0.4l-0.1,0.4l-0.3,0.9l-0.2,0.5l-0.2,0.5l-0.2,0.6l-0.2,0.6l-0.3,0.7l-0.4,0.8l-0.5,0.8
|
1295 |
+
l-0.4,0.6l-0.5,0.6l-0.6,0.7l-0.3,0.4l-0.8,0.8h-0.1l-1,0.8h-0.1l-0.7,0.4l-0.7,0.4h-0.1l-0.9,0.4l-0.4,0.1l-0.8,2l-0.8,2.1
|
1296 |
+
l-0.8,2.1l-0.8,2.1l-0.8,2.1l-0.8,2.1l-0.7,2.1l-0.7,2.1l-0.7,2.1l-0.7,2.1l-0.3,1l-0.3,0.8l0,0v0.2v0.2l-0.1,0.6l-0.2,1.6
|
1297 |
+
l-0.1,0.9l-0.1,0.5l-0.1,0.5l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.2,0.7l-0.2,0.8l-0.3,0.8l-0.2,0.6l-0.3,0.6l-0.3,0.6l-0.4,0.7
|
1298 |
+
l-0.5,0.8l-0.6,0.8l-0.4,0.4l-0.9,0.9l-0.1,0.1l-1.1,0.8h-0.1l-0.7,0.4l-0.7,0.4h-0.1l-0.8,0.3l-0.6,0.2v0.1l-0.1,0.9v0.1v0.3
|
1299 |
+
v0.8v1l-0.1,2.6v1.5l-0.1,1.5v0.8v0.8v0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.5l-0.1,0.5
|
1300 |
+
l-0.1,0.5l-0.1,0.5l-0.2,0.5l-0.2,0.6l-0.3,0.6l-0.3,0.7l-0.4,0.8l-0.5,0.9l-0.4,0.5l-0.7,0.9l-0.1,0.1l-0.8,0.8l-0.9,0.7l0,0
|
1301 |
+
l-0.9,0.6l-1,0.5l-1,0.4l0,0l-1.1,0.4l-1.1,0.2l-1.1,0.1h-1.1l0,0l-1.3-0.1l-1.3-0.2l-1.2-0.4l0,0l-1.2-0.5l-1.1-0.6l-1.1-0.8
|
1302 |
+
l0,0l-0.8-0.7l-0.7-0.8l-0.6-0.8l0,0l-0.5-0.7l-0.4-0.7l-0.3-0.5l-0.3-0.8l-0.2-0.6l-0.2-0.5l-0.2-0.7l-0.2-0.7l-0.1-0.6
|
1303 |
+
l-0.1-0.6l-0.1-0.6l-0.1-0.7l-0.2-1.3l-0.2-1.4l-0.2-1.4l-0.2-1.4l-0.2-1.4l-0.4-2.5l-0.2-1.6l-0.1-0.3l-0.2-0.6l-0.2-0.6
|
1304 |
+
l-0.2-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.2-1.1l-0.2-1.1l-0.2-1.1l-0.2-1.1l-0.2-1.1l-0.1-1.1l-0.1-1.1
|
1305 |
+
l-0.1-1.1l-0.1-1.1l-0.1-1.1l-0.1-1.1l-0.1-1.1l-0.1-1.1l-0.1-2l-0.3-3.9l-0.1-1.9l-0.1-0.9l-0.1-0.9l-0.1-0.9l-0.1-0.8l-0.1-0.8
|
1306 |
+
l-0.1-0.8l-0.4-2.8l-0.4-2.8l-0.4-2.8l-0.4-2.8l-0.4-2.8l-0.4-2.8l-0.4-2.9l-0.4-2.8l-0.4-2.9l-0.4-2.8l-0.9-5.7l-0.9-5.7
|
1307 |
+
l-0.9-5.7l-1.8-11.5l-0.9-5.8l-0.9-5.8l-0.4-2.9l-0.4-2.9l-0.4-2.9l-0.4-2.9l-0.4-2.9l-0.4-2.9l-0.4-2.9l-0.4-2.9l-0.3-2.3
|
1308 |
+
l-0.3-2.2l-0.6-4.5l-0.3-2.2l-0.2-1.3l-0.2-0.4l-0.3-1.3l-0.2-1.3l-0.6-3.2l-0.7-3.9l-0.3-1.9l-0.3-1.6l-0.2-0.8l-0.2-0.8
|
1309 |
+
l-0.2-0.9l-0.2-0.9l-0.2-1l-0.2-1.1l-0.2-1.1l-0.1-0.6l-0.1-0.6l-0.2-1.1l-0.2-1.1l-0.1-1l-0.1-1l-0.1-0.9l-0.1-0.9l-0.1-0.8
|
1310 |
+
v-0.1l-0.3-1.1l-0.1-0.2l-0.1-0.3l-0.3-1l-0.8-2.2l-0.3-1.1l-0.2-0.6l-0.2-0.7l-0.2-0.7l-0.1-0.4l-0.1-1.2v-1.2l0,0l0.1-1.4
|
1311 |
+
l0.3-1.3l0.4-1.3l0.6-1.2L-204.2,1379.2z M-182.3,1308.4l0.3,1.6h0.1l0,0v-0.1l0.2-0.6l0.1-0.4l-0.1-0.2l-0.7-0.9L-182.3,1308.4z
|
1312 |
+
"
|
1313 |
+
/>
|
1314 |
+
</g>
|
1315 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1316 |
+
<path
|
1317 |
+
fill="#836F40"
|
1318 |
+
d="M-165.2,1548.9l0.5-0.9l0.3-0.5l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
1319 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
1320 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.4-0.3l0.8-0.6l0.5-0.3l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1l0.1-0.1l0.1-0.1
|
1321 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.2
|
1322 |
+
h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.2h0.2h0.1h0.2h0.1h0.1h0.1
|
1323 |
+
l0.2,0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0.5,0.2l0.9,0.4l0.4,0.2l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
1324 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
1325 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
1326 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
1327 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1v0.2v0.1v0.1v0.2v0.1v0.2v0.1v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2
|
1328 |
+
v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.1v0.2v0.1v0.2v0.1v0.1v0.1l-0.1,0.1l-0.1,0.1
|
1329 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
1330 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1v0.1v0.2v0.2v0.2v0.2v0.2v0.2v0.1v0.2v0.2v0.1v0.1v0.2v0.1v0.1l-0.1,0.1l-0.1,0.1
|
1331 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
1332 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
1333 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
1334 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
1335 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
1336 |
+
l-0.1,0.1l-0.1,0.1h-0.1h-0.1h-0.1h-0.1h-0.2h-0.1h-0.2h-0.2h-0.1h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2
|
1337 |
+
h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.1h-0.2h-0.2
|
1338 |
+
h-0.1h-0.1h-0.2h-0.1l-0.1-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
1339 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
1340 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
1341 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
1342 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
1343 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1v-0.1v-0.1v-0.1v-0.2v-0.1v-0.2v-0.2v-0.1v-0.2v-0.2v-0.2v-0.2v-0.2
|
1344 |
+
v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.5v-0.6v-0.7l0.1-0.7l0.1-0.8l0.1-0.8l0.1-0.5l0.1-0.5l0.1-0.5
|
1345 |
+
l0.1-0.5l0.1-0.5l0.2-0.6l0.2-0.6l0.3-0.7L-165.2,1548.9z M-158.6,1564.1L-158.6,1564.1L-158.6,1564.1L-158.6,1564.1l-0.2-0.1
|
1346 |
+
l-0.1-0.1L-158.6,1564.1z"
|
1347 |
+
/>
|
1348 |
+
</g>
|
1349 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1350 |
+
<path
|
1351 |
+
fill="#836F40"
|
1352 |
+
d="M-49.4,1288.3l0.6-1.3l0.6-1.3l0.6-1.2l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6
|
1353 |
+
l0.3-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.4-0.6l0.5-0.6l0.2-0.2l0.4-0.6l0.5-0.8l0.5-1l0.6-1l0.3-0.6l0.3-0.6l0.4-0.6l0.4-0.6l0.4-0.6
|
1354 |
+
l0.4-0.6l0.5-0.6l0.5-0.7l0.5-0.6l0.3-0.4l0.3-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.5-0.4l0.5-0.4l0.6-0.4l0.7-0.5l0.8-0.5l1-0.4
|
1355 |
+
l0.6-0.2l1.1-0.3h0.1l0.6-0.1l0.6-0.1h0.1l0.7-0.1h0.7h0.1h0.8l0.8,0.1h0.1l0.8,0.1l0.8,0.2h0.1l0.8,0.2l0.8,0.3h0.1l0.7,0.3
|
1356 |
+
l0.7,0.4l0.1,0.1l0.6,0.4l0.6,0.4l0.1,0.1l0.6,0.5l0.5,0.5l0.1,0.1l0.5,0.5l0.5,0.6l0.1,0.1l0.4,0.5l0.4,0.6l0.1,0.1l0.3,0.5
|
1357 |
+
l0.3,0.6l0.1,0.1l0.4,1l0.2,0.6l0.3,1.1l0.2,1l0.1,0.9l0.1,0.8v0.8v0.7v0.7l-0.1,0.6l-0.1,0.6l-0.1,0.5l-0.1,0.5l-0.1,0.5
|
1358 |
+
l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.2,0.8l-0.3,0.8l-0.3,0.8l-0.3,0.7l-0.3,0.7l-0.3,0.7l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6
|
1359 |
+
l-0.3,0.5l-0.5,0.9l-0.4,0.8l-0.3,0.6l-0.1,0.2l-0.3,0.5l-0.4,0.9l-0.9,1.6l-0.9,1.6l-0.8,1.6l-1.7,3.1l-0.8,1.5l-0.8,1.5
|
1360 |
+
l-0.7,1.4l-0.7,1.4l-1.4,2.8l-1.4,2.9l-1.5,2.9l-0.7,1.5l-0.8,1.5l-0.8,1.5l-0.8,1.5l-0.8,1.5l-0.8,1.5l-0.8,1.5l-0.8,1.5
|
1361 |
+
l-0.9,1.5l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.5,0.8l-0.5,0.8l-0.3,0.5l-0.1,0.2l-0.4,0.8l-0.3,0.7l-0.1,0.3l-0.1,0.6l-0.2,0.6
|
1362 |
+
l-0.2,0.6l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.4l-0.2,0.5l-0.4,0.7l-0.4,0.7l-0.4,0.7l-0.4,0.7l-0.4,0.6l0,0l-0.6,1.6l-0.8,2.1
|
1363 |
+
l-0.8,2.1l-0.8,2.1l-0.8,2.1l-0.8,2.1l-0.8,2.1l-0.8,2.1l-0.8,2.1l-0.9,2l-0.9,2l-0.9,2l-0.7,1.7v0.1l-0.1,0.3l-0.1,0.5l-0.2,0.6
|
1364 |
+
l-0.2,0.7l-0.1,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.6l-0.3,0.6l-0.3,0.7l-0.4,0.7l-0.5,0.8l-0.6,0.8l-0.7,0.9l-0.7,0.8l-0.6,0.5
|
1365 |
+
l-0.5,0.4l-0.5,0.4l-0.6,0.4l-0.7,0.4l-0.7,0.3l-0.7,0.3l0,0l-0.2,0.8l-0.2,0.8l-0.2,0.8l-0.2,0.7l-0.2,0.7l-0.2,0.7l-0.3,0.7
|
1366 |
+
l-0.3,0.7l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.5,1.1l-0.4,1l-0.4,0.9l-0.3,0.7l-0.3,0.7l-0.6,1.3l-0.7,1.4l-0.7,1.4l-0.8,1.5l-0.7,1.4
|
1367 |
+
l0,0l-0.1,0.7l-0.1,0.7l-0.1,0.6l-0.1,0.6l-0.1,0.5l-0.2,0.5l-0.2,0.5l-0.3,0.8l-0.3,0.8l-0.3,0.7l-0.3,0.7l-0.3,0.7l-0.3,0.6
|
1368 |
+
l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.6,1.1l-1.1,1.8l-0.4,0.7l-0.1,0.2l-0.1,0.3l-1.1,2.1l-1.2,2.1l-1.2,2.1l-1.2,2.1
|
1369 |
+
l-1.2,2.1l-1.2,2.1l-1.3,2.1l-1.3,2.1l-1.3,2.1l-1.3,2.1l-1.3,2.1l-1.3,2.1l-0.1,0.2l-0.5,1.1l-0.8,1.5l-0.7,1.5l-0.7,1.5
|
1370 |
+
l-0.7,1.5l-0.7,1.5l-0.7,1.5l-0.7,1.5l-0.7,1.5l-0.7,1.5l-0.7,1.5l-0.7,1.5l-0.7,1.5l-0.1,0.1v0.1v0.4l-0.1,0.7l-0.1,0.8
|
1371 |
+
l-0.2,1.2l-0.3,1.2l-0.4,1.1l-0.5,1l-0.6,2.4l-0.6,2.5l-0.6,2.5l-0.3,1.3l-0.3,1.3l-0.3,1.3l-0.4,1.3l-0.4,1.3l-0.4,1.3l-0.4,1.3
|
1372 |
+
l-0.4,1.3l-0.4,1.3l-0.2,0.7l-0.2,0.7l-0.2,0.7l-0.2,0.7l-0.2,0.7l-0.3,0.7l-0.3,0.7l-0.3,0.7l0,0v0.1v0.7v0.6v0.6l-0.1,0.6
|
1373 |
+
l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.2,0.8l-0.2,0.8l-0.3,0.8l-0.3,0.7l-0.3,0.7l-0.3,0.7l-0.3,0.6l-0.3,0.6
|
1374 |
+
l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.5l-0.3,0.5l-0.6,1l-0.6,1l-0.5,0.9l-0.9,1.5l-0.4,0.6l-0.3,0.5l-0.7,1.2l-0.7,1.1
|
1375 |
+
l-0.6,1l-0.6,0.9l-0.5,0.7l-0.3,0.8l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1l-0.5,1l-0.5,1
|
1376 |
+
l-0.5,1l-0.6,1l-0.5,1l-0.6,1l-0.6,1l-0.6,1l-0.6,1l-0.6,1l-0.6,1l-0.6,1l-1.2,1.9l-1.2,1.9l-2.3,3.7l-0.2,0.4l-0.3,0.5l-0.8,1.4
|
1377 |
+
l-0.5,0.8l-0.5,0.9l-0.4,1l-0.4,1l-0.4,1l-0.4,1l-0.4,1l-0.4,1l-0.3,1l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.4
|
1378 |
+
l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.3l-0.1,0.3v0.3v0.3v0.3v0.2v0.2v0.2v0.2v0.1v0.1l0,0v0.1l0.2,1.2
|
1379 |
+
l0.1,1.2v1.2l-0.2,1.2l-0.3,1.2l-0.4,1.1l-0.5,1.1l-0.6,1l-0.7,1l-0.8,0.9l-0.9,0.8l-1,0.7l-1,0.6l-1.1,0.5l-1.1,0.4l-1.2,0.3
|
1380 |
+
l-1.2,0.1h-1.2l-1.2-0.1l-1.2-0.2l-1.1-0.3l-1.1-0.5l-1.1-0.6l-1-0.7l-0.9-0.8l-0.8-0.9l-0.7-0.9l-0.6-1l-0.5-1.1l-0.4-1.1
|
1381 |
+
l-0.3-1.2l-0.1-0.6l-0.1-0.9l-0.1-0.9l-0.1-0.8l-0.1-0.8v-0.8v-0.8v-0.8v-0.8l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7
|
1382 |
+
l0.1-0.7l0.1-0.7l0.1-0.7l0.2-0.7l-0.1-0.2l-0.4-1l-0.3-1l-0.2-1l-0.1-1.1l0,0v-1l0.1-1l0.2-1l0.2-1l0,0l0.3-0.8l0.3-0.8l0,0
|
1383 |
+
l0.3-0.6l0.4-0.6l0.3-0.5l0.5-0.7l0.4-0.5l0.3-0.4l0.5-0.6l0.4-0.5l0.2-0.2l2.2-3l0.1-0.1l0.3-0.7l0.3-0.8l0.3-0.8l0.7-1.8
|
1384 |
+
l0.7-1.8l0.6-1.5l0.6-1.6l1.5-3.9l1.5-3.9l3-7.7l3-7.7l1.5-3.8l1.5-3.8l1-2.6l1-2.6l1.1-2.6l1.1-2.6l1.1-2.6l1.1-2.6l1.1-2.6
|
1385 |
+
l1.1-2.6l1.1-2.6l1.1-2.6l1.1-2.6l1.1-2.6l1.1-2.6l1.2-2.6l1.2-2.6l1.2-2.6l1.2-2.6l1.2-2.6l0.2-0.4v-0.2l0.1-0.5l0.1-0.5
|
1386 |
+
l0.1-0.5l0.1-0.5l0.2-0.6l0.3-0.8l0.4-0.8l0.4-0.8l0.4-0.7l0.4-0.7l0.4-0.6l0.4-0.6l0.3-0.4l0.1-0.3l0.3-0.8l0.3-0.8l0.3-0.8
|
1387 |
+
l0.3-0.8l0.4-1.3h-0.1l-1-0.1h-0.1l-0.8-0.2l-0.8-0.2l-0.8-0.3h-0.1l-0.9-0.4l-0.9-0.5l-0.8-0.5l0,0l-0.8-0.6l-0.7-0.7l-0.7-0.8
|
1388 |
+
l0,0l-0.5-0.7l-0.5-0.8l-0.4-0.8v-0.1l-0.4-1l-0.3-1.1v-0.1l-0.2-0.9l-0.1-0.9v-0.1l-0.1-0.7v-0.7v-0.1l0.1-1.1v-0.5l0.1-0.8
|
1389 |
+
l0.2-0.7l0.2-0.7l0.3-0.9l0.3-0.8l0.3-0.7l0.3-0.6l0.3-0.6l0.3-0.5l0.3-0.5l0.3-0.5l0.3-0.5l0.5-0.9l0.5-0.9l0.5-0.8l0.9-1.5
|
1390 |
+
l0.3-0.5l0.2-0.4l0.6-1.1l0.6-1.1l0.6-1l0.5-0.9l0.5-0.8l0.5-0.7l0.8-1.2l0.7-1.1l0.3-0.5l0.4-0.6l0.4-0.7l0.5-0.8l0.6-1l0.6-1.1
|
1391 |
+
l1-1.9l1-1.9l1-1.9l1-1.9l1-1.9l1-1.9l1-1.9l1-1.9l1-1.9l0.9-1.9l0.9-2l0.9-2l0.9-2l0.9-2l0.7-1.5l0.5-1.3l0.5-1.3l0.5-1.3
|
1392 |
+
l0.5-1.2l0.9-2.3l0.4-1.1l0.4-1l0.4-0.9l0.3-0.9l0.3-0.8l0.1-0.3l0.1-0.4v-0.1l0.5-1.1l0.6-1.1l0.7-1l0.8-0.9l0.9-0.9l0.9-0.8
|
1393 |
+
l1-0.7l1.1-0.6l1.1-0.4l1.2-0.3l1.2-0.2l1.2-0.1l1.2,0.1l1.2,0.2l1.2,0.3l1.1,0.4l0.6,0.3l0.7-1.4l1.4-2.7l1.4-2.7l1.3-2.7
|
1394 |
+
l1.3-2.7l1.3-2.7l0.6-1.3l0.7-1.4l0.3-0.7l0.4-0.7l0.4-0.6l0.5-0.8l0.4-0.5l0.7-0.8l0.8-0.7l0,0l0.7-0.6l0.2-0.1l0.5-1.1l0.6-1.2
|
1395 |
+
l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.6-1.1l0.6-1.1l1.2-1.9l0.5-0.9l0.4-0.8l0,0l0.1-0.1l0.1-0.3l0.2-0.4l0.2-0.5l0.3-0.6l0.3-0.7
|
1396 |
+
l0.4-0.7l0.3-0.5l0.3-0.4l0.3-0.5l0.4-0.5l0.5-0.6l0.6-0.7l0.4-0.4l0.8-0.8l0.1-0.1l0.9-0.7l0.4-0.3l0.8-0.5l0.5-0.2l0.6-0.3l0,0
|
1397 |
+
l0.8-2.2l1.1-2.8l0.5-1.4l0.5-1.4l0.5-1.4l0.6-1.4l0.6-1.4l0.6-1.4L-49.4,1288.3z"
|
1398 |
+
/>
|
1399 |
+
</g>
|
1400 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1401 |
+
<path
|
1402 |
+
fill="#836F40"
|
1403 |
+
d="M-235.9,1180.2l0.5-0.9l0.5-0.8l0.6-0.8l0.7-0.7l0.7-0.7l0.8-0.6l0.8-0.5l0.9-0.5l0.9-0.4l0.9-0.3l1-0.2
|
1404 |
+
l1-0.2l1-0.1h0.1h0.5h0.3h0.1l0,0l0.4-0.3l0.4-0.2l0.5-0.3l0.5-0.2l0.5-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.7-0.2l0.7-0.2l0.7-0.1
|
1405 |
+
l0.7-0.1l0.7-0.1h0.7h0.7l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.6,0.2l0.6,0.2l0.6,0.2l0.8,0.4l0.8,0.4l0.4,0.2l1.1-0.1l1.2-0.1
|
1406 |
+
l1.2-0.1l1.2-0.1l1.2-0.1l2.5-0.2l2.5-0.2l2.5-0.3l2.5-0.3l2.6-0.3l2.6-0.3l2.6-0.3l2.6-0.3l2.6-0.3l2.6-0.3l2.6-0.3l5.2-0.7
|
1407 |
+
l5.2-0.7l5.2-0.7l2.6-0.3l2.6-0.3l2.6-0.3l2.6-0.3l2.6-0.3l2.6-0.3l2-0.2l2-0.2l2-0.2l2-0.2l2-0.2l2-0.2l2-0.2l2-0.1l2-0.1l2-0.1
|
1408 |
+
l2-0.1l2-0.1l2-0.1l2-0.1l2-0.1l2-0.1l2-0.1l2-0.1l1.9-0.1l2-0.1l1.9-0.1l2-0.1h1.9h2h1.9h2l3.9-0.1h3.9h3.9h3.9h3.9h3.9h3.9h3.8
|
1409 |
+
h3.8l7.7,0.1l7.7,0.1l7.6,0.1h3.8h3.8h3.8h3.8h1l1,0.1l1,0.2l0.9,0.3l0.9,0.4l0.9,0.4l0.8,0.5l0.8,0.6l0.7,0.6l0.7,0.7l0.6,0.8
|
1410 |
+
l0.6,0.8l0.5,0.8l0.4,0.9l0.4-0.2l0.6-0.2l0.7-0.3l0.8-0.3l0.5-0.2l0.5-0.1l0.5-0.1l0.5-0.2l0.6-0.1l0.6-0.1l0.6-0.1l0.7-0.1
|
1411 |
+
l0.8-0.1l0.8-0.1h0.9h1l0.7,0.1l0.6,0.1l0.7,0.1l0.7,0.2l0.8,0.2l0.8,0.3l0.9,0.4l0.9,0.5l0.5,0.3l0.4,0.3l0.4,0.3l0.1,0.1
|
1412 |
+
l0.4,0.3l0.4,0.4l0.1,0.1l0.4,0.4l0.4,0.4l0.1,0.1l0.4,0.5l0.4,0.5l0.1,0.1l0.3,0.5l0.3,0.5v0.1l0.3,0.5l0.3,0.5v0.1l0.2,0.5
|
1413 |
+
l0.2,0.5l0.2,0.6l0.3,1.1l0.2,1.1l0.1,1v0.8v0.8v0.7l-0.1,0.7l-0.1,0.7l-0.1,0.8l-0.2,0.7l-0.2,0.7L14,1187l-0.3,0.7l-0.3,0.7
|
1414 |
+
l-0.3,0.7l-0.3,0.7l-0.4,0.7l-0.4,0.7l-0.4,0.6l-0.4,0.6l-0.5,0.6l-0.5,0.6l-0.5,0.5l-0.5,0.5l-0.5,0.5l-0.5,0.4l-0.5,0.4
|
1415 |
+
l-0.5,0.4l-0.5,0.4l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2
|
1416 |
+
l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.9,0.1l-1,0.1l-1,0.1h-1h-0.9
|
1417 |
+
h-0.9h-0.9h-0.9h-0.9h-0.9l-0.9-0.1l-0.9-0.1l-0.9,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.2l-1,0.2l-0.9,0.2
|
1418 |
+
l-0.9,0.2l-1.7,0.4l-1.6,0.3l-1.4,0.3l-1.1,0.2l-1.1,0.2l-0.7,0.1l-0.8,0.1l-0.6,0.1h-0.6h-0.6h-0.6l-1.3,0.1l-1.5,0.1l-1.6,0.1
|
1419 |
+
h-1.6H-45h-1.6h-1.5h-2.7h-0.3l-1.1,0.2l-1.4,0.3l-1.4,0.2l-1.4,0.2l-1.4,0.2l-0.9,0.1l-0.1,0.1h-0.1l-0.7,0.3l-0.7,0.3l-0.4,0.2
|
1420 |
+
l-0.8,0.3l-0.7,0.2l-0.6,0.1l-0.5,0.1l-0.5,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1h-0.9h-0.6h-0.6h-0.6h-0.6h-1h-1h-0.9h-0.8h-0.7h-0.3
|
1421 |
+
h-0.3h-1l-1,0.1l-1,0.1l-1,0.1l-2.2,0.2l-2.2,0.2l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.9,0.1l-1.9,0.2l-1.9,0.2l-1,0.1l-1,0.1l-1,0.1
|
1422 |
+
l-1.1,0.1l-1.1,0.1h-1.1h-1.1h-1.2h-0.8h-0.5l-0.8-0.1l-0.8-0.2l-0.8-0.2l0,0l-0.6-0.2h-1.1h-1.4l-1.4-0.1l-1.4-0.1l-1.4-0.1
|
1423 |
+
l-1.4-0.1l-1.4-0.1l-1.4-0.1l-1.4-0.2l-0.7-0.1l-0.8-0.1l-0.9-0.1l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2
|
1424 |
+
l-0.9-0.2l-0.9-0.2l-0.8-0.3l-0.8-0.3l-0.8-0.3l-0.8-0.3l-0.8-0.3l-0.8-0.3l-0.8-0.3l-0.8-0.3l-0.8-0.3l-0.7-0.3l-0.7-0.3
|
1425 |
+
l-0.7-0.3l-0.7-0.3l-0.6-0.3l-0.9,0.1l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.2l-1.4,0.1l-1.4,0.1l-1.4,0.1
|
1426 |
+
l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4h-1.3
|
1427 |
+
l-1.5-0.1l-0.7-0.1l-0.8-0.1l-0.7-0.1l-0.7-0.1l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
|
1428 |
+
l-0.4-0.2l-0.5-0.2l-0.2-0.1h-0.7l-1.4-0.1l-1.4-0.1l-1.4-0.1l-1.4-0.1l-1.4-0.2l-1.3-0.2l-1.4-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2
|
1429 |
+
l-1.3-0.3l-1.3-0.3l-1.3-0.3l-1.3-0.3l-1.3-0.3l-1.3-0.3l-1.3-0.3l-1.3-0.4l-1.2-0.4l-1.2-0.4l-1.2-0.4l-0.4-0.1h-0.1l-1.3,0.1
|
1430 |
+
l-1.3,0.1h-1.3h-1.3h-1.3h-1.3h-1.3h-1.3h-0.4h-1l-1-0.1l-1-0.2l-0.9-0.3l-0.9-0.4l-0.9-0.4l-0.9-0.5l-0.8-0.6l-0.8-0.7l-0.7-0.7
|
1431 |
+
l-0.6-0.8l-0.6-0.8l-0.5-0.9l-0.4-0.9l-0.3-0.9l-0.3-1l-0.2-1l-0.1-1v-1l0.1-1l0.1-1l0.2-1l0.3-0.9L-235.9,1180.2z"
|
1432 |
+
/>
|
1433 |
+
</g>
|
1434 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1435 |
+
<path
|
1436 |
+
d="M-214.1,1345.5L-214.1,1345.5l0.2-0.3l0.1-0.1l0.2-0.3l0.3-0.4l0.2-0.2l0.2-0.3l0.2-0.3l0.3-0.3l0.3-0.3
|
1437 |
+
l0.3-0.3l0.3-0.3l0.3-0.3l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.2l0.4-0.2l0.4-0.2l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3
|
1438 |
+
l0.5-0.3l0.5-0.3l0.5-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l1.3-1.1l1.4-1.1l2.8-2.3l1.4-1.2l1.4-1.2l1.4-1.2l0.7-0.6
|
1439 |
+
l0.7-0.6l0.7-0.6l0.7-0.6l0.8-0.6l0.7-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5l0.8-0.5
|
1440 |
+
l0.8-0.5l0.8-0.4l0.9-0.5l0.9-0.5l0.9-0.5l0.9-0.5l0.9-0.6l0.9-0.6l0.9-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6
|
1441 |
+
l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l1.5-1.4l1.5-1.4
|
1442 |
+
l1.5-1.4l1.5-1.4l1.5-1.4l3-2.9l3-2.9l1.5-1.5l1.5-1.5l1.5-1.4l1.6-1.4l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7
|
1443 |
+
l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.8-0.7l0.3-0.2l0.4-0.3l0.9-0.7l2.4-1.8l1.4-1.1l1.5-1.1l0.8-0.6l0.8-0.6l0.8-0.6l0.8-0.6
|
1444 |
+
l0.8-0.6l0.8-0.6l0.7-0.6l0.7-0.6l0.7-0.6l0.6-0.6l0.6-0.5l0.5-0.5l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.1-0.2
|
1445 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.3l0.1-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.3-0.2l0.3-0.2l0.3-0.2l0.4-0.1l0.4-0.1h0.4h0.4l0.4,0.1
|
1446 |
+
l0.4,0.1l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.3l0.2,0.3l0.2,0.3l0.1,0.3l0.1,0.4l0.1,0.4v0.4v0.2v0.3v0.3l-0.1,0.3l-0.1,0.4l-0.2,0.4
|
1447 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.6,0.6
|
1448 |
+
l-0.7,0.6l-0.7,0.6l-0.7,0.6l-0.8,0.6l-0.8,0.6l-0.8,0.6l-0.8,0.6l-0.8,0.6l-0.8,0.6l-0.8,0.6l-0.8,0.6l-1.5,1.2l-1.4,1.1
|
1449 |
+
l-2.4,1.8l-0.9,0.7l-0.3,0.3l-0.3,0.2l-0.8,0.6l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7
|
1450 |
+
l-0.8,0.7l-0.8,0.7l-0.8,0.7l-1.5,1.4l-1.5,1.4l-1.5,1.4l-1.5,1.4l-3,2.9l-3,2.9l-1.5,1.5l-1.5,1.5l-1.5,1.4l-1.5,1.4l-1.6,1.4
|
1451 |
+
l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7l-0.8,0.7
|
1452 |
+
l-0.9,0.7l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.5
|
1453 |
+
l-0.7,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.5l-0.7,0.5l-0.7,0.5l-0.7,0.5l-0.7,0.5l-0.7,0.5l-0.7,0.5l-0.7,0.5l-0.7,0.5l-0.7,0.5
|
1454 |
+
l-0.7,0.6l-0.7,0.6l-0.7,0.6l-0.7,0.6l-0.7,0.6l-1.4,1.2l-1.4,1.2l-1.4,1.2l-2.8,2.3l-1.4,1.1l-1.4,1.1l-0.4,0.4l-0.5,0.4
|
1455 |
+
l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3
|
1456 |
+
l-0.4,0.2l0,0l0,0l0,0l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.2l-0.2,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.2,0.3l-0.1,0.1l0,0l-0.2,0.3
|
1457 |
+
l-0.3,0.3l0,0l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.4h-0.4l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.3
|
1458 |
+
l-0.2-0.3l-0.2-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.4v-0.4v-0.4l0.1-0.3l0.1-0.3L-214.1,1345.5z M-112,1262.3L-112,1262.3L-112,1262.3
|
1459 |
+
L-112,1262.3L-112,1262.3z M-209,1348.5L-209,1348.5L-209,1348.5L-209,1348.5L-209,1348.5z"
|
1460 |
+
/>
|
1461 |
+
</g>
|
1462 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1463 |
+
<path
|
1464 |
+
d="M-199.4,1433l0.2-0.3l0.2-0.3l0.2-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.4l0.3-0.4l0.7-0.8l0.7-0.8l0.8-0.8
|
1465 |
+
l0.8-0.8l0.8-0.8l1.5-1.5l2.3-2.3l1-1l1-1l1-1l1-1l1-1l1-1l2-1.9l2-1.9l2-1.9l2-1.9l2-1.9l2-1.9l2-1.9l2-1.9l2-1.9l2-1.9l1-1l1-1
|
1466 |
+
l1-1l1-1l1-1l1-1l1.7-1.7l1.7-1.7l1.7-1.7l1.7-1.7l1.7-1.7l1.7-1.7l1.7-1.6l1.7-1.6l1.7-1.6l1.7-1.6l1.8-1.6l1.8-1.6l1.8-1.6
|
1467 |
+
l1.8-1.6l1.8-1.6l1.8-1.6l1.8-1.6l1.8-1.6l3.6-3.2l3.6-3.2l3.6-3.2l3.6-3.2l3.6-3.2l7.2-6.3l7.2-6.3l3.6-3.2l3.6-3.2l3.6-3.2
|
1468 |
+
l3.6-3.2l3.5-3.2l1.8-1.6l1.8-1.6l1.8-1.6l1.8-1.6l1.7-1.6l1.8-1.6l1.7-1.6l1.7-1.6l1.7-1.6l1.7-1.6l1.7-1.6l1.7-1.6l1.7-1.6
|
1469 |
+
l1.7-1.6l1.7-1.7l1.7-1.7l1.7-1.7l1.7-1.7l0.9-0.9l0.9-0.9l0.9-0.9l0.9-0.9l1-0.9l1-0.9l1-0.8l1-0.8l1-0.8l1-0.8l1-0.8l1-0.8
|
1470 |
+
l2-1.6l2-1.6l1.9-1.6l1.9-1.6l1-0.8l1-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.9-0.8l0.8-0.8
|
1471 |
+
l0.4-0.4l0.5-0.5l1.3-1.4l0.7-0.8l0.8-0.8l0.8-0.9l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4
|
1472 |
+
l0.4-0.3l0.4-0.3l0.4-0.3l0.2-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.2h0.3h0.1h0.5
|
1473 |
+
l0.5,0.1l0.5,0.2l0.4,0.3l0.4,0.3l0.3,0.4l0.2,0.5l0.2,0.5l0.1,0.5v0.5l-0.1,0.5l-0.2,0.5l-0.3,0.4l-0.3,0.4l-0.4,0.3l-0.5,0.2
|
1474 |
+
l-0.5,0.2h-0.3l0,0h-0.1h-0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.3,0.2l-0.3,0.2l-0.3,0.3l-0.3,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.4
|
1475 |
+
l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.8,0.8l-0.8,0.8l-0.7,0.8l-1.3,1.4l-0.5,0.6l-0.5,0.5l-0.9,0.9l-0.9,0.9
|
1476 |
+
l-0.9,0.9l-0.9,0.9l-0.9,0.9l-0.9,0.8l-1,0.8l-1,0.8l-1,0.8l-1,0.8l-1,0.8l-1,0.8l-1.9,1.6l-2,1.6l-1.9,1.6l-1.9,1.6l-1,0.8
|
1477 |
+
l-1,0.8l-0.9,0.8l-0.9,0.8l-0.9,0.8l-0.9,0.8l-0.9,0.8l-0.9,0.8l-0.9,0.8l-0.9,0.8l-0.9,0.9l-0.9,0.9l-1.7,1.7l-1.7,1.7l-1.7,1.7
|
1478 |
+
l-1.7,1.7l-1.7,1.7l-1.7,1.7l-1.7,1.7l-1.7,1.6l-1.7,1.6l-1.7,1.6l-1.7,1.6l-1.8,1.6l-1.8,1.6l-1.8,1.6l-1.8,1.6l-1.8,1.6
|
1479 |
+
l-1.8,1.6l-1.8,1.6l-3.6,3.2l-3.6,3.2l-3.6,3.2l-3.6,3.2l-3.6,3.2l-7.2,6.3l-7.2,6.3l-3.6,3.2l-3.6,3.2l-3.6,3.2l-3.6,3.2
|
1480 |
+
l-3.5,3.2l-1.8,1.6l-1.8,1.6l-1.8,1.6l-1.8,1.6l-1.8,1.6l-1.7,1.6l-1.7,1.6l-1.7,1.6l-1.7,1.6l-1.7,1.6l-1.7,1.6l-1.7,1.6
|
1481 |
+
l-1.7,1.6l-1.7,1.6l-1.7,1.7l-1.7,1.7l-1.7,1.7l-1.7,1.7l-1,1l-1,1l-1,1l-1,1l-1,1l-1,1l-2,1.9l-2,1.9l-2,1.9l-2,1.9l-2,1.9
|
1482 |
+
l-2,1.9l-2,1.9l-2,1.9l-2,1.9l-2,1.9l-1,1l-1,1l-1,1l-1,1l-1,1l-1,1l-2.3,2.3l-1.5,1.5l-0.8,0.8l-0.8,0.8l-0.7,0.8l-0.7,0.7
|
1483 |
+
l-0.6,0.7l-0.3,0.3l-0.3,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.1,0.1l0,0l-0.2,0.4l-0.3,0.4l-0.4,0.4l-0.4,0.3l-0.5,0.2l-0.5,0.1
|
1484 |
+
l-0.5,0.1h-0.5l-0.5-0.1l-0.5-0.2l-0.4-0.3l-0.4-0.4l-0.3-0.4l-0.2-0.5l-0.1-0.5v-0.5v-0.5v-0.1l0.1-0.4v-0.1l0.1-0.3l0.1-0.2
|
1485 |
+
L-199.4,1433z M-1.4,1257.3L-1.4,1257.3L-1.4,1257.3L-1.4,1257.3L-1.4,1257.3z M-194.1,1435.5L-194.1,1435.5l0.1-0.3v-0.1
|
1486 |
+
L-194.1,1435.5z"
|
1487 |
+
/>
|
1488 |
+
</g>
|
1489 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1490 |
+
<path
|
1491 |
+
d="M-186.5,1518.6l0.2-0.4l0.2-0.5l0.3-0.5l0.3-0.6l0.4-0.6l0.4-0.6l0.4-0.7l0.4-0.6l0.4-0.6l0.2-0.3l0.2-0.3
|
1492 |
+
l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.2l0.3-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.4
|
1493 |
+
l0.2-0.4l0.4-0.8l0.4-0.8l0.4-0.8l0.4-0.8l0.4-0.8l0.2-0.4l0.2-0.4l0.2-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4
|
1494 |
+
l0.3-0.4l0.9-1.1l0.9-1.1l0.9-1.1l0.9-1.1l0.9-1.1l0.9-1.1l0.9-1.1l0.9-1.1l0.9-1.1l0.9-1.1l1.7-2.2l1.7-2.3l1.7-2.3l1.7-2.3
|
1495 |
+
l1.7-2.3l1.7-2.3l1.7-2.3l3.3-4.6l3.3-4.6l0.9-1.3l1-1.3l1-1.3l1-1.3l1-1.3l1-1.3l1-1.3l1-1.3l1-1.3l1-1.3l1-1.3l1-1.3l1-1.3
|
1496 |
+
l1-1.3l2-2.5l2-2.5l2-2.5l2.1-2.5l2.1-2.5l2.1-2.5l2.1-2.5l2.1-2.4l2.1-2.4l2.1-2.4l2.1-2.4l2.1-2.4l2.2-2.4l2.2-2.4l2.2-2.4
|
1497 |
+
l2.2-2.4l2.2-2.3l2.2-2.3l2.2-2.3l2.2-2.3l2.2-2.3l2.2-2.3l2.2-2.3l2.2-2.3l2.2-2.3l0.3-0.3l0.3-0.3l0.6-0.7l0.7-0.7l0.7-0.8
|
1498 |
+
l0.7-0.8l0.7-0.8l0.7-0.9l0.7-0.9l1.5-1.8l1.6-1.9l1.6-1.9l0.8-1l0.8-1l0.8-1l0.8-1l0.8-0.9l0.8-0.9l0.8-0.9l0.4-0.4l0.4-0.4
|
1499 |
+
l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3
|
1500 |
+
l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.2l0.4-0.2l0.4-0.1h0.5h0.5l0.4,0.1l0.4,0.2l0.4,0.2l0.4,0.3l0.3,0.3l0.2,0.4l0.2,0.4
|
1501 |
+
l0.1,0.4v0.5v0.5l-0.1,0.4l-0.2,0.4l-0.2,0.4l-0.3,0.4l-0.4,0.3l-0.4,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2
|
1502 |
+
l-0.3,0.2l-0.3,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4
|
1503 |
+
l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.8,0.9l-0.8,0.9l-0.8,0.9l-0.8,0.9l-0.8,0.9l-0.8,0.9l-0.8,1l-1.6,1.9l-1.6,1.9l-1.5,1.9l-0.8,0.9
|
1504 |
+
l-0.7,0.9l-0.7,0.9l-0.7,0.8l-0.7,0.8l-0.7,0.8l-0.7,0.7l-0.3,0.4l-0.3,0.3l-2.2,2.2l-2.2,2.3l-2.2,2.3l-2.2,2.3l-2.2,2.3
|
1505 |
+
l-2.2,2.3l-2.2,2.3l-2.2,2.3l-2.2,2.3l-2.2,2.3l-2.2,2.4l-2.2,2.4l-2.1,2.4l-2.1,2.4l-2.1,2.4l-2.1,2.4l-2.1,2.4l-2.1,2.4
|
1506 |
+
l-2.1,2.4l-2.1,2.4l-2,2.5l-2,2.5l-2,2.5l-2,2.5l-2,2.5l-1,1.2l-1,1.3l-1,1.3l-1,1.3l-1,1.3l-1,1.3l-1,1.3l-1,1.3l-1,1.3l-1,1.3
|
1507 |
+
l-0.9,1.3l-0.9,1.3l-0.9,1.3l-0.9,1.3l-3.3,4.6l-3.3,4.6l-1.7,2.3l-1.7,2.3l-1.7,2.3l-1.7,2.3l-1.7,2.3l-1.7,2.3l-1.7,2.3
|
1508 |
+
l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.9,1.1l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
1509 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.4,0.8l-0.2,0.4
|
1510 |
+
l-0.2,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.4,0.4l-0.3,0.4l-0.1,0.1l-0.1,0.1
|
1511 |
+
l-0.1,0.2l-0.1,0.2l-0.2,0.2l-0.2,0.2l-0.4,0.5l-0.4,0.5l-0.4,0.6l-0.3,0.6l-0.3,0.5l-0.3,0.5l-0.1,0.2l-0.1,0.2l-0.2,0.4
|
1512 |
+
l-0.2,0.4l-0.1,0.2l-0.2,0.2l-0.1,0.1l-0.2,0.2l-0.2,0.2l0,0l-0.3,0.2l-0.4,0.2l-0.4,0.1l-0.4,0.1h-0.4l0,0h-0.5l-0.5-0.1
|
1513 |
+
l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.3-0.4l-0.2-0.4l-0.2-0.4l0,0l-0.1-0.4v-0.4v-0.4l0.1-0.4l0,0l0.1-0.4l0.1-0.1L-186.5,1518.6z"
|
1514 |
+
/>
|
1515 |
+
</g>
|
1516 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1517 |
+
<path
|
1518 |
+
d="M-226.1,1292.2l0.1-0.2l0.1-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.9-0.6l0.9-0.6l1-0.7l1.1-0.7
|
1519 |
+
l1.1-0.8l1.2-0.8l1.2-0.9l1.3-0.9l2.7-1.9l2.8-2l2.9-2.1l1.5-1.1l1.5-1.1l1.5-1.1l1.5-1.1l1.6-1.1l1.6-1.1l1.6-1.1l1.6-1l1.6-1
|
1520 |
+
l1.6-1l1.5-1l1.5-1l0.8-0.5l0.8-0.5l0.8-0.4l0.8-0.4l0.7-0.4l0.7-0.4l0.7-0.4l0.7-0.4l0.7-0.4l0.7-0.4l0.7-0.4l0.7-0.3l0.2-0.1
|
1521 |
+
l0.2-0.1l0.2-0.1h0.2h0.2h0.2h0.2h0.2h0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.1,0.2l0.1,0.2
|
1522 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2v0.2v0.2v0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2
|
1523 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.7,0.3l-0.7,0.3l-0.7,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.4
|
1524 |
+
l-0.7,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.4l-1.5,0.9l-1.5,1l-1.5,1l-1.5,1l-1.5,1l-1.5,1l-1.5,1.1l-1.5,1.1l-1.5,1.1l-1.5,1.1
|
1525 |
+
l-1.5,1.1l-1.5,1.1l-2.9,2.1l-2.8,2l-2.7,1.9l-1.3,0.9l-1.2,0.9l-1.2,0.8l-1.1,0.8l-1.1,0.7l-1,0.7l-1,0.6l-0.9,0.6l-0.2,0.1
|
1526 |
+
l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1
|
1527 |
+
l-0.2-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2l0.1-0.2l0.1-0.2
|
1528 |
+
L-226.1,1292.2z"
|
1529 |
+
/>
|
1530 |
+
</g>
|
1531 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1532 |
+
<path
|
1533 |
+
d="M-223.1,1301.8l0.2-0.4l0.3-0.3l0.3-0.3l0.4-0.2l0.4-0.2l0.4-0.1h0.4h0.4l0.4,0.1l0.4,0.1l0.5,0.1l0.5,0.1
|
1534 |
+
l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.3l1,0.5l1,0.6l1,0.6
|
1535 |
+
l1,0.6l1,0.6l1,0.6l1,0.6l1,0.6l1,0.7l1,0.7l1,0.7l1,0.7l2,1.3l1.9,1.3l1.8,1.2l1.7,1.1l0.8,0.5l0.8,0.5l0.8,0.5l0.7,0.4l1.9,1.1
|
1536 |
+
l1.9,1.1l1.8,1.1l1.8,1.1l1.8,1.1l1.8,1.1l1.8,1.1l1.8,1.1l1.7,1.1l1.7,1.1l1.7,1.1l1.7,1.1l1.7,1.1l1.7,1.1l1.7,1.1l1.7,1.1
|
1537 |
+
l1.7,1.2l1.7,1.2l1.7,1.2l1.7,1.2l1.7,1.2l1.6,1.2l1.7,1.2l1.6,1.2l1.7,1.3l1.7,1.3l1.7,1.3l1.7,1.3l1.7,1.3l1.7,1.4l1.7,1.4
|
1538 |
+
l1.7,1.4l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.6,0.5l0.7,0.5l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4
|
1539 |
+
l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l1.4,0.8l1.4,0.8l1.4,0.8l1.4,0.8l1.4,0.8l1.4,0.8l1.4,0.8l2.8,1.6l2.8,1.5l2.8,1.6l1.4,0.8
|
1540 |
+
l1.4,0.8l1.4,0.8l1.4,0.8l1.4,0.8l1.4,0.8l1.4,0.8l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.8,0.5l0.7,0.5l0.7,0.5
|
1541 |
+
l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l1.3,1l1.2,1l1.2,1l1.2,1l1.2,0.9l0.6,0.5l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4
|
1542 |
+
l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.7,0.4l0.4,0.2l0.3,0.3l0.3,0.3l0.2,0.4l0.2,0.4l0.1,0.4l0.1,0.4v0.4
|
1543 |
+
l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.3,0.4l-0.3,0.3l-0.4,0.3l-0.4,0.2l-0.4,0.1l-0.4,0.1h-0.4h-0.4l-0.4-0.1l-0.4-0.2l-0.8-0.4
|
1544 |
+
l-0.8-0.4l-0.8-0.4l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5l-1.2-1
|
1545 |
+
l-1.2-1l-1.2-1l-1.2-1l-1.2-1l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.6-0.4l-0.6-0.4
|
1546 |
+
l-0.6-0.4l-0.6-0.4l-0.6-0.4l-0.7-0.4l-1.3-0.8l-1.3-0.8l-1.3-0.8l-1.4-0.8l-1.4-0.8l-1.4-0.8l-1.4-0.8l-2.8-1.5l-2.8-1.6
|
1547 |
+
l-2.9-1.6l-1.4-0.8l-1.4-0.8l-1.4-0.8l-1.4-0.8l-1.4-0.8l-1.4-0.9l-1.4-0.9l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.7-0.5
|
1548 |
+
l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.6-0.5
|
1549 |
+
l-1.7-1.4l-1.7-1.4l-1.6-1.3l-1.6-1.3l-1.6-1.3l-1.6-1.3l-1.6-1.3l-1.6-1.2l-1.6-1.2l-1.6-1.2l-1.6-1.2l-1.6-1.2l-1.6-1.2
|
1550 |
+
l-1.6-1.2l-1.6-1.1l-1.6-1.1l-1.6-1.1l-1.6-1.1l-1.7-1.1l-1.7-1.1l-1.7-1.1l-1.7-1.1l-1.7-1.1l-1.7-1.1l-1.7-1.1l-1.7-1.1
|
1551 |
+
l-1.8-1.1l-1.8-1.1l-1.8-1.1l-1.8-1.1l-1.8-1.1l-1.9-1.1l-0.8-0.5l-0.8-0.5l-0.8-0.5l-0.9-0.6l-1.8-1.2l-1.8-1.2l-1.9-1.3l-2-1.3
|
1552 |
+
l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.5l-0.9-0.5l-0.9-0.5l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2
|
1553 |
+
l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.3-0.1l-0.4-0.1l-0.4-0.1
|
1554 |
+
l-0.4-0.2l-0.4-0.3l-0.3-0.3l-0.3-0.4l-0.2-0.4l-0.1-0.4l-0.1-0.4v-0.4v-0.4l0.1-0.4L-223.1,1301.8z"
|
1555 |
+
/>
|
1556 |
+
</g>
|
1557 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1558 |
+
<path
|
1559 |
+
d="M-183.5,1261.5l0.2-0.3l0.3-0.3l0.3-0.3l0.4-0.2l0.4-0.2l0.4-0.1h0.1l0.2-0.1l0.3-0.1l0.4-0.1l0.3-0.1h0.2
|
1560 |
+
h0.3h0.1h0.3h0.1l0.4,0.1h0.1l0.2,0.1l0.2,0.1h0.1l0.3,0.1l0.5,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.4l0.6,0.4l0.6,0.4
|
1561 |
+
l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.5,0.4l0.5,0.4l1.3,1.1l1.3,1.1l1.3,1.1l1.3,1.1l2.6,2.3l2.6,2.2l1.3,1.1
|
1562 |
+
l1.3,1.1l1.3,1.1l1.3,1.1l1.3,1.1l0.6,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l2.2,1.6l2.2,1.6l2.2,1.6l2.2,1.6l2.2,1.7
|
1563 |
+
l2.2,1.7l4.3,3.3l4.3,3.3l4.3,3.3l4.3,3.4l4.3,3.3l4.3,3.3l4.3,3.3l2.2,1.7l2.2,1.6l2.2,1.6l2.2,1.6l2.2,1.6l2.2,1.6l2.2,1.6
|
1564 |
+
l2.2,1.6l2.2,1.6l2.2,1.6l2.2,1.6l2.2,1.6l0.3,0.2l0.4,0.3l0.7,0.6l0.8,0.6l0.8,0.6l0.8,0.7l0.8,0.7l1.7,1.5l1.8,1.5l0.9,0.8
|
1565 |
+
l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.3l0.5,0.3l0.5,0.3l0.5,0.3l0.5,0.3l0.5,0.3l0.5,0.3l0.5,0.3
|
1566 |
+
l0.5,0.3l0.5,0.3l0.5,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1h0.2
|
1567 |
+
h0.2h0.2h0.2h0.1h0.1h0.1h0.2h0.4l0.4,0.1l0.4,0.2l0.4,0.2l0.3,0.3l0.3,0.3l0.2,0.3l0.2,0.4l0.1,0.4l0.1,0.4v0.4v0.4l-0.1,0.4
|
1568 |
+
l-0.2,0.4l-0.2,0.4l-0.3,0.3l-0.3,0.3l-0.3,0.2l-0.4,0.2l-0.4,0.1l-0.4,0.1H-50h-0.2h-0.3h-0.3h-0.3h-0.3h-0.3H-52h-0.3l-0.5-0.1
|
1569 |
+
l-0.6-0.1l-0.6-0.1l-0.5-0.2l-0.6-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3
|
1570 |
+
l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-1.1-0.8l-1-0.8
|
1571 |
+
l-1-0.8l-1-0.8l-1-0.8l-1-0.8l-1-0.8l-1.8-1.6l-1.7-1.5l-0.8-0.7l-0.8-0.6l-0.7-0.6l-0.7-0.6l-0.7-0.5l-0.3-0.2l-0.3-0.2
|
1572 |
+
l-2.2-1.6l-2.2-1.6l-2.2-1.6l-2.2-1.6l-2.2-1.6l-2.2-1.6l-2.2-1.6l-2.2-1.6l-2.2-1.6l-2.2-1.6l-2.2-1.7l-2.2-1.7l-4.3-3.3
|
1573 |
+
l-4.3-3.3l-4.3-3.3l-4.3-3.4l-4.3-3.3l-4.3-3.3l-4.3-3.3l-2.1-1.6l-2.2-1.6l-2.1-1.6l-2.1-1.6l-2.2-1.6l-2.2-1.6l-0.7-0.5
|
1574 |
+
l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-1.3-1.1l-1.3-1.1l-1.3-1.1l-1.3-1.1l-1.3-1.1l-2.6-2.2l-2.6-2.2l-1.3-1.1
|
1575 |
+
l-1.3-1.1l-1.3-1.1l-1.3-1.1l-0.4-0.3l-0.4-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.4l-0.6-0.4l-0.6-0.3l-0.6-0.3l-0.6-0.3
|
1576 |
+
l-0.6-0.3l-0.6-0.3l-0.5-0.3l-0.4-0.2l-0.2,0.1l-0.3,0.1l0,0h-0.2h-0.2l0,0h-0.3h-0.3l0,0l-0.4-0.1l-0.4-0.1l-0.3-0.2l0,0
|
1577 |
+
l-0.3-0.2l-0.3-0.2l-0.2-0.3l-0.2-0.3l0,0l-0.2-0.4l-0.1-0.4l-0.1-0.4l0,0v-0.4v-0.4l0,0v-0.2v-0.2l0,0l0.1-0.4L-183.5,1261.5z
|
1578 |
+
M-178.1,1263.7v-0.2v-0.2V1263.7z M-178,1263.2v-0.2v-0.1V1263.2z"
|
1579 |
+
/>
|
1580 |
+
</g>
|
1581 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1582 |
+
<path
|
1583 |
+
d="M-82.3,1264.1l0.1-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.3-0.1l0.2-0.1l0.3-0.1
|
1584 |
+
l0.3-0.1h0.3h0.3h0.3h0.3l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.3,0.3l0.3,0.3l0.3,0.3
|
1585 |
+
l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.3,0.5l0.3,0.5l0.3,0.5l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.1l0.1,0.1l0.1,0.1
|
1586 |
+
l0.1,0.1l0,0l0,0l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.5l0.7,0.6l0.7,0.6l0.7,0.6l0.6,0.6l0.6,0.6l0.6,0.6l0.6,0.6
|
1587 |
+
l0.6,0.6l1.2,1.2l1.2,1.2l1.2,1.2l1.2,1.2l1.2,1.2l1.2,1.2l1.2,1.2l2.4,2.4l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.4l0.5,0.4
|
1588 |
+
l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l1.2,0.8l1.2,0.8l1.2,0.8l1.2,0.8l1.2,0.8
|
1589 |
+
l1.2,0.8l2.3,1.5l0.3,0.2l0.4,0.2l0.9,0.6l0.5,0.3l0.6,0.3l0.6,0.4l0.6,0.4l0.6,0.4l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2
|
1590 |
+
l0.3,0.2l0.3,0.2l0.3,0.3l0.3,0.3l0.3,0.3l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.2l0.1,0.3v0.1v0.1v0.1v0.1v0.2v0.2v0.1v0.3v0.3v0.3
|
1591 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.2l-0.1,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.3,0.1l-0.3,0.1h-0.3
|
1592 |
+
h-0.3H-30h-0.3l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.1
|
1593 |
+
l0,0l-0.1-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-1-0.6l-0.4-0.3
|
1594 |
+
l-0.4-0.2l-2.3-1.5l-1.2-0.8l-1.2-0.8l-1.2-0.8l-1.2-0.8l-1.2-0.8l-1.2-0.9l-0.6-0.4l-0.6-0.4l-0.6-0.4l-0.6-0.5l-0.6-0.5
|
1595 |
+
l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.5-0.5l-0.5-0.5l-0.5-0.5l-0.5-0.5l-2.4-2.4l-1.2-1.2
|
1596 |
+
l-1.2-1.2l-1.2-1.2l-1.2-1.2l-1.2-1.1l-1.2-1.1l-1.2-1.1l-0.6-0.5l-0.6-0.6l-0.6-0.6l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5
|
1597 |
+
l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.6-0.5l-0.7-0.5l-0.2-0.1l-0.2-0.2l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.2-0.3
|
1598 |
+
l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.3-0.5l-0.3-0.5l-0.3-0.4l-0.1-0.2l-0.1-0.2l0,0h-0.1H-80h-0.3l-0.3-0.1
|
1599 |
+
l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.3l-0.1-0.3v-0.3v-0.3v-0.3
|
1600 |
+
v-0.3l0.1-0.3l0.1-0.2L-82.3,1264.1z M-33,1307.9L-33,1307.9L-33,1307.9L-33,1307.9z"
|
1601 |
+
/>
|
1602 |
+
</g>
|
1603 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1604 |
+
<path
|
1605 |
+
d="M-214.8,1340L-214.8,1340l0.2-0.3l0.1-0.2l0,0l0.2-0.2l0,0l0.3-0.3l0,0l0.3-0.2l0,0l0.3-0.2l0,0l0.3-0.1l0,0
|
1606 |
+
l0.2-0.1h0.2h0.1h0.3h0.3h0.1h0.2h0.2h0.1l0.3,0.1h0.1l0.2,0.1l0.2,0.1l0.3,0.2l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2
|
1607 |
+
l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.5l0.9,0.9l0.9,1l0.5,0.5l0.5,0.5l0.5,0.5l0.5,0.4l0.4,0.4l0.4,0.4l0.4,0.4
|
1608 |
+
l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.5,0.3l0.5,0.3l0.5,0.3l0.5,0.3l1.1,0.6
|
1609 |
+
l1.1,0.6l1.1,0.6l1,0.6l1,0.6l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1.9,1.5l1.9,1.5
|
1610 |
+
l1.9,1.5l1.9,1.5l1.9,1.5l1.8,1.4l3.7,2.9l3.7,2.9l3.7,2.9l3.7,2.9l3.7,3l3.7,3l3.7,3l3.7,3l3.7,3l3.7,3l3.7,3l3.6,3l3.6,3l3.6,3
|
1611 |
+
l3.6,3.1l3.6,3.1l0.2,0.2l0.2,0.2l0.2,0.2l0.3,0.2l0.6,0.4l0.6,0.4l0.6,0.4l0.7,0.4l0.7,0.5l0.7,0.5l1.5,1l1.5,1l1.6,1l0.8,0.5
|
1612 |
+
l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.6l0.8,0.6l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3
|
1613 |
+
l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.4l0.3,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.3l0.2,0.4l0.1,0.4
|
1614 |
+
l0.1,0.4v0.4l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.2,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.2l-0.4,0.2l-0.4,0.1l-0.4,0.1h-0.4H-91l-0.4-0.1
|
1615 |
+
l-0.4-0.1l-0.4-0.2l-0.3-0.2l-0.3-0.3l-0.3-0.3l-0.2-0.3l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2
|
1616 |
+
l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.3l-0.3-0.2l-0.3-0.3l-0.3-0.2
|
1617 |
+
l-0.3-0.3l-0.3-0.2l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.8-0.5l-0.8-0.5l-0.8-0.5l-1.5-1l-1.5-1l-1.5-1l-0.7-0.5l-0.7-0.5
|
1618 |
+
l-0.7-0.5l-0.7-0.5l-0.7-0.5l-0.6-0.5l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-3.6-3.1l-3.6-3l-3.6-3l-3.6-3l-3.6-3l-3.6-3l-3.6-3
|
1619 |
+
l-3.7-3l-3.7-3l-3.7-3l-3.7-3l-3.7-2.9l-3.7-2.9l-3.7-2.9l-3.7-2.9l-3.7-2.9l-1.8-1.4l-1.9-1.5l-1.9-1.5l-1.9-1.5l-1.9-1.5
|
1620 |
+
l-1.9-1.5l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.6l-1-0.6l-1-0.6l-1-0.6l-1-0.6
|
1621 |
+
l-1-0.6l-1-0.5l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.3-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2
|
1622 |
+
l-0.3-0.2l-0.3-0.2l-0.5-0.4l-0.5-0.5l-0.5-0.5l-0.5-0.5l-0.5-0.5l-0.5-0.5l-0.5-0.5l-0.9-1l-0.9-0.9l-0.4-0.4l-0.4-0.4l-0.4-0.4
|
1623 |
+
l-0.3-0.3h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.3-0.2l-0.3-0.3l-0.3-0.3l-0.2-0.3l-0.2-0.4l-0.1-0.4l-0.1-0.4v-0.4v-0.3v-0.3
|
1624 |
+
l0.1-0.3v-0.1l0.1-0.4v-0.1l0.1-0.2L-214.8,1340z"
|
1625 |
+
/>
|
1626 |
+
</g>
|
1627 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1628 |
+
<path
|
1629 |
+
d="M-204.5,1408.5l0.2-0.3l0.2-0.3l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1h0.4h0.4h0.4l0.3,0.1l0.3,0.1
|
1630 |
+
l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3
|
1631 |
+
l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.8,0.8l0.9,0.8l0.9,0.8l0.9,0.8
|
1632 |
+
l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1.1,0.8l2.1,1.6l2.1,1.6l2.1,1.6l1,0.8l1,0.8l1,0.8l0.9,0.8l0.9,0.8l0.9,0.7l3.8,3.3l3.9,3.3
|
1633 |
+
l1.9,1.7l2,1.7l2,1.7l2,1.7l2,1.7l2,1.7l2,1.7l2,1.6l2,1.6l2,1.6l2,1.6l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8l1,0.8
|
1634 |
+
l1,0.8l1,0.8l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.7l1.1,0.6
|
1635 |
+
l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l1.1,0.6l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.3l0.2,0.3l0.1,0.3
|
1636 |
+
l0.1,0.3l0.1,0.4v0.4v0.4l-0.1,0.4l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.4,0.1
|
1637 |
+
h-0.4h-0.4l-0.4-0.1l-0.3-0.1l-0.3-0.1l-1.1-0.6l-1.1-0.6l-1.1-0.6l-1.1-0.6l-1.1-0.6l-1.1-0.6l-1.1-0.6l-1.1-0.7l-1.1-0.7
|
1638 |
+
l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.7l-1.1-0.8
|
1639 |
+
l-1.1-0.8l-1.1-0.8l-1.1-0.8l-1.1-0.8l-1.1-0.8l-1.1-0.8l-1.1-0.8l-1.1-0.8l-1.1-0.8l-1-0.8l-1-0.8l-1-0.8l-2.1-1.6l-2.1-1.6
|
1640 |
+
l-2-1.7l-2-1.7l-2-1.7l-2-1.7l-2-1.7l-2-1.7l-2-1.7l-2-1.7l-2-1.7l-3.9-3.3l-3.8-3.3l-0.8-0.7l-0.9-0.7l-0.9-0.7l-0.9-0.8l-1-0.8
|
1641 |
+
l-1-0.8l-2.1-1.6l-2.1-1.6l-2.1-1.6l-1.1-0.8l-1.1-0.8l-1.1-0.8l-1-0.8l-1-0.8l-1-0.8l-1-0.8l-1-0.8l-0.9-0.8l-0.9-0.8l-0.4-0.4
|
1642 |
+
l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4
|
1643 |
+
l-0.3-0.4l-0.3-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.1-0.3l-0.1-0.3v-0.4v-0.4v-0.4l0.1-0.3l0.1-0.3L-204.5,1408.5z"
|
1644 |
+
/>
|
1645 |
+
</g>
|
1646 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1647 |
+
<path
|
1648 |
+
d="M-196.1,1467.1l0.1-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0,0l0.2-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.3
|
1649 |
+
h0.3h0.3l0,0l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.1,0.1l0.2,0.2l0.3,0.4l0.4,0.4l0.4,0.5
|
1650 |
+
l0.5,0.5l1,1.1l0.9,1l0.7,0.7l0.2,0.2l0.1,0.1l0.4,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.5,0.4l0.9,0.7l0.9,0.7
|
1651 |
+
l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l1,0.7l2,1.4l2.1,1.4l0.9,0.6l0.9,0.6l0.9,0.6l0.9,0.6l0.9,0.5l0.9,0.5l0.9,0.5l0.9,0.5l0.9,0.5
|
1652 |
+
l0.9,0.5l0.9,0.5l0.9,0.5l1.8,1l1.8,1l1.9,1l1.9,1l1.9,1l1.9,1l1.9,1l1.9,1l0.9,0.5l0.9,0.5l0.9,0.5l1,0.5l0.5,0.3l0.6,0.3
|
1653 |
+
l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l1.2,0.8l1.2,0.9l1.2,0.9l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4l0.6,0.4
|
1654 |
+
l0.6,0.3l0.6,0.3l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
1655 |
+
l0.2,0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.3l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.1,0.3l0.1,0.3
|
1656 |
+
l0.1,0.3v0.3v0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1
|
1657 |
+
l-0.3,0.1h-0.3h-0.3h-0.3h-0.4h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1
|
1658 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.3-0.2l-0.4-0.2l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.7-0.4
|
1659 |
+
l-0.7-0.4l-0.7-0.4l-0.7-0.4l-0.6-0.4l-1.3-0.9l-1.2-0.9l-1.2-0.8l-0.5-0.4l-0.5-0.4l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.4-0.3
|
1660 |
+
l-0.9-0.5l-0.9-0.5l-0.9-0.5l-0.9-0.5l-1.9-1l-1.9-1l-1.9-1l-1.9-1l-1.9-1l-1.9-1l-1.9-1l-1.9-1l-0.9-0.5l-0.9-0.5l-0.9-0.5
|
1661 |
+
l-0.9-0.5l-0.9-0.5l-0.9-0.5l-0.9-0.6l-0.9-0.6l-0.9-0.6l-0.9-0.6l-0.9-0.6l-0.9-0.6l-2.1-1.4l-2-1.4l-1-0.7l-1-0.7l-1-0.7
|
1662 |
+
l-1-0.7l-1-0.7l-1-0.7l-1-0.7l-1-0.8l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.5l-0.2-0.2
|
1663 |
+
l-0.3-0.3l-0.8-0.8l-0.9-1l-1-1.1l-0.5-0.6l-0.5-0.5l-0.4-0.5l-0.4-0.5l-0.3-0.4l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.2-0.3v-0.1
|
1664 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.3v-0.3v-0.3v-0.3l0,0l0.1-0.3l0.1-0.3L-196.1,1467.1z"
|
1665 |
+
/>
|
1666 |
+
</g>
|
1667 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1668 |
+
<path
|
1669 |
+
fill="#DACEB3"
|
1670 |
+
d="M-197.1,1289.5l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.1-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2
|
1671 |
+
l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.3-0.2l0.2-0.1l0.3-0.1h0.1l0.1-0.1h0.1h0.1h0.2h0.2h0.1h0.3h0.1h0.2h0.2h0.1h0.3h0.1h0.3h0.1
|
1672 |
+
l0.3,0.1l0.2,0.1l0.3,0.1l0.2,0.1l0,0l0.2-0.3l0.2-0.3l0.3-0.3l0.3-0.3l0.2-0.2l0.2-0.1l0.2-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1
|
1673 |
+
l0.2-0.1l0,0l0.2-0.1l0.2-0.1l0,0h0.2h0.2l0,0h0.2h0.2l0,0h0.2h0.2l0,0h0.2h0.2l0,0l0.2,0.1l0.2,0.1h0.1l0.2,0.1l0.2,0.1l0.1,0.1
|
1674 |
+
l0.2,0.2l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.3,0.5l0.3,0.6l0.3,0.6l0.4,0.6l0.4,0.7
|
1675 |
+
l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.3,0.7l0.2,0.3l0.2,0.1l0.3,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.1,0.3
|
1676 |
+
l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.3v0.3v0.2l0.2,0.4l0.2,0.5l0.2,0.5l0.1,0.5l0.1,0.4l0.1,0.3v0.2l0.1,0.8
|
1677 |
+
l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,1.5l0.1,1.5l0.1,1.5l0.1,1.5l0.1,1.6v1.6v1.6v1.6v1.6v1.6v1.6v0.7l0,0l0.2,0.2
|
1678 |
+
l0.2,0.2l0,0l0.2,0.2l0.2,0.2l0,0l0.1,0.2l0.1,0.2l0,0l0.1,0.2l0.1,0.2v0.1v0.2v0.2v0.2l0.1,0.6v0.5v0.5v0.5v0.5v0.5v0.5v0.5v0.5
|
1679 |
+
v0.5v0.5v0.1v0.2v0.5v0.5v0.5v0.5v0.5v0.5l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.8
|
1680 |
+
l-0.2,0.8l-0.2,0.8l-0.2,0.8l-0.1,0.3l-0.2,0.7l-0.1,2l-0.1,3l-0.1,3v0.4v0.5v1.1v1.3v1.5v0.8v0.8v0.8v0.9v0.9v0.9l-0.1,0.9
|
1681 |
+
l-0.1,0.9l-0.1,0.9l-0.1,0.9l-0.1,0.5l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4
|
1682 |
+
l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.3,0.3l-0.3,0.3
|
1683 |
+
l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.3,0.1l-0.3,0.1h-0.3
|
1684 |
+
h-0.3h-0.3h-0.3h-0.3h-0.3l-0.3-0.1l-0.3-0.1h-0.1l-0.2,0.1l0,0l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.3h-0.3h-0.3h-0.3l-0.3-0.1l0,0
|
1685 |
+
l-0.3-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l0,0l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.2l-0.1-0.2v-0.2
|
1686 |
+
v-0.3v-0.2l-0.1-0.4v-0.5v-0.6v-0.7v-0.8l-0.1-1.7l0,0v-0.1l-0.3-0.6l-0.3-0.7l-0.3-0.7l-0.3-0.8l-0.3-0.8l-0.3-0.9l-0.3-0.9
|
1687 |
+
l-0.3-0.9l-0.3-0.9l-0.6-1.8l-0.6-1.8l-0.5-1.7l-0.5-1.6l-0.8-2.5v-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2
|
1688 |
+
v-0.2l-0.1-0.3l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.1-0.8l-0.1-0.8
|
1689 |
+
l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.6l-0.1-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.3
|
1690 |
+
l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.2-0.5l-0.2-0.5l-0.2-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6
|
1691 |
+
l-0.1-0.6l-0.1-0.6l-0.1-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.5v-0.1v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6
|
1692 |
+
v-0.6v-0.6v-0.6l0.1-1.2l0.1-1.2l0.1-1.2l0.1-1.2l0.1-1.2l0.1-1.2l0.2-1.2l0.2-1.2l0.2-1.2l0.2-1.2l0.2-1.2l0.4-2.3l0.4-2.3
|
1693 |
+
l0.1-0.5l0.1-0.5l0.2-1.3l0.1-0.7l0.1-0.7l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4L-197.1,1289.5l0-0.4l0.2-0.4
|
1694 |
+
L-197.1,1289.5z M-184.6,1294.6L-184.6,1294.6v-0.2l-0.1-0.3L-184.6,1294.6z"
|
1695 |
+
/>
|
1696 |
+
</g>
|
1697 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1698 |
+
<path
|
1699 |
+
fill="#DACEB3"
|
1700 |
+
d="M-182,1397.3L-182,1397.3L-182,1397.3l0.2-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0,0v-0.3
|
1701 |
+
v-0.1v-0.1v-0.1l0,0v-0.2v-0.2v-0.1v-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0,0l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
1702 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1h0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.1h0.2h0.1l0.1,0.1l0.1,0.1
|
1703 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1
|
1704 |
+
v0.1v0.1v0.2v0.4v0.4v0.5l0.1,1.3v0.7h0.1h0.1h0.1h0.1l0,0h0.1h0.1h0.1h0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1
|
1705 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1v0.1v0.1v0.1v0.1
|
1706 |
+
v0.1v0.1v0.1v0.1v0.2v0.2v0.1v0.1v0.3v0.4l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.6l-0.2,0.6l-0.1,0.3v0.1v0.5v0.5v0.6v0.6
|
1707 |
+
v0.6v0.6v0.6v0.6v0.6v0.6v0.6v0.6v0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.3l-0.1,0.3l-0.1,0.3
|
1708 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.1,0.2l-0.2,0.2l-0.2,0.2l-0.1,0.1
|
1709 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l0,0l-0.1,0.1l-0.1,0.1l-0.1,0.1l0,0h-0.1h-0.1h-0.1l0,0h-0.1h-0.1
|
1710 |
+
h-0.1h-0.1l0,0h-0.1h-0.1h-0.1h-0.1l0,0h-0.2h-0.2h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l0,0h-0.1h-0.1h-0.1h-0.1l-0.1-0.1
|
1711 |
+
l-0.1-0.1l-0.1-0.1l0,0l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l0,0l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l0,0
|
1712 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.3l-0.1-0.3l-0.1-0.4l-0.1-0.4v-0.2l0,0l-0.2-0.4l-0.2-0.4l-0.1-0.4l-0.1-0.4
|
1713 |
+
l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4v-0.4v-0.4v-0.4v-0.4v-0.4v-0.4v-0.4v-0.4v-0.4v-0.4v-0.4l0.1-0.8l0.1-0.8l0.1-0.9l0.1-0.6
|
1714 |
+
v-0.1v-0.5v-0.6v-0.6v-0.4v-0.6v-0.8v-0.8v-0.8v-0.8v-0.4v-0.4v-0.4v-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.3v-0.1
|
1715 |
+
v-0.1v-0.1l0.1-0.1L-182,1397.3z"
|
1716 |
+
/>
|
1717 |
+
</g>
|
1718 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1719 |
+
<path
|
1720 |
+
fill="#DACEB3"
|
1721 |
+
d="M-240.6,1222l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
1722 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.2-0.1l0.4-0.2l0.4-0.2l0.3-0.1l0.5-0.2l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.2-0.1l0,0l0.1-0.1l0.1-0.1
|
1723 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.2-0.2l0.1-0.1l0.1-0.1l0.1-0.1h0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.4-0.1l0.4-0.1
|
1724 |
+
h0.4h0.3h0.3h0.3h0.3h0.3h0.3l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.5,0.1l0.5,0.1l0.8,0.2h0.2h0.1l0.4,0.1l0.5,0.1l0.5,0.1l0.5,0.1
|
1725 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.2l0.5,0.2l0.5,0.2h0.1l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3
|
1726 |
+
l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l1.5,0.7l1.5,0.7l1.5,0.7l1.5,0.7l1.4,0.7l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3l0.7,0.3
|
1727 |
+
l0.7,0.3l0.7,0.2l0.7,0.2l0.7,0.2l0.7,0.2l0.7,0.2l0.7,0.2l0.3,0.1l0.4,0.1l0.3,0.1h0.2h0.2h0.4h0.5h0.5h0.5h0.5l0.5,0.1l1,0.1
|
1728 |
+
l0.5,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.2,0.1h0.1l0.2,0.1l0.2,0.1l0,0l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0,0
|
1729 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2v0.2v0.2v0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l0,0l-0.1,0.2l-0.1,0.2l-0.2,0.2
|
1730 |
+
l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l0,0l-0.2,0.1h-0.2h-0.2h-0.1h-0.1h-0.1h-0.2l0,0l0.1,0.2l0.1,0.2v0.2
|
1731 |
+
l0,0v0.2v0.2l0,0v0.2v0.2l0,0v0.2l-0.1,0.2l0,0l-0.1,0.2l-0.1,0.2l-0.1,0.2l0,0l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l0,0
|
1732 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1l-0.2,0.1l-0.2,0.1h-0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.3,0.1l-0.3,0.1h-0.3h-0.3l-0.5,0.1h-0.5
|
1733 |
+
h-0.5h-0.5h-0.5h-0.5h-0.6h-0.6h-0.6h-0.6h-0.6l-1.1-0.1l-1.1-0.1l-1-0.1l-0.9-0.1l-0.8-0.1l-0.6-0.1l-0.3-0.1l-0.3-0.1l-0.7-0.2
|
1734 |
+
l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3
|
1735 |
+
l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.4l-0.6-0.3l-0.7-0.1l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-2.5-0.4l-2.5-0.4
|
1736 |
+
l-2.5-0.4l-2.5-0.5h-0.1h-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.2l-0.3-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2
|
1737 |
+
l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2
|
1738 |
+
l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.1-0.3l-0.1-0.2v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.2v-0.2v-0.1v-0.2
|
1739 |
+
v-0.2v-0.1v-0.2l0.1-0.2v-0.1l0.1-0.2l0.1-0.2L-240.6,1222z"
|
1740 |
+
/>
|
1741 |
+
</g>
|
1742 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1743 |
+
<path
|
1744 |
+
d="M-236.9,1244.6l0.5-0.8l0.6-0.7l0.7-0.6l0.8-0.4l0.9-0.3l0.9-0.2h0.9l0.9,0.1l0.9,0.3l0.8,0.4l0.8,0.5
|
1745 |
+
l0.7,0.6l0.1,0.1l0.5,0.6l0.1,0.1l0.4,0.6v0.1l0.3,0.7v0.1l0.2,0.8v0.1l0.1,0.6v0.1v0.7v0.1v0.5v0.3l-0.1,0.5l-0.1,0.5l-0.1,0.4
|
1746 |
+
l-0.1,0.4l-0.2,0.5l-0.2,0.5l-0.1,0.2v0.1v0.4v0.4v0.3l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.3,1.6l0.3,1.6
|
1747 |
+
l0.3,1.6l0.3,1.5l0.3,1.5l0.3,1.5l0.3,1.5l0.3,1.5l0.3,1.5l0.6,2.9l0.6,2.9l0.6,2.9l1.2,5.9l0.6,3l0.6,3l0.6,3l0.3,1.5l0.3,1.5
|
1748 |
+
l0.3,1.5l0.3,1.5l0.3,1.5l0.3,1.5l0.2,1.5l0.2,1.6l0.2,1.6l0.3,2.4l0.1,0.8l0.1,0.9l0.1,0.8l0.3,1.7l0.3,1.7l0.3,1.7l0.3,1.7
|
1749 |
+
l0.3,1.7l0.4,1.7l0.4,1.7l0.4,1.7l0.4,1.7l0.4,1.7l0.8,3.5l0.8,3.5l0.8,3.5l0.8,3.5l0.4,1.8l0.4,1.8l0.4,1.8l0.4,1.8l0.4,1.8
|
1750 |
+
l0.4,1.8l0.3,1.8l0.3,1.8l0.3,1.8l0.3,1.8l0.1,0.9l0.1,0.9l0.1,0.9l0.1,0.9l0.5,3.8l0.5,3.8l0.6,3.8l0.6,3.8l0.6,3.8l0.6,3.8
|
1751 |
+
l0.6,3.8l0.6,3.8l0.6,3.8l0.6,3.8l0.6,3.8l0.6,3.8l1.3,7.5l1.3,7.5l1.3,7.5l1.3,7.5l2.6,15l1.3,7.5l1.3,7.5l1.3,7.5l1.3,7.5
|
1752 |
+
l0.4,2.6l0.4,2.6l0.4,2.6l0.4,2.6l0.4,2.6l0.4,2.6l0.4,2.6l0.4,2.6l0.7,5.2l0.7,5.2l0.7,5.1l0.7,5.1l0.7,5.1l0.4,2.5l0.4,2.5
|
1753 |
+
l0.4,2.5l0.4,2.5l0.4,2.5l0.4,2.5l0.4,2.5l0.4,2.5l0.4,2.5l0.4,2.5l0.4,2.5l0.5,2.5l0.5,2.5l0.5,2.5v0.2v0.2l0.1,0.2v0.2l0.1,0.4
|
1754 |
+
l0.1,0.4l0.1,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.4l0.2,0.5l0.2,0.5l0.2,0.5l0.5,1l1.1,2.1l0.6,1.1l0.3,0.6
|
1755 |
+
l0.3,0.6l0.3,0.6l0,0l0.2-0.4l0.4-1l0.4-1.1l0.2-0.6l0.2-0.6l0.2-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.4-0.6
|
1756 |
+
l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7l0.5-0.7
|
1757 |
+
l0.5-0.7l0.5-0.7l0.5-0.8l0.5-0.8l0.5-0.8l0.9-1.5l0.9-1.5l0.9-1.6l0.9-1.6l0.9-1.6l0.9-1.6l0.9-1.6l0.9-1.6l1.7-3.3l1.7-3.3
|
1758 |
+
l1.8-3.3l0.9-1.7l0.9-1.7l0.9-1.7l0.9-1.7l0.9-1.7l0.9-1.6l1-1.6l1-1.6l0.5-0.8l0.5-0.8l0.5-0.8l0.5-0.8l0.9-1.4l0.9-1.4l0.9-1.4
|
1759 |
+
l0.8-1.4l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.5l0.8-1.6
|
1760 |
+
l1.5-3.1l3-6.3l1.5-3.2l1.5-3.1l0.8-1.6l0.8-1.6l0.8-1.6l0.8-1.6l1.3-2.7l1.3-2.7l1.3-2.7l1.3-2.7l1.3-2.7l1.3-2.7l1.3-2.7
|
1761 |
+
l1.3-2.7l1.3-2.7l1.3-2.7l1.3-2.7l1.3-2.7l1.2-2.7l1.2-2.7l1.2-2.7l1.2-2.7l2.5-5.5l2.4-5.5l2.4-5.5l2.4-5.5l4.9-11l2.4-5.5
|
1762 |
+
l2.4-5.5l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3.1
|
1763 |
+
l1.4-3.1l1.4-3.1l1.4-3.1l1.4-3l1.4-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.5-3l1.1-2.1
|
1764 |
+
l1.1-2.1l1-2.1l1-2.1l1-2.2l1-2.2l0.5-1.1l0.5-1.1l0.5-1.1l0.5-1.1l0.5-1.1l0.5-1.1l0.5-1.1l0.5-1.1l0.5-1.1l0.4-1.1l0.4-1.1
|
1765 |
+
l0.4-1.1l0.4-1.1l0.4-1.1l0.4-1.1l0.4-1.1l0.4-1.1l0.4-1.1l0.4-1.1l0.4-1.1l0.1-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4
|
1766 |
+
l0.2-0.3l0.2-0.3l0.4-0.6l0.4-0.6l0.6-1l0.3-0.4l0.2-0.4l0.1-0.2l0.1-0.1l0.1-0.1v-0.1l0.1-0.4l0.3-0.9l0.4-0.8l0.5-0.8l0.6-0.7
|
1767 |
+
l0.7-0.6l0.8-0.4l0.9-0.3l0.9-0.2h0.9l0.9,0.1l0.9,0.3l0.8,0.4l0.8,0.5l0.7,0.6l0.6,0.7l0.4,0.8l0.3,0.9l0.2,0.9v0.9v0.4
|
1768 |
+
l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.2,0.5l-0.2,0.5l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.3l-0.2,0.3l-0.4,0.6l-0.4,0.6l-0.7,1
|
1769 |
+
l-0.3,0.4l-0.3,0.4l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1v0.1v0.1l0,0v0.1l-0.4,1.1l-0.4,1.1l-0.4,1.1l-0.4,1.1l-0.4,1.1l-0.4,1.1
|
1770 |
+
l-0.4,1.1l-0.4,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1
|
1771 |
+
l-0.5,1.1l-1,2.2l-1.1,2.2l-1.1,2.2l-1.1,2.2l-1.1,2.2l-1.1,2.1l-1.5,3l-1.5,3l-1.5,3l-1.5,3l-1.5,3l-1.5,3l-1.5,3l-1.5,3l-1.5,3
|
1772 |
+
l-1.5,3l-1.5,3l-1.5,3l-1.4,3l-1.4,3l-1.4,3l-1.4,3l-1.4,3l-1.4,3l-1.4,3l-1.4,3l-1.4,3l-1.4,3.1l-1.4,3.1l-1.4,3.1l-1.4,3.1
|
1773 |
+
l-1.4,3.1l-1.4,3.1l-1.4,3.1l-1.4,3.1l-1.4,3.1l-1.4,3.1l-1.4,3.1l-2.4,5.5l-2.4,5.5l-4.9,11l-2.4,5.5l-2.4,5.5l-2.5,5.5
|
1774 |
+
l-2.5,5.5l-1.2,2.8l-1.2,2.8l-1.3,2.8l-1.3,2.8l-1.3,2.8l-1.3,2.8l-1.3,2.8l-1.3,2.7l-1.3,2.7l-1.3,2.7l-1.3,2.7l-1.3,2.7
|
1775 |
+
l-1.3,2.7l-1.3,2.7l-1.3,2.7l-1.3,2.7l-0.8,1.5l-0.8,1.5l-0.8,1.5l-0.7,1.5l-1.5,3.1l-1.5,3.1l-3,6.3l-1.5,3.2l-0.8,1.6l-0.8,1.6
|
1776 |
+
l-0.8,1.6l-0.8,1.6l-0.8,1.6l-0.8,1.6l-0.8,1.6l-0.8,1.6l-0.8,1.6l-0.8,1.6l-0.8,1.6l-0.9,1.6l-0.9,1.5l-0.9,1.5l-0.9,1.5
|
1777 |
+
l-0.9,1.5l-0.9,1.5l-0.9,1.5l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.9,1.6l-0.9,1.6l-0.9,1.6l-0.9,1.6l-0.9,1.6l-0.9,1.6
|
1778 |
+
l-0.9,1.6l-0.9,1.6l-1.7,3.3l-1.7,3.3l-1.7,3.3l-0.9,1.7l-0.9,1.6l-0.9,1.6l-0.9,1.6l-0.9,1.6l-0.9,1.6l-0.9,1.6l-1,1.6l-0.5,0.8
|
1779 |
+
l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.5,0.8l-0.6,0.8
|
1780 |
+
l-0.6,0.8l-0.5,0.7l-0.1,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4
|
1781 |
+
l-0.2,0.4l-0.2,0.5l-0.2,0.5l-0.4,1l-0.4,1.1l-0.5,1.1l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.4,0.6
|
1782 |
+
l-0.4,0.6l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.4,0.3
|
1783 |
+
l-0.5,0.3l-0.4,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.1l-0.5,0.1l-0.4,0.1h-0.4h-0.4h-0.5h-0.4l-0.5-0.1l-0.4-0.1l-0.6-0.2l-0.5-0.2
|
1784 |
+
l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3
|
1785 |
+
l-0.3-0.3l-0.3-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.4l-0.3-0.4l-0.3-0.5l-0.2-0.5l-0.2-0.7l-0.2-0.5l-0.2-0.5l-0.2-0.5
|
1786 |
+
l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.5-1l-1.1-2.1l-0.6-1.1l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6
|
1787 |
+
l-0.3-0.6l-0.3-0.7l-0.3-0.7l-0.2-0.7l-0.2-0.7l-0.2-0.7l-0.2-0.7l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.5-2.6l-0.5-2.5
|
1788 |
+
l-0.5-2.5l-0.5-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.7-5.1
|
1789 |
+
l-0.7-5.1l-0.7-5.1l-0.7-5.1l-0.7-5.1l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.6l-0.4-2.5l-0.4-2.5l-0.4-2.5l-1.2-7.4
|
1790 |
+
l-1.3-7.4l-1.3-7.5l-1.3-7.5l-2.6-15l-1.3-7.5l-1.3-7.5l-1.3-7.5l-1.3-7.5l-0.6-3.8l-0.6-3.8l-0.6-3.8l-0.6-3.8l-0.6-3.8
|
1791 |
+
l-0.6-3.8l-0.6-3.8l-0.6-3.8l-0.6-3.8l-0.6-3.8l-0.6-3.8l-0.5-3.8l-0.1-0.9l-0.1-0.9l-0.1-0.9l-0.1-0.8l-0.3-1.7l-0.3-1.7
|
1792 |
+
l-0.3-1.7l-0.3-1.7l-0.3-1.7l-0.4-1.7l-0.4-1.7l-0.4-1.7l-0.4-1.7l-0.4-1.7l-0.8-3.5l-0.8-3.5l-0.8-3.5l-0.8-3.5l-0.4-1.8
|
1793 |
+
l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.4-1.8l-0.3-1.8l-0.3-1.8l-0.3-1.8l-0.2-0.9l-0.1-0.9l-0.1-0.9l-0.1-0.9
|
1794 |
+
l-0.2-1.5l-0.2-1.5l-0.2-1.5l-0.2-1.5l-0.2-1.5l-0.3-1.5l-0.3-1.5l-0.3-1.5l-0.3-1.5l-0.3-1.5l-0.6-3l-0.6-2.9l-0.6-2.9l-1.2-5.9
|
1795 |
+
l-0.6-3l-0.6-3l-0.6-3l-0.3-1.5l-0.3-1.5l-0.3-1.5l-0.3-1.5l-0.3-1.5l-0.3-1.5l-0.3-1.6l-0.3-1.6l-0.3-1.7l-0.1-0.9l-0.1-0.9
|
1796 |
+
l-0.1-0.9l-0.1-0.9l-0.1-0.9l-0.1-0.9l-0.1-0.9v-0.5v-0.5v-0.5v-0.5v-0.5v-0.6v-0.5l0.1-0.5l0.1-0.5l0.1-0.4l0.1-0.4l0.1-0.4
|
1797 |
+
l0.2-0.5l0.1-0.2v-0.3l0.1-0.9l0.3-0.9L-236.9,1244.6z M-3,1245.6v0.2l0,0V1245.6L-3,1245.6z M-236.3,1251.3l0.2,0.2l-0.4-0.6
|
1798 |
+
L-236.3,1251.3z"
|
1799 |
+
/>
|
1800 |
+
</g>
|
1801 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1802 |
+
<path
|
1803 |
+
d="M-269.9,1186.4l0.1-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.2l0.2-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2
|
1804 |
+
l0.3-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.3h0.3h0.3h0.3h0.3l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.2
|
1805 |
+
l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3
|
1806 |
+
l0.1,0.3v0.3l0,0v0.3v0.3v0.3v0.3l0,0v0.2v0.2l-0.1,0.2l-0.1,0.3l-0.1,0.4l-0.2,0.4l-0.3,0.9l-0.4,0.9l-0.4,0.9l-0.3,0.8
|
1807 |
+
l-0.1,0.3l-0.1,0.2l-0.2,1.4l-0.1,0.9l-0.1,0.9l-0.1,1l-0.1,1l-0.1,0.5l-0.1,0.5v0.5v0.5v0.5v0.5v0.5v0.5v0.4v0.4v0.4v0.4v0.4
|
1808 |
+
v0.3v0.3v0.3v0.3l0.1,0.2v0.1v0.1v0.1v0.1l0.4,1.1l0.4,1.2l0.5,1.3l0.2,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7
|
1809 |
+
l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7
|
1810 |
+
l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.5,0.7l0.5,0.7l0.5,0.6l0.5,0.6l0.5,0.6l0.5,0.6l0.5,0.6l0.5,0.6l0.5,0.5l0.2,0.3l0.2,0.3
|
1811 |
+
l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2
|
1812 |
+
l0.2,0.2l0.2,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
1813 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.3h0.3h0.3h0.3l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1
|
1814 |
+
l0.3,0.1l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3
|
1815 |
+
l0.1,0.3l0.1,0.3l0.1,0.3v0.3v0.3v0.3v0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
1816 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1
|
1817 |
+
l-0.3,0.1h-0.3h-0.3h1.6h-0.4h-0.5h-0.5h-0.5l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1
|
1818 |
+
l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2
|
1819 |
+
l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3
|
1820 |
+
l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.4l-0.6-0.7l-0.6-0.7l-0.6-0.7l-0.6-0.8l-0.6-0.8l-0.6-0.8
|
1821 |
+
l-0.6-0.8l-0.6-0.8l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.5-0.8l-0.4-0.8l-0.4-0.8
|
1822 |
+
l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.3-0.8l-0.3-0.8l-0.3-0.8l-0.3-0.8l-0.3-0.8
|
1823 |
+
l-0.3-0.8l-0.3-0.7l-0.3-0.7l-0.5-1.4l-0.5-1.4l-0.4-1.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.4l-0.1-0.6l-0.1-0.7l-0.1-0.7
|
1824 |
+
l-0.1-0.7l-0.1-0.7v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6l0.1-0.6l0.1-0.6l0.1-0.6l0.1-0.6l0.1-1.1l0.1-1.1l0.2-1l0.2-1
|
1825 |
+
l0.3-1.8l0.1-0.3l0.1-0.4l0.1-0.5l0.2-0.5l0.2-0.5l0.4-1l0.4-1l0.3-0.9l0.3-0.7v-0.1v-0.2l0.1-0.3l0.1-0.3L-269.9,1186.4z
|
1826 |
+
M-270.5,1188.7v0.6v-0.3V1188.7l0.1-0.3v-0.1L-270.5,1188.7z M-270.4,1187.7L-270.4,1187.7L-270.4,1187.7L-270.4,1187.7z"
|
1827 |
+
/>
|
1828 |
+
</g>
|
1829 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1830 |
+
<path
|
1831 |
+
d="M-5,1240.4l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.3-0.3l0.3-0.3l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2
|
1832 |
+
l0.3-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.3-0.1l0.4-0.1l0.3-0.1l0.3-0.1l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2
|
1833 |
+
l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.3l0.3-0.3l0.3-0.3
|
1834 |
+
l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.3
|
1835 |
+
l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4
|
1836 |
+
l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.5-0.9l0.4-0.9l0.4-0.9l0.4-0.9l0.4-0.9l0.4-0.9l0.4-0.9l0.4-0.9l0.4-0.9
|
1837 |
+
l0.3-0.9l0.3-0.9l0.3-0.9l0.3-0.9l0.3-0.9l0.3-0.9l0.3-1l0.2-0.9l0.2-0.9l0.2-0.9l0.2-0.9l0.2-0.9l0.2-0.9l0.2-0.9l0.1-0.9
|
1838 |
+
l0.1-0.9l0.1-0.9l0.1-0.9l0.1-0.9l0.1-0.9v-0.9v-0.9v-0.9v-0.4v-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.2-0.3l0.2-0.3l0.2-0.3
|
1839 |
+
l0.2-0.3l0.2-0.3l0.3-0.3l0.3-0.3l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.4h0.4h0.4
|
1840 |
+
l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.3l0.3,0.3l0.2,0.3l0.2,0.3l0.2,0.3
|
1841 |
+
l0.2,0.3l0.2,0.3l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4v0.4v0.4v1v1.1v1.1l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.2,1.1
|
1842 |
+
l-0.2,1.1l-0.2,1.1l-0.2,1.1l-0.2,1.1l-0.2,1.1l-0.3,1.1l-0.3,1.1l-0.3,1.1l-0.3,1.1l-0.3,1.1l-0.4,1.1l-0.4,1.1l-0.4,1.1
|
1843 |
+
l-0.4,1.1l-0.4,1.1l-0.4,1.1l-0.4,1.1l-0.5,1.1l-0.5,1.1l-0.5,1.1l-0.5,1l-0.5,1l-0.5,1l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5
|
1844 |
+
l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5l-0.3,0.5
|
1845 |
+
l-0.3,0.5l-0.4,0.5l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4
|
1846 |
+
l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.3l-0.5,0.3l-0.5,0.3
|
1847 |
+
l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.2l-0.5,0.2
|
1848 |
+
l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1H0.8H0.4H0h-0.4l-0.4-0.1
|
1849 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.3l-0.3-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3
|
1850 |
+
l-0.2-0.3l-0.2-0.3l-0.1-0.3l-0.1-0.4l-0.1-0.4l-0.1-0.4v-0.4v-0.4v-0.4v-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4L-5,1240.4z"
|
1851 |
+
/>
|
1852 |
+
</g>
|
1853 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1854 |
+
<path
|
1855 |
+
d="M-271.2,1188.2l0.2-0.4l0.2-0.4l0.1-0.2l0.3-0.4l0.3-0.4l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.3-0.3l0.3-0.3
|
1856 |
+
l0.3-0.3l0.3-0.3l0.3-0.3l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.6-0.3l0.6-0.3l0.7-0.3l0.6-0.3l0.6-0.3
|
1857 |
+
l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.6-0.2l0.4-0.1l0.4-0.1l0.5-0.1h0.5h0.5h0.4h0.4h0.4h0.4h0.4h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1
|
1858 |
+
l0.4,0.1l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.2l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3l0.8,0.3
|
1859 |
+
l0.8,0.3l1.5,0.6l1.4,0.5l1.3,0.5l1.1,0.5l1,0.4l1.1,0.4l1,0.4l1.1,0.4l1,0.4l1,0.4l1.1,0.4l1.1,0.4l1.1,0.4l1.1,0.4l1.1,0.4
|
1860 |
+
l1.1,0.4l1.1,0.4l1.1,0.4l1.1,0.4l1.1,0.4l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3
|
1861 |
+
l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2
|
1862 |
+
l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.2l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1
|
1863 |
+
l1.1,0.1l1.1,0.1l1.1,0.1h1.1h1.1h1.1h1.1h1.1h1.1h1.6h1.6h1.6h1.6h1.6l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1
|
1864 |
+
l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l3.2,0.3l3.2,0.3l3.2,0.3l6.5,0.6l3.2,0.3l3.2,0.3l3.2,0.3l3.2,0.3l3.2,0.3
|
1865 |
+
l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1h1.6h1.6h1.6h1.6h1.6
|
1866 |
+
h1.6h1.6h1.6h1.6l1.6-0.1l1.6-0.1l1.6-0.1l1.6-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1
|
1867 |
+
l0.9-0.1l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.3
|
1868 |
+
l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l0.9-0.3l1.8-0.7l1.8-0.7l1.8-0.7
|
1869 |
+
l1.8-0.7l1.8-0.7l1.8-0.7l1.8-0.7l1.8-0.7l1.8-0.7l1.8-0.7l3.5-1.5l3.5-1.5l0.5-0.2l0.5-0.2l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3
|
1870 |
+
l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3l1.1-0.7l1.1-0.7l1.2-0.7l1.2-0.7l0.6-0.4l0.6-0.4l0.6-0.4l0.7-0.4l0.7-0.4l0.7-0.4l0.7-0.4
|
1871 |
+
l0.7-0.4l0.7-0.3l0.7-0.3l0.7-0.3l0.8-0.3l0.8-0.3l0.4-0.1l0.4-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1h0.5h0.5h0.5l0.5,0.1
|
1872 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.2l0.5,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.2,0.3
|
1873 |
+
l0.2,0.2l0.2,0.3l0.4,0.4l0.3,0.4l0.3,0.4l0.5,0.7l0.2,0.3l0.2,0.2v0.1l0.5,0.1l0.7,0.3l0.7,0.4l0.6,0.4l0.6,0.5l0.5,0.6l0.4,0.7
|
1874 |
+
l0.3,0.7l0.2,0.7l0.1,0.8v0.8l-0.1,0.8l-0.2,0.8l-0.3,0.7l-0.4,0.7l-0.4,0.6l-0.5,0.6l-0.6,0.5l-0.7,0.4l-0.7,0.3l-0.7,0.2
|
1875 |
+
l-0.8,0.1h-0.8h-0.4h-0.5l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.3l-0.3-0.3
|
1876 |
+
l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.2-0.4l-0.2-0.3l-0.3,0.1
|
1877 |
+
l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.3l-1.1,0.7l-1.2,0.7
|
1878 |
+
l-1.2,0.8l-1.2,0.8l-0.6,0.4l-0.6,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.4l-0.7,0.3l-0.7,0.3l-0.7,0.3l-3.6,1.5
|
1879 |
+
l-3.6,1.5l-1.8,0.8l-1.8,0.8l-1.8,0.8l-1.8,0.8l-1.8,0.7l-1.9,0.7l-1.9,0.7l-1.9,0.7l-1.9,0.7l-1.9,0.7l-1,0.3l-1,0.3l-1,0.3
|
1880 |
+
l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.3l-1,0.2l-1,0.2l-1,0.2l-1,0.2
|
1881 |
+
l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.2l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1.7,0.1
|
1882 |
+
l-1.7,0.1l-1.7,0.1l-1.7,0.1h-1.7h-1.7h-1.7h-1.7h-1.7h-1.7H-80h-1.6h-1.6l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1
|
1883 |
+
l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-3.3-0.3l-3.3-0.3l-3.3-0.3l-3.2-0.3l-3.2-0.3
|
1884 |
+
l-6.5-0.6l-3.2-0.3l-3.2-0.3l-3.2-0.3l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1
|
1885 |
+
l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1h-1.6h-1.6h-1.6h-1.6h-1.6h-1.2h-1.2h-1.2h-1.2h-1.2h-1.2l-1.2-0.1l-1.2-0.1l-1.2-0.1
|
1886 |
+
l-1.2-0.1l-1.2-0.1l-1.2-0.1l-1.2-0.1l-1.2-0.1l-1.2-0.1l-1.2-0.1l-1.2-0.1l-1.2-0.1l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2
|
1887 |
+
l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.2l-1.2-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3
|
1888 |
+
l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.4l-1.1-0.4
|
1889 |
+
l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4l-1.1-0.4
|
1890 |
+
l-1.1-0.4l-1.1-0.4l-1.1-0.4l-0.9-0.4l-1.1-0.4l-1.2-0.5l-1.3-0.5l-1.4-0.5l-0.7-0.3l-0.7-0.3l-0.7-0.3l-0.7-0.3l-0.7-0.3
|
1891 |
+
l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.6-0.2l-0.6-0.1l-0.6-0.1l-0.6-0.1h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2
|
1892 |
+
h-0.2h-0.1h-0.1h-0.1h-0.1h-0.1l0,0l0,0l0,0l-0.2,0.1l-0.3,0.1l-0.3,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
|
1893 |
+
l-0.4,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l0,0l-0.1,0.1l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.2,0.3v0.1l0.1-0.1l-0.4,0.6l-0.5,0.6
|
1894 |
+
l-0.6,0.5l-0.6,0.4l-0.7,0.3l-0.7,0.2l-0.8,0.1h-0.8l0,0l-0.8-0.1l-0.8-0.2l-0.7-0.3l-0.7-0.4l-0.6-0.4l-0.6-0.5l-0.5-0.6
|
1895 |
+
l-0.4-0.7l-0.3-0.7l-0.2-0.7l-0.1-0.8v-0.8l0.1-0.8l0.2-0.8L-271.2,1188.2L-271.2,1188.2z M-260.6,1193.4l0.2-0.4l0,0
|
1896 |
+
L-260.6,1193.4L-260.6,1193.4z"
|
1897 |
+
/>
|
1898 |
+
</g>
|
1899 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1900 |
+
<path
|
1901 |
+
d="M-265.5,1181.6l0.4-0.7l0.5-0.6l0.6-0.5l0.4-0.3l0.4-0.4l0.4-0.3l0.4-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3
|
1902 |
+
l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2
|
1903 |
+
l0.5-0.1l0.5-0.1l0.5-0.1l0.9-0.3l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l1.8-0.3l1.7-0.3l0.8-0.2l0.8-0.2l0.8-0.2
|
1904 |
+
l0.8-0.2l0.8-0.2l0.7-0.2l0.7-0.2l0.7-0.2l1.3-0.4l1.3-0.4l1.3-0.4l1.3-0.4l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3
|
1905 |
+
l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.3l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2l1.3-0.2
|
1906 |
+
l1.4-0.2l1.4-0.1l1.4-0.1l1.4-0.1l1.4-0.1l1.4-0.1l1.4-0.1l5.1-0.3l5.1-0.3l5.2-0.3l5.2-0.3l10.4-0.7l5.2-0.3l5.2-0.3l5.2-0.3
|
1907 |
+
l5.2-0.3l5.2-0.3l5.2-0.3l5.2-0.3l2.6-0.1l2.6-0.1l2.6-0.1l2.6-0.1l2.6-0.1l2.6-0.1l2.6-0.1l2.6-0.1l2.6-0.1l2.6-0.1l2.6-0.1
|
1908 |
+
l2.6-0.1l2.6-0.1l2.6-0.1h2.6h2.6h2.6h2.6h2.6h2.6h2.6h2.6h2.6h2.6l2.6,0.1l2.6,0.1l2.6,0.1l2.6,0.1l2.6,0.1l2.6,0.1l2.6,0.1
|
1909 |
+
l2.6,0.1l2.6,0.2l2.6,0.2l2.6,0.2l2.6,0.2l2.6,0.2l2.6,0.2l3.2,0.3l3.2,0.3l1.7,0.1l1.7,0.2l1.7,0.2l1.7,0.2l1.7,0.2l1.7,0.2
|
1910 |
+
l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2
|
1911 |
+
l0.9,0.2l0.9,0.2l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.3l0.8,0.3l0.8,0.3l0.8,0.4l0.8,0.4l0.8,0.4l0.8,0.4l0.8,0.4
|
1912 |
+
l0.8,0.4l0.8,0.4l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.8,0.5l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3
|
1913 |
+
l0.4,0.3l0.4,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.5,0.6l0.4,0.6l0.3,0.7l0.3,0.7l0.2,0.8l0.1,0.8v0.8l-0.1,0.8l-0.2,0.7
|
1914 |
+
l-0.3,0.7l-0.4,0.6l-0.5,0.6l-0.6,0.5l-0.6,0.4l-0.7,0.3l-0.7,0.3l-0.8,0.2l-0.8,0.1H22l-0.8-0.1l-0.7-0.2l-0.7-0.3l-0.6-0.4
|
1915 |
+
l-0.6-0.5l-0.3-0.3l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2
|
1916 |
+
l-0.3-0.2l-0.3-0.2l-0.6-0.4l-0.6-0.4l-0.6-0.4l-0.6-0.4l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.7-0.3
|
1917 |
+
l-0.7-0.3l-0.7-0.3l-0.7-0.3l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2
|
1918 |
+
l-0.8-0.2l-0.8-0.2l-0.8-0.2l-0.8-0.2l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1L-9,1173l-0.8-0.1l-0.8-0.1l-0.8-0.1
|
1919 |
+
l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.2l-1.6-0.1l-3.2-0.3l-3.2-0.3l-2.6-0.2l-2.5-0.2l-2.5-0.2l-2.5-0.2l-2.6-0.2
|
1920 |
+
l-2.6-0.2l-2.6-0.1l-2.6-0.1l-2.6-0.1l-2.6-0.1l-2.6-0.1l-2.6-0.1l-2.6-0.1l-2.6-0.1h-2.6h-2.6h-2.6h-2.6h-2.6h-2.6h-2.6h-2.6
|
1921 |
+
h-2.6h-2.6l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1l-2.6,0.1
|
1922 |
+
l-2.6,0.1l-2.6,0.1l-5.2,0.3l-5.2,0.3l-5.2,0.3l-5.2,0.3l-5.2,0.3l-5.2,0.3l-5.2,0.3l-10.4,0.7l-5.2,0.3l-5.2,0.3l-5.2,0.3
|
1923 |
+
l-5.1,0.3l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.3,0.1l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2
|
1924 |
+
l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3
|
1925 |
+
l-1.2,0.3l-1.2,0.3l-1.3,0.3l-1.3,0.3l-1.3,0.4l-1.3,0.4l-1.3,0.4l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2
|
1926 |
+
l-0.9,0.2l-0.9,0.2l-1.7,0.3l-1.7,0.3l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.4,0.1l-0.4,0.1
|
1927 |
+
l-0.4,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1
|
1928 |
+
l-0.3,0.1l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.6,0.5l-0.7,0.4
|
1929 |
+
l-0.7,0.3l-0.8,0.2l-0.8,0.1h-0.8l-0.8-0.1l-0.7-0.2l-0.7-0.3l-0.7-0.4l-0.6-0.5l-0.5-0.6l-0.5-0.6l-0.4-0.7l-0.3-0.7l-0.2-0.8
|
1930 |
+
l-0.1-0.8v-0.8l0.1-0.8l0.2-0.7L-265.5,1181.6z"
|
1931 |
+
/>
|
1932 |
+
</g>
|
1933 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1934 |
+
<path
|
1935 |
+
d="M-231.8,1244l0.4-0.6l0.4-0.5l0.5-0.5l0.5-0.4l0.6-0.4l0,0l0.5-0.2l0.5-0.2l0.6-0.1l0.6-0.1l0,0h0.5h0.5h0.3
|
1936 |
+
l0.5,0.1l0.5,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.8,0.3l0.9,0.3l1,0.4l2.1,0.8l2.2,0.9l1.1,0.4l1,0.4l0.9,0.3l0.4,0.1l0.4,0.1l0.3,0.1
|
1937 |
+
l0.2,0.1h0.2h0.1l1.5,0.3l1.6,0.4l1.5,0.4l1.5,0.4l1.5,0.4l1.5,0.4l6.1,1.6l1.5,0.4l1.5,0.4l1.5,0.4l1.5,0.4l1.5,0.4l1.5,0.3
|
1938 |
+
l1.5,0.3l1.5,0.3l1.5,0.3l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1
|
1939 |
+
l0.7,0.1l0.7,0.1l0.7,0.1h0.7h0.7h0.7h0.7h0.7h0.7h0.7h0.7h0.7h0.7h0.7l1.6-0.1l1.6-0.1h1.6h1.6h1.6h1.6h1.6h1.6h1.6h1.6h1.6h1.6
|
1940 |
+
l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l3.2,0.2l3.2,0.2l3.2,0.2l3.2,0.2l3.2,0.2l3.2,0.2l3.2,0.2
|
1941 |
+
l3.2,0.2l3.2,0.2l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1l1.6,0.1h1.6h1.6h1.6h1.6h1.6h1.6h1.6h1.6h1.6h1.6l1.6-0.1l1.5-0.1
|
1942 |
+
l1.5-0.1l1.5-0.1l1.5-0.1l1.5-0.1l1.5-0.1l1.5-0.2l1.5-0.2l1.5-0.2l1.2-0.1l1.2-0.2l1.2-0.2l1.2-0.2l1.2-0.2l1.2-0.2l1.1-0.2
|
1943 |
+
l1.1-0.2l1.1-0.2l1.1-0.2l1.1-0.2l1.1-0.2l1.1-0.2l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3
|
1944 |
+
l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.4l1.1-0.4l1.1-0.4l1.1-0.4l1.1-0.4l1-0.4l1-0.4l1-0.4l1-0.4
|
1945 |
+
l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.4l1-0.5l1-0.5l1-0.5l2.1-0.9l2.1-1l2.1-1l2.1-1l2.1-1l2.1-1L5,1233
|
1946 |
+
l0.6-0.3l0.7-0.2l0.7-0.1h0.7h0.7l0.7,0.1l0.7,0.2l0.6,0.3l0.6,0.3l0.5,0.4l0.5,0.5l0.4,0.5l0.4,0.6l0.3,0.6l0.2,0.6l0.2,0.7
|
1947 |
+
l0.1,0.7v0.7l-0.1,0.7l-0.2,0.7l-0.2,0.6l-0.3,0.6l-0.4,0.6l-0.4,0.5l-0.5,0.5l-0.6,0.4l-0.6,0.3l-2.2,1.1l-2.2,1.1l-2.2,1
|
1948 |
+
l-2.2,1l-2.2,1l-2.2,1l-2.2,1l-1.1,0.5l-1.1,0.5l-1.1,0.5l-1.1,0.5l-1.1,0.5l-1.1,0.5l-1.1,0.5l-1.1,0.4l-1.1,0.4l-1.1,0.4
|
1949 |
+
l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4
|
1950 |
+
l-1.1,0.4l-1.1,0.4l-1.1,0.3l-1.1,0.3l-1.1,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3l-1.2,0.3
|
1951 |
+
l-1.2,0.3l-1.2,0.3l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.3,0.2l-1.3,0.2
|
1952 |
+
l-1.3,0.2l-1.6,0.2l-1.7,0.2l-1.6,0.2l-1.7,0.1l-1.6,0.1l-1.7,0.1l-1.6,0.1l-1.6,0.1l-1.6,0.1l-1.6,0.1h-1.6h-1.6h-1.6h-1.6h-1.6
|
1953 |
+
h-1.6h-1.6h-1.6h-1.6h-1.6l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-3.2-0.2l-3.2-0.2l-3.2-0.2l-3.2-0.2l-3.2-0.2
|
1954 |
+
l-3.2-0.2l-3.2-0.2l-3.2-0.2l-3.2-0.2l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1l-1.6-0.1h-1.6h-1.6h-1.6h-1.6h-1.6
|
1955 |
+
h-1.6h-1.6h-1.6h-1.5h-1.5h-1.5l-1.5,0.1l-1.6,0.1h-0.8h-0.9h-0.9h-0.9h-0.9h-0.9h-0.8h-0.8h-0.9l-0.8-0.1l-0.8-0.1l-0.8-0.1
|
1956 |
+
l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1
|
1957 |
+
l-0.8-0.2l-1.6-0.3l-1.6-0.3l-1.6-0.4l-1.6-0.4l-1.6-0.4l-1.6-0.4l-1.6-0.4l-1.6-0.4l-1.5-0.4l-3.1-0.8l-3-0.8l-1.5-0.4l-1.5-0.4
|
1958 |
+
l-1.5-0.4l-1.5-0.4l-1.5-0.3l-1.5-0.3l-0.4-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.2l-0.5-0.2l-0.5-0.2l-1-0.4l-1.1-0.4l-1.1-0.4l-2.3-0.9
|
1959 |
+
l-2.1-0.8l-0.9-0.4l-0.8-0.3l-0.6-0.2h-0.1h-0.1l-0.7-0.2l-0.6-0.3l-0.6-0.3l-0.6-0.4l-0.5-0.5l-0.5-0.5l-0.4-0.6l-0.3-0.6
|
1960 |
+
l-0.3-0.6l-0.2-0.7l-0.1-0.7v-0.7l0.1-0.7l0.1-0.7l0.2-0.7L-231.8,1244z M-226.5,1252.7l0.5-0.1l0,0L-226.5,1252.7h-0.3H-226.5z"
|
1961 |
+
/>
|
1962 |
+
</g>
|
1963 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
1964 |
+
<path
|
1965 |
+
d="M-196.9,1287.6l0.2-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0,0
|
1966 |
+
l0.2-0.1h0.3l0,0h0.3h0.3h0.3l0,0h0.3l0.3,0.1l0.2,0.1h0.1l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.3-0.2l0.3-0.1l0.3-0.1
|
1967 |
+
l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.3h0.3h0.3h0.3h0.3h0.3h0.3h0.3h0.3l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1
|
1968 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.4l0.4,0.4
|
1969 |
+
l0.4,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.4l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5
|
1970 |
+
l0.3,0.5l0.3,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.4,0.9l0.4,0.9l0.4,0.9l0.3,0.8l0.3,0.8l0.3,0.8l0.2,0.7
|
1971 |
+
l0.2,0.7l0.2,0.6l0.2,0.8l0.2,0.8l0.2,0.8l0.2,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8
|
1972 |
+
l0.1,0.8v0.8v0.8v0.8v0.8v0.8v0.8v0.8v0.8v0.8v0.8v0.8v0.8v0.8v0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,1.6l-0.2,1.6
|
1973 |
+
l-0.2,1.6l-0.2,1.6l-0.2,1.6l-0.2,1.6l-0.2,1.5l-0.2,1.5l-0.4,3.1l-0.4,3l-0.2,1.5l-0.2,1.5l-0.2,1.5l-0.2,1.5l-0.1,1.1l-0.1,1.2
|
1974 |
+
l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.1,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6
|
1975 |
+
l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.3,0.6l-0.3,0.6l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
1976 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2
|
1977 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.3
|
1978 |
+
h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1
|
1979 |
+
l-0.2-0.1l-0.2-0.1l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.4l-0.3-0.4l-0.3-0.4
|
1980 |
+
l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.4-0.8l-0.4-0.8l-0.4-0.8
|
1981 |
+
l-0.4-0.8l-0.3-0.7l-0.3-0.7l-0.3-0.6l-0.5-1.1l-0.4-0.8l-0.1-0.3l-0.1-0.2l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7
|
1982 |
+
l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8l-0.2-0.8
|
1983 |
+
l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8l-0.1-0.8
|
1984 |
+
l-0.1-0.8v-0.8v-0.8v-0.8v-0.8l-0.1-1.6v-1.6v-1.6v-1.6v-1.6v-1.6v-1.6v-1.6v-3.1v-3.1v-1.5v-1.5v-0.5v-0.5v-0.5v-0.5l0.1-0.5
|
1985 |
+
l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.2-0.5l0.3-1l0.3-1l0.3-1
|
1986 |
+
l0.3-0.9l0.3-0.9l0.3-0.9l0.3-0.9l0.1-0.3l0.1-0.3l0.3-0.6l0.3-0.6l0.3-0.6l0.7-1.3l0.3-0.6l0.3-0.6v-0.1v-0.2v-0.3v-0.3v-0.3
|
1987 |
+
l0.1-0.3l0.1-0.3L-196.9,1287.6z M-194.5,1297.5l-0.3,0.9l-0.3,0.9l-0.3,0.9l-0.3,0.9l-0.3,0.9l-0.3,0.9l-0.1,0.4l-0.1,0.4
|
1988 |
+
l-0.1,0.5l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4v0.4v0.4v0.4v0.4v0.4v1.5
|
1989 |
+
v1.5v3.1v3.1v1.6v1.6v1.6v1.6v1.6v1.6v1.6v1.6v0.8v0.8v0.8v0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8
|
1990 |
+
l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.7l0.1,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7
|
1991 |
+
l0.2,0.7l0.2,0.7l0.2,0.6l0.2,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.3,0.7l0.1,0.3l0.2,0.4l0.4,0.9l0.5,1.1l0.3,0.6l0.3,0.6
|
1992 |
+
l0.3,0.7l0.3,0.7l0.3,0.7l0.4,0.7l0.4,0.7l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3
|
1993 |
+
l0.2,0.3l0.2,0.3l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0,0h0.1h0.1l0,0l0,0h0.1h0.1l0,0l0,0
|
1994 |
+
l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0h0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2
|
1995 |
+
l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.2-0.5
|
1996 |
+
l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.6l0.1-0.6l0.1-0.6l0.1-0.6l0.1-0.6l0.1-0.6
|
1997 |
+
l0.1-0.6l0.1-0.6l0.1-0.5l0.1-1.1l0.1-1.1l0.2-1.5l0.2-1.5l0.2-1.5l0.2-1.5l0.4-3l0.4-3.1l0.2-1.5l0.2-1.5l0.2-1.5l0.2-1.5
|
1998 |
+
l0.2-1.5l0.2-1.5l0.1-1.5l0.1-1.5l0.1-0.8l0.1-0.8v-0.8v-0.8v-0.8v-0.8v-0.8v-0.8v-0.8v-0.8v-0.7v-0.8v-0.7v-0.7v-0.7v-0.7v-0.7
|
1999 |
+
v-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.2-0.7
|
2000 |
+
l-0.2-0.7l-0.1-0.5l-0.2-0.5l-0.2-0.6l-0.2-0.7l-0.3-0.7l-0.3-0.8l-0.3-0.8l-0.3-0.8l-0.4-0.8l-0.2-0.4l-0.2-0.4l-0.2-0.4
|
2001 |
+
l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.3-0.4
|
2002 |
+
l-0.2-0.4l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2
|
2003 |
+
l-0.2-0.1h-0.1l-0.1-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l0,0l0,0h-0.1l0,0l0,0l0,0l0,0h-0.1
|
2004 |
+
h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l-0.1,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.3h-0.3h-0.3l-0.3-0.1l-0.2-0.1
|
2005 |
+
l-0.1,0.1l-0.1,0.3l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.3,0.6l-0.6,1.2l-0.3,0.6l-0.3,0.5l-0.2,0.5l-0.1,0.2l-0.1,0.2L-194.5,1297.5z"
|
2006 |
+
/>
|
2007 |
+
</g>
|
2008 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
2009 |
+
<path
|
2010 |
+
d="M-181.5,1393.6L-181.5,1393.6l0.2-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.2-0.2l0.2-0.2
|
2011 |
+
l0.2-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1h0.2h0.2h0.2h0.3h0.4h0.5h0.4l0.4,0.1l0.4,0.1l0.4,0.1
|
2012 |
+
l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.3,0.2l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3
|
2013 |
+
l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.4l0.1,0.3l0.1,0.3l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4
|
2014 |
+
l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4v0.4l-0.1,0.4
|
2015 |
+
l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4
|
2016 |
+
l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
2017 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.1
|
2018 |
+
l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.4,0.1h-0.4h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.2
|
2019 |
+
l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.3
|
2020 |
+
l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.1-0.5l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6
|
2021 |
+
l-0.1-0.6l-0.1-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-0.6v-1.1v-1.1v-1l0.1-0.9v-0.4v-0.4v-0.4v-0.4l0.1-0.4l0.1-0.3
|
2022 |
+
l0.1-0.3l0.1-0.3l0.1-0.4l0.1-0.2l0.1-0.2l0.1-0.1l0,0l0.1-0.1l0.1-0.1l0,0l0.1-0.1l0.1-0.1l0,0l0,0l-0.1-0.2v-0.2v-0.2v-0.2
|
2023 |
+
v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2v-0.2l0.1-0.2L-181.5,1393.6z M-176.3,1397.1v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2v0.2
|
2024 |
+
l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l0,0v0.1v0.3v0.3v0.3v0.4l-0.1,0.8v0.9v0.9v1v0.5v0.5v0.5v0.5v0.5v0.6v0.5v0.5v0.5
|
2025 |
+
v0.5v0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.3l0.1,0.2l0,0l0.1-0.1l0.1-0.2
|
2026 |
+
l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3
|
2027 |
+
l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3v-0.3v-0.3v-0.4v-0.3v-0.3v-0.3v-0.3
|
2028 |
+
v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3v-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.2
|
2029 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.1v-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.1
|
2030 |
+
l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1h-0.2h-0.2L-176.3,1397.1L-176.3,1397.1L-176.3,1397.1z M-180.9,1400.2
|
2031 |
+
l0.2,0.1l-0.1-0.1H-180.9L-180.9,1400.2l-0.2-0.2L-180.9,1400.2z"
|
2032 |
+
/>
|
2033 |
+
</g>
|
2034 |
+
<g transform="matrix(0.380231,0.924892,-0.924892,0.380231,1549.4,-185.872)">
|
2035 |
+
<path
|
2036 |
+
d="M-240.4,1219l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.3-0.3l0.3-0.3l0.3-0.3
|
2037 |
+
l0.3-0.3l0.3-0.3l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1
|
2038 |
+
l0.3-0.1l0.3-0.1h0.3h0.3h0.3h0.3h0.3h0.3h0.3h0.4h0.3h0.1h0.1h0.1l0.2,0.1l0.2,0.1h0.1l0.1,0.1l0.1,0.1l0.2,0.1l0.1,0.1l0.1,0.1
|
2039 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0,0l0.1,0.1l0.1,0.2l0,0l0.1,0.2l0.1,0.2l0,0l0.1,0.2l0.1,0.2l0,0v0.2v0.2l0,0v0.2v0.2
|
2040 |
+
v0.1v0.2v0.2v0.1v0.1v0.1v0.2l-0.1,0.3l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.1
|
2041 |
+
l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.2h-0.2h-0.3h-0.2h-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l0,0l0,0h-0.2h-0.2
|
2042 |
+
h-0.2h-0.2l-0.1,0.1h-0.1h-0.1h-0.1h-0.1h-0.1l0,0l0,0h-0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.2l-0.1,0.2
|
2043 |
+
l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2v0.2v0.2v0.2v0.2l0,0v0.1l0,0v0.1v0.1l0,0
|
2044 |
+
l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.1l0.2,0.1l0.4,0.3l0.4,0.3l0.5,0.3
|
2045 |
+
l0.5,0.3l0.5,0.3l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2
|
2046 |
+
l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l1.3,0.2l1.3,0.2l1.3,0.2l1.3,0.2l2.7,0.3l1.3,0.2l1.3,0.2
|
2047 |
+
l1.3,0.2l1.3,0.2l1.3,0.2l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.2l0.6,0.2l0.6,0.2l0.7,0.2
|
2048 |
+
l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1h0.5h0.5h0.4h0.4h0.4h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2
|
2049 |
+
h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0v-0.1v-0.1v-0.1v-0.1l0,0v-0.1l0,0l0,0l0,0
|
2050 |
+
v-0.1l0,0v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2051 |
+
l-0.1-0.1l-0.1-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2
|
2052 |
+
l-0.3-0.2l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-1-0.3l-1-0.3
|
2053 |
+
l-1-0.3l-1-0.3l-1-0.3l-1-0.3l-1-0.3l-2.1-0.5l-2.1-0.5l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3l-1.1-0.3
|
2054 |
+
l-1.1-0.3l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
|
2055 |
+
l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.5-0.3l-0.2-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.2
|
2056 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2v-0.2v-0.2v-0.3v-0.2v-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.2-0.2l0.2-0.2
|
2057 |
+
l0.2-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1h0.2h0.2h0.3h0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.4,0.3
|
2058 |
+
l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.5,0.2l0.5,0.2l0.5,0.2
|
2059 |
+
l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l1,0.3l1,0.3l1,0.3l1,0.3l1,0.3l1,0.3l1,0.3l1,0.3l2.1,0.5l2.1,0.5l1.1,0.3l1.1,0.3l1.1,0.3
|
2060 |
+
l1.1,0.3l1.1,0.3l1.1,0.3l1.1,0.3l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.3,0.1l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2
|
2061 |
+
l0.4,0.2l0.4,0.2l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.2,0.2l0.2,0.2l0.2,0.2
|
2062 |
+
l0.2,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.3v0.3v0.3
|
2063 |
+
v0.3v0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
2064 |
+
l-0.3,0.3l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1
|
2065 |
+
l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3h-0.3h-0.6h-0.6h-0.6h-0.6l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1
|
2066 |
+
l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.4-0.1l-0.8-0.2l-0.7-0.2l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1
|
2067 |
+
l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-1.2-0.2l-1.2-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-2.7-0.3l-1.4-0.2l-1.4-0.2
|
2068 |
+
l-1.4-0.2l-1.4-0.2l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2
|
2069 |
+
l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.6-0.2l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3
|
2070 |
+
l-0.6-0.4l-0.6-0.4l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2
|
2071 |
+
l-0.3-0.3l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.3l-0.1-0.2l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3
|
2072 |
+
l-0.1-0.3v-0.2v-0.3v-0.2v-0.2v-0.2v-0.2v-0.3v-0.4l0.1-0.5l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.2-0.4L-240.4,1219z
|
2073 |
+
M-233.2,1215.7L-233.2,1215.7L-233.2,1215.7L-233.2,1215.7z"
|
2074 |
+
/>
|
2075 |
+
</g>
|
2076 |
+
<path
|
2077 |
+
d="M402.7,260L402.7,260h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
2078 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1
|
2079 |
+
l0.1,0.1v0.1v0.1l0.1,0.1v0.1v0.1v0.1v0.1v0.1l-0.1,0.1v0.1v0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2080 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2081 |
+
l-0.1,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1L403,266l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2
|
2082 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.1,0.2l-0.2,0.2l-0.1,0.2
|
2083 |
+
l-0.2,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2v0.1l-0.1,0.2l-0.1,0.3l-0.1,0.3l-0.2,0.7l-0.2,0.7l-0.2,0.7l-0.1,0.5
|
2084 |
+
l-0.1,0.3l0,0v0.1v0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2085 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1h-0.1h-0.1h-0.1h-0.1
|
2086 |
+
h-0.1h-0.1h-0.1H394h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1H393h-0.1h-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2087 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2088 |
+
l-0.1-0.1l-0.1-0.1l0,0v-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1l-0.1-0.1V275v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1l0.1-0.3l0.1-0.5l0.1-0.6
|
2089 |
+
l0.2-0.7l0.2-0.8l0.2-0.8l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.3l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3
|
2090 |
+
l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.3-0.3l0.2-0.3l0.3-0.3l0.2-0.3l0.3-0.3l0.3-0.3l0.3-0.3l0.2-0.3l0.3-0.3l0.3-0.2l0.3-0.2
|
2091 |
+
l0.3-0.2l0.3-0.2l0.4-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.1-0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1
|
2092 |
+
h1.5V260z"
|
2093 |
+
/>
|
2094 |
+
<path
|
2095 |
+
d="M413.3,271L413.3,271h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
2096 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1l0.1,0.1
|
2097 |
+
v0.1v0.1l0.1,0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1l-0.1,0.1v0.1v0.1l-0.1,0.1l-0.1,0.1v0.1l-0.1,0.1L416,275l-0.1,0.1l-0.1,0.1
|
2098 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1L415,276l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2099 |
+
l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.5,0.3l-0.5,0.3l-0.5,0.4l-0.5,0.4l-0.2,0.2l-0.3,0.2l-0.3,0.2l-0.2,0.2l-0.3,0.2
|
2100 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.1,0.2l-0.1,0.1v0.1l0,0v0.1l0.1,0.2
|
2101 |
+
l0.1,0.4l0.1,0.4l0.1,0.4l0.2,0.5l0.1,0.5l0.1,0.3l0.1,0.3l0.1,0.3v0.2v0.1v0.1v0.1v0.1v0.1l-0.1,0.1v0.1v0.1v0.1l-0.1,0.1v0.1
|
2102 |
+
l0,0l-0.1,0.1v0.1l-0.1,0.1l0,0l-0.1,0.1l-0.1,0.1l-0.1,0.1v0.1h-0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l0,0l-0.1,0.1l-0.1,0.1
|
2103 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1H407l-0.1,0.1l-0.1,0.1h-0.1h-0.1h-0.1l0,0h-0.1
|
2104 |
+
h-0.1h-0.1h-0.1H406h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l0,0h-0.1H405h-0.1h-0.2l-0.3-0.1h-0.2h-0.1H404h-0.1h-0.1h-0.1
|
2105 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2106 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1l-0.1-0.1V286v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1
|
2107 |
+
v-0.1l0.1-0.1v-0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1l0,0l-0.1-0.1l-0.1-0.5l-0.2-0.5l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.4
|
2108 |
+
v-0.4v-0.4l0.1-0.4v-0.3l0.1-0.2l0.1-0.3l0.1-0.3l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.3l0.2-0.3l0.3-0.3l0.2-0.3l0.3-0.3l0.2-0.3
|
2109 |
+
l0.3-0.3l0.3-0.3l0.4-0.3l0.3-0.3l0.3-0.3l0.4-0.3l0.3-0.3l0.4-0.3l0.3-0.3l0.4-0.3l0.3-0.3l0.7-0.5l0.7-0.4l0.7-0.4l0.6-0.4
|
2110 |
+
l0.3-0.2l0.3-0.2l0.2-0.2l0.2-0.1l0.1-0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h1.2V271z M406.4,283.1L406.4,283.1
|
2111 |
+
L406.4,283.1L406.4,283.1z"
|
2112 |
+
/>
|
2113 |
+
<path
|
2114 |
+
d="M393,250.3L393,250.3h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
2115 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1
|
2116 |
+
l0.1,0.1v0.1v0.1l0.1,0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1l-0.1,0.1v0.1l-0.1,0.1v0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2117 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1L395,255l-0.1,0.1l-0.1,0.1l-0.2,0.2l-0.3,0.2l-0.2,0.2l-0.3,0.2l-0.2,0.2l-0.3,0.2
|
2118 |
+
l-0.3,0.2l-0.2,0.2l-0.3,0.2l-0.2,0.2l-0.5,0.3l-0.5,0.3l-0.5,0.2l-0.5,0.2l-0.4,0.2l-0.4,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1
|
2119 |
+
l-0.2,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2120 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.4l-0.1,0.4l-0.2,0.9l-0.1,0.5l-0.1,0.3l-0.1,0.3l-0.1,0.3
|
2121 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3L385,266l-0.2,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2122 |
+
L384,267l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1H383h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1H382h-0.1
|
2123 |
+
h-0.1h-0.1h-0.1h-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2124 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1v-0.1l-0.1-0.1v-0.1
|
2125 |
+
v-0.1v-0.1v-0.1v-0.1v-0.1V264l0.1-0.1v-0.1l0.1-0.1v-0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
2126 |
+
l0.1-0.1l0.1-0.1l0,0h0.1v-0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.4l0.2-0.9l0.1-0.5l0.2-0.5l0.1-0.3l0.1-0.3l0.1-0.3
|
2127 |
+
l0.2-0.3l0.1-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.3-0.3l0.2-0.3l0.3-0.3l0.3-0.2l0.2-0.2l0.3-0.2l0.3-0.2l0.2-0.2
|
2128 |
+
l0.3-0.2l0.2-0.2l0.3-0.2l0.2-0.2l0.5-0.3l0.5-0.3l0.5-0.2l0.5-0.2l0.4-0.2l0.4-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.1-0.1
|
2129 |
+
l0.2-0.1l0.1-0.1l0.2-0.1l0.1-0.1l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1l0.1-0.1h0.1h0.1h0.1h0.1
|
2130 |
+
h0.1h0.1h0.1h0.1h0.1h0.1h0.1L393,250.3z"
|
2131 |
+
/>
|
2132 |
+
<path
|
2133 |
+
d="M400,91h0.2h0.1h0.2h0.1h0.2h0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
2134 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1L403,93l0,0v0.1l0.1,0.1v0.1v0.1v0.1l0,0v0.1
|
2135 |
+
l-0.1,0.1v0.1v0.1l-0.1,0.1v0.1l-0.1,0.1v0.1l-0.1,0.2l-0.1,0.3l-0.1,0.3l-0.3,0.5l-0.2,0.5l-0.4,0.6l-0.7,1.2l-0.7,1.2l-0.4,0.6
|
2136 |
+
l-0.2,0.5l-0.2,0.4l-0.1,0.2l-0.1,0.1l-0.3,0.8l-0.4,0.8l-0.3,0.8l-0.2,0.4l-0.1,0.4l-0.2,0.4l-0.2,0.4l-0.1,0.4l-0.1,0.4
|
2137 |
+
l-0.2,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.1,0.4
|
2138 |
+
l-0.1,0.4v0.4l-0.1,0.4l-0.1,0.4v0.4v0.4v0.4v0.2l-0.1,0.2v0.2v0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2139 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1l-0.2,0.1h-0.1
|
2140 |
+
h-0.2H393h-0.2h-0.2h-0.1h-0.2h-0.2H392h-0.2h-0.2h-0.1h-0.2l-0.1-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1
|
2141 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2v-0.2l-0.1-0.2V114v-0.2
|
2142 |
+
v-0.2v-0.5v-0.5l0.1-0.5v-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.5
|
2143 |
+
l0.2-0.5l0.1-0.5l0.2-0.5l0.1-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.1-0.5l0.2-0.5l0.2-0.5l0.4-0.9l0.4-0.9l0.4-0.9l0.1-0.3l0.2-0.3
|
2144 |
+
l0.2-0.6l0.4-0.6l0.4-0.6l0.7-1.2l0.7-1.2l0.2-0.3l0,0v-0.2v-0.2l0.1-0.2V92l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
2145 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.2-0.2l0.2-0.2l0.1-0.1l0.1-0.1l0.1-0.1h0.1l0.1-0.1l0.2-0.1l0.1-0.1l0.1-0.1h0.1h0.1
|
2146 |
+
h0.1h0.2h0.1h0.1h0.2l0,0h0.1h0.2V91z"
|
2147 |
+
/>
|
2148 |
+
<path
|
2149 |
+
d="M408.1,107.3h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
2150 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1
|
2151 |
+
v0.1v0.1l0,0v0.1v0.1v0.1v0.1v0.1v0.1v0.1l-0.1,0.1v0.3l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.3,0.9l-0.4,1l-0.4,1.1l-0.5,1.2
|
2152 |
+
l-0.5,1.2l-0.5,1.2l-0.5,1.2l-0.5,1.2l-0.5,1.1l-0.4,1l-0.4,0.8l-0.3,0.7l-0.2,0.4l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2153 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1h-0.1h-0.1
|
2154 |
+
h-0.1h-0.2h-0.1h-0.1h-0.1h-0.3h-0.1H402h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2155 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2156 |
+
l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1v-0.1l-0.1-0.1v-0.1v-0.1v-0.1v-0.1l0.1-0.1v-0.1V124l0.1-0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1
|
2157 |
+
l0.2-0.4l0.3-0.6l0.4-0.8l0.4-0.9l0.4-1.1l0.5-1.1l0.5-1.2l0.5-1.2l0.5-1.2l0.5-1.2l0.4-1.1l0.4-1l0.3-0.8l0.1-0.3l0.1-0.3
|
2158 |
+
l0.1-0.2V110v-0.1v-0.1l0.1-0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
2159 |
+
l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1h0.1h0.1h0.1h0.1h0.2h0.1h0.1h0.1h-0.2V107.3z
|
2160 |
+
M405,110.4v0.2V110.4L405,110.4L405,110.4L405,110.4z"
|
2161 |
+
/>
|
2162 |
+
<path
|
2163 |
+
fill="#25B3FF"
|
2164 |
+
d="M483.4,329.1L483.4,329.1h0.3h0.1h0.1h0.1h0.2h0.1l0.1,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
2165 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1h0.1l1.4-0.3l0.8-0.2l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.6-0.1h0.4
|
2166 |
+
h0.4h0.2h0.3h0.2h0.1h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.2l0.1,0.1l0.1,0.1l0,0l0.2,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0,0
|
2167 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.2v0.1l0.1,0.1v0.1l0.1,0.2v0.2v0.1v0.2l-0.1,0.2
|
2168 |
+
v0.1v0.2l-0.1,0.1l0,0l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2169 |
+
l-0.1,0.1l0,0L494,334l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1l-0.4,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
2170 |
+
l-0.4,0.1l-0.9,0.2l-0.8,0.2l-0.9,0.2l-0.2,0.1h-0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l0,0l-0.2,0.1l-0.1,0.1h-0.1h-0.1h-0.1
|
2171 |
+
h-0.2h-0.1h-0.1H486l-1.4,0.1l-0.5,0.1l-0.5,0.1h-0.1l0,0l-0.2,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1h-0.2h-0.1h-0.2h-0.1h-0.2h-0.2
|
2172 |
+
h-0.1h-0.2h-0.2h-0.1h-0.1l-0.7,0.4l-0.8,0.4l-0.8,0.4l-0.5,0.2l-0.4,0.2l-0.4,0.2l-0.5,0.2l-0.4,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2
|
2173 |
+
l-0.5,0.2l-0.4,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1h-0.2h-0.2h-0.3h-0.2h0.4H472h-0.3h-0.3l-0.3-0.1l-0.2-0.1h-0.1l-0.1-0.1h-0.1
|
2174 |
+
l-0.1-0.1l-0.2-0.1h-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2175 |
+
l0,0l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1h-0.1v-0.1l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.2v-0.2l0,0v-0.1v-0.1v-0.1
|
2176 |
+
l0.1-0.1v-0.1l0.1-0.1V337v-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0,0l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1V336l0.1-0.1l0.1-0.1
|
2177 |
+
l0.1-0.1l0.1-0.1l0.2-0.2l0.2-0.2l0.2-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.2-0.1l0,0l0.2-0.1l0.2-0.1l0.2-0.1
|
2178 |
+
l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.1l0.5-0.1l0.4-0.1l0.5-0.1l0.4-0.1l0.4-0.1l0.5-0.1l0.9-0.2l0.4-0.1
|
2179 |
+
l0.1-0.1v-0.2l0.1-0.1l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1
|
2180 |
+
l0.2-0.1h0.1l0.1-0.1l0.1-0.1l0.1-0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.2h0.1h0.1L483.4,329.1L483.4,329.1z"
|
2181 |
+
/>
|
2182 |
+
<path
|
2183 |
+
fill="#25B3FF"
|
2184 |
+
d="M489.4,325L489.4,325h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
2185 |
+
l0.1,0.1l0.1,0.1l0.1,0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.2,0.2l0.2,0.2l0.1,0.1v0.1l0.1,0.1l0.1,0.3l0.1,0.3
|
2186 |
+
l0.1,0.1v0.1l0.1,0.1l0.1,0.3l0.1,0.4l0.1,0.4v0.4v0.4v0.4l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3
|
2187 |
+
l-0.1,0.3l-0.2,0.3l-0.1,0.3l-0.2,0.2l-0.2,0.2l-0.1,0.2l-0.2,0.2l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.4
|
2188 |
+
l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3L486,339l-0.4,0.3l-0.3,0.2l-0.3,0.2l-0.2,0.2l0,0l-0.3,0.4
|
2189 |
+
l-0.4,0.5l-0.4,0.5l-0.5,0.7l-0.7,0.8l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2190 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1h-0.1H481h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1h-0.2h-0.1h-0.1h-0.1h-0.1h-0.1h-0.1
|
2191 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l0,0h-0.1L478,343l-0.3-0.1l-0.1-0.1h-0.1
|
2192 |
+
h-0.1h-0.1h-0.1h-0.1H477h-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.2L476,342l-0.2-0.2l-0.1-0.2l-0.1-0.2v-0.1
|
2193 |
+
l-0.1-0.1l-0.1-0.1l0,0l-0.1-0.1v-0.1l-0.1-0.1v-0.1v-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1v-0.1V340v-0.1v-0.1v-0.1v-0.1v-0.1v-0.2
|
2194 |
+
V339l0.1-0.3l0.1-0.3l0.1-0.4l0.2-0.4l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.3-0.3l0.2-0.3
|
2195 |
+
l0.3-0.3l0.5-0.6l0.3-0.3l-0.1-0.3l-0.1-0.2l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1
|
2196 |
+
v-0.1l-0.1-0.1v-0.1v-0.1V331v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1l0.1-0.1l0,0v-0.1V330l0.1-0.1v-0.1l0.1-0.1v-0.1l0.1-0.1v-0.1
|
2197 |
+
h0.1l0.1-0.1v-0.1l0.1-0.1l0.1-0.1h0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.2l0.4-0.2l0.3-0.2l0.4-0.2
|
2198 |
+
l0.3-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.8-0.2l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1
|
2199 |
+
l0.4-0.1l0.4-0.1l0.4-0.1h0.3h0.4h0.3L489.4,325L489.4,325z"
|
2200 |
+
/>
|
2201 |
+
</g>
|
2202 |
+
<path
|
2203 |
+
fill="#0096FF"
|
2204 |
+
d="M447.3,221.9h0.8h0.8h0.7h0.7h0.7h0.7l0.7,0.1l0.7,0.1l0.7,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.5,0.1l0.5,0.1
|
2205 |
+
l0.5,0.1l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.3,0.3l0.1,0.2l0.1,0.1
|
2206 |
+
l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0.1,0.1l0.1,0.2l0.1,0.2l0.1,0.1l0.1,0.2v0.2l0.1,0.1v0.2l0.1,0.2v0.1v0.1v0.1v0.2v0.3l-0.1,0.2
|
2207 |
+
v0.3l-0.1,0.3l-0.1,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3
|
2208 |
+
l0.1,0.2l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1l0.3,0.3l0.3,0.3l0.1,0.2l0.1,0.2l0.5,0.8l0.2,0.4
|
2209 |
+
l0.1,0.1l0.1,0.1l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.3,0.6l0.4,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.2,0.6l0.3,0.6l0.2,0.6
|
2210 |
+
l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.4,1.2l0.4,1.2l0.4,1.2l0.4,1.2l0.3,1.2l0.7,2.5
|
2211 |
+
l0.4,1.2l0.3,1.2l0.4,1.1l0.2,0.4l0.4,0.5l0.4,0.6l0.3,0.6l0.4,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.2,0.6l0.3,0.6l0.2,0.6l0.1,0.3
|
2212 |
+
l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.3l0.1,0.3v0.3v0.3v0.3v0.3v0.3v0.3l-0.1,0.3
|
2213 |
+
l-0.1,0.3v0.2l0.1,0.6l0.2,1.1l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5l0.1,0.5v0.5v0.4v0.3v0.2v0.2l-0.1,0.3
|
2214 |
+
l-0.1,0.3l-0.1,0.2v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.2l-0.1,0.2v0.1l-0.1,0.2l-0.2,0.2l0,0l-0.2,0.2l-0.1,0.2l-0.2,0.1h-0.1l-0.1,0.1
|
2215 |
+
l-0.1,0.1h-0.1l-0.1,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.2l-0.2,0.2
|
2216 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1h-0.1l-0.1,0.1l-0.2,0.1l0,0h-0.1h-0.2h-0.1h-0.1h-0.1h-0.1h-0.2h-0.1h-0.1H476h-0.1h-0.1h-0.2h-0.2
|
2217 |
+
h-0.1h-0.2l-0.2-0.1h-0.1l-0.2-0.1l-0.2-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.1l-0.3-0.2l-0.2-0.2
|
2218 |
+
l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.3l-0.3-0.5l-0.3-0.5l-0.2-0.4h-0.1h-0.4H470h-0.4h-0.4h-0.4h-0.4
|
2219 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1L466,280l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.3-0.2
|
2220 |
+
l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.3-0.2l-0.4-0.2l-0.4-0.2l-0.3-0.2l-0.4-0.2l-0.3-0.3l-0.4-0.3l-0.3-0.3
|
2221 |
+
l-0.4-0.3l-0.3-0.3l-0.3-0.3l-0.4-0.3l-0.3-0.3l-0.3-0.3l-0.6-0.6l-0.7-0.6l-0.5-0.6l-0.6-0.6l-0.6-0.7l-0.5-0.7l-0.5-0.7l-0.5-0.7
|
2222 |
+
l-0.5-0.7l-0.5-0.7l-0.5-0.7l-0.4-0.7l-0.5-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.4-0.7l-0.2-0.4l-0.1-0.4l-0.1-0.2
|
2223 |
+
l0,0h-0.1h-0.1l-0.5-0.1l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2
|
2224 |
+
l-0.2-0.2l-0.2-0.2l-0.5-0.4l-0.5-0.5l-0.7-0.6l-0.7-0.7l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.5l-0.4-0.5l-0.4-0.5
|
2225 |
+
l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5L433,249l-0.2-0.3l-0.1-0.3l-0.2-0.3l-0.1-0.3l-0.2-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3
|
2226 |
+
l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3v-0.3l0,0h-0.1l-0.4-0.4l-0.5-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4l-0.4-0.4
|
2227 |
+
l-0.3-0.4l-0.4-0.4l-0.1-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.2-0.2l-0.1-0.2h-0.1l-0.1-0.1l-0.3-0.2l-0.2-0.3l-0.3-0.3
|
2228 |
+
l-0.3-0.3l-0.2-0.3l-0.1-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.3l-0.1-0.3l-0.1-0.3v-0.2l-0.1-0.1v-0.1v-0.2l-0.1-0.2v-0.1l0.1-0.1v-0.1
|
2229 |
+
v-0.1v-0.1v-0.1l0.1-0.1v-0.1l0.1-0.2l0.1-0.2l0.1-0.1l0,0l-0.1-0.1l0,0l-0.5-0.1l-0.4-0.1l-0.3-0.1l-0.3-0.1l-0.4-0.1l-0.3-0.1
|
2230 |
+
l-0.4-0.1l-0.4-0.2l-0.3-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.1l-0.1-0.1l-0.1-0.1h-0.1l-0.1-0.1l-0.1-0.1h-0.1l-0.1-0.2l-0.1-0.2H420
|
2231 |
+
l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.2l-0.1-0.3l0,0v-0.2v-0.2v-0.1v-0.1l0.1-0.1v-0.3l0.1-0.4l0.1-0.4l0.1-0.3l0.2-0.3l0.2-0.3l0.2-0.3
|
2232 |
+
l0.2-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.3-0.1l0.2-0.1l0.3-0.1l0.3-0.1l0.2-0.1
|
2233 |
+
l0.3-0.1l0.6-0.2l0.6-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.8-0.1l0.7-0.1l0.7-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1
|
2234 |
+
l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1h0.8h0.8h0.8h0.8h0.8h0.8h2.5V221.9z M463.1,271.3l-0.2,0.1l0,0l-0.2,0.1
|
2235 |
+
l-0.2,0.1h-0.1h-0.2H462h-0.2l0,0l0,0l0.3,0.2l0.2,0.2l0.3,0.2l0.2,0.2l0.3,0.2l0.2,0.2l0.3,0.2l0.2,0.2l0.3,0.2l0.2,0.2l0.2,0.2
|
2236 |
+
l0.2,0.1l0.3,0.1l0.2,0.1l0.1,0.1l-0.7-0.9l-0.7-1L463.1,271.3l-0.1-0.1l-0.2-0.1L463.1,271.3z"
|
2237 |
+
/>
|
2238 |
+
<path
|
2239 |
+
d="M438.7,215.5h0.6h0.6h0.5h0.6h0.5h0.6h0.5l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l1,0.1l0.9,0.2l0.9,0.2
|
2240 |
+
l0.8,0.2l0.8,0.2l0.7,0.2l0,0h0.1h0.2h0.2h0.2h0.3l0.6-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.8-0.1h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4
|
2241 |
+
l0.4,0.1l0.4,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.2,0.1l0.3,0.2l0.2,0.2l0.2,0.2l0.5,0.5l0.5,0.5l0.4,0.5l0.5,0.5l0.4,0.5
|
2242 |
+
l0.5,0.5l0.4,0.5l0.5,0.5l0.4,0.5l0.4,0.5l0.4,0.5l0.5,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6
|
2243 |
+
l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.3,0.7l0.4,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7
|
2244 |
+
l0.3,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.2,0.7l0.1,0.8l0.2,0.8l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8
|
2245 |
+
l0.1,0.8l0.1,0.8l0.1,0.8l0.1,0.8v0.8v0.8v0.8l-0.1,0.8v0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.8l-0.1,0.4l-0.1,0.4l-0.1,0.5
|
2246 |
+
l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.2,0.5l-0.1,0.5l-0.1,0.5l-0.2,0.5l-0.1,0.4l-0.2,0.4l-0.1,0.4l-0.2,0.4l-0.1,0.4
|
2247 |
+
l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
2248 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.3l-0.2,0.3l-0.3,0.2l-0.2,0.2
|
2249 |
+
l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.4,0.2l-0.3,0.2l-0.3,0.1l-0.4,0.1l-0.3,0.1
|
2250 |
+
l-0.4,0.1l-0.4,0.1l-0.3,0.1l-0.4,0.1l-0.4,0.1l-0.3,0.1l-0.4,0.1l-0.4,0.1h-0.4h-0.4h-0.4h-0.3h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4
|
2251 |
+
h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.4-0.1l-0.4-0.1
|
2252 |
+
l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.3-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.3-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.3-0.2
|
2253 |
+
l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.4-0.3l-0.3-0.3l-0.4-0.3l-0.3-0.3
|
2254 |
+
l-0.4-0.4l-0.4-0.4l-0.3-0.4l-0.4-0.4l-0.3-0.4l-0.4-0.4l-0.3-0.4l-0.4-0.4l-0.3-0.4l-0.3-0.4l-0.4-0.4l-1-1.4l-1-1.3l-0.9-1.3
|
2255 |
+
l-0.9-1.3l-0.9-1.3l-0.9-1.3l-0.9-1.3l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6
|
2256 |
+
l-0.4-0.6l-0.4-0.6l-0.3-0.6l-0.4-0.6l-0.3-0.6l-0.4-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.2-0.6l-0.3-0.6l-0.2-0.6l-0.2-0.7l-0.2-0.7
|
2257 |
+
l-0.2-0.7l-0.2-0.7l-0.2-0.7l-0.2-0.7l-0.2-0.7l-0.2-0.7l-0.1-0.7l-0.2-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7
|
2258 |
+
l-0.1-0.7l-0.1-0.7v-0.7v-0.7V231l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2
|
2259 |
+
l-0.1-0.2L419,229l-0.1-0.3l-0.1-0.3v-0.3v-0.3v-0.3l0.1-0.3v-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3
|
2260 |
+
l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.2-0.3l0.1-0.3l0.2-0.3l0.1-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2
|
2261 |
+
l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.3-0.1l0.2-0.1l0.3-0.1l0.5-0.2
|
2262 |
+
l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.6-0.2l0.5-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.6-0.1h0.6h0.5h0.6h0.6h0.6h0.6h3.2
|
2263 |
+
V215.5z M437.6,221.4h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5l-0.4,0.1l-0.5,0.1l-0.4,0.1l-0.5,0.1l-0.4,0.1L432,222l-0.4,0.1l-0.4,0.1
|
2264 |
+
l-0.4,0.1l-0.4,0.1l-0.3,0.1l-0.4,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l0,0l0.1,0.2l0.1,0.2
|
2265 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.3v0.3l-0.1,0.3l-0.1,0.7l-0.1,0.6l-0.1,0.6v0.6l-0.1,0.6v0.6v0.6v0.6v0.6v0.6l0.1,0.6v0.6
|
2266 |
+
l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.1,0.6l0.2,0.6l0.1,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6
|
2267 |
+
l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.3,0.6l0.2,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.3,0.6l0.4,0.6l0.3,0.6l0.4,0.6l0.3,0.6
|
2268 |
+
l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.4,0.6l0.8,1.2l0.9,1.2l0.9,1.3l0.9,1.3l0.9,1.3l0.9,1.3l1,1.3l0.3,0.4
|
2269 |
+
l0.3,0.4l0.3,0.4l0.3,0.4l0.2,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.2,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.3,0.3l0.2,0.3
|
2270 |
+
l0.3,0.3l0.3,0.3l0.2,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.2l0.3,0.2l0.2,0.2l0.3,0.2l0.3,0.2l0.2,0.2l0.2,0.2l0.3,0.2l0.3,0.2
|
2271 |
+
l0.2,0.2l0.2,0.2l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
2272 |
+
l0.2,0.1l0.2,0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2l0.2-0.1l0.2-0.1l0.2-0.1
|
2273 |
+
l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.2
|
2274 |
+
l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.3l0.1-0.3
|
2275 |
+
l0.2-0.3l0.2-0.3l0.1-0.3l0.2-0.3l0.1-0.3l0.2-0.3l0.1-0.3l0.2-0.3l0.1-0.3l0.2-0.3l0.1-0.3l0.1-0.3l0.1-0.4l0.2-0.4l0.1-0.4
|
2276 |
+
l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.4l0.1-0.5l0.1-0.3l0.1-0.3l0.1-0.7
|
2277 |
+
l0.1-0.6l0.1-0.6l0.1-0.7l0.1-0.7v-0.6v-0.7v-0.7v-0.7l-0.1-0.7V252l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7
|
2278 |
+
l-0.2-0.7l-0.1-0.7l-0.2-0.7l-0.1-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.3-0.6l-0.2-0.6
|
2279 |
+
l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.4-0.6l-0.3-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.6l-0.4-0.5
|
2280 |
+
l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.4-0.4l-0.4-0.4
|
2281 |
+
l-0.4-0.4l-0.4-0.4l-0.4-0.4h-0.1h-0.2h-0.2h-0.3h-0.2h-0.3h-0.3l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1h-0.4h-0.4H450h-0.4
|
2282 |
+
h-0.4h-0.4h-0.4l-0.3-0.1l-0.8-0.2l-0.7-0.2l-0.8-0.2l-0.8-0.1l-0.8-0.1l-0.9-0.1l-0.4-0.1l-0.5-0.1l-0.5-0.1h-0.5h-0.5h-0.5h-0.5
|
2283 |
+
h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h0.7V221.4z"
|
2284 |
+
/>
|
2285 |
+
<path
|
2286 |
+
fill="#0096FF"
|
2287 |
+
d="M481.7,317.6L481.7,317.6h0.3h0.2h0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.4,0.2l0.4,0.2
|
2288 |
+
l0.4,0.2l0.7,0.4l0.2,0.2l0.2,0.1l0.2,0.1h0.1l0,0l0.2,0.1l0.7,0.2l0.9,0.3l1,0.3l0.6,0.2l0.6,0.2l0.7,0.2l0.7,0.2l0.7,0.3l0.7,0.3
|
2289 |
+
l0.7,0.3l0.3,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.3
|
2290 |
+
l0.3,0.3l0.2,0.3l0.2,0.3l0,0l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.1l0.5-0.1l0.5-0.1h0.5h0.5h0.4h0.5h0.5h0.5l0.5,0.1l0.4,0.1
|
2291 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.4,0.1l0.5,0.1l0.5,0.1l0.9,0.2l0.9,0.2l0.4,0.1l0.2-0.1l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.1
|
2292 |
+
l0.7-0.1l0.7-0.1l0.6-0.1l0.6-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.8-0.1l0.7-0.1h0.5h0.3h0.2h0.3l0.3,0.1l0.2,0.1l0.2,0.1
|
2293 |
+
l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.1l0.2,0.1l0.2,0.2l0.2,0.2h0.1l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2h0.1l0.1,0.2l0.1,0.2h0.1
|
2294 |
+
l0.1,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.2,0.1l0,0l0.2,0.1l0.1,0.1l0,0l0.2,0.1l0.1,0.1l0,0l0.2,0.2l0.2,0.2l0,0l0.1,0.2l0.1,0.2
|
2295 |
+
l0.1,0.2l0,0l0.1,0.2v0.2l0.1,0.2l0,0v0.2l-0.1,0.2v0.2l0,0l-0.1,0.2l-0.1,0.2l-0.1,0.2l0,0l-0.1,0.2l-0.2,0.2l0,0l-0.1,0.2
|
2296 |
+
l-0.2,0.2l0,0l-0.1,0.1l-0.2,0.1l-0.1,0.1l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1H523l-0.1,0.3
|
2297 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.1,0.3l-0.2,0.3l-0.1,0.3l-0.2,0.2l-0.2,0.3l-0.3,0.5l-0.4,0.5l-0.4,0.4l-0.4,0.4l-0.4,0.4
|
2298 |
+
l-0.4,0.4l-0.7,0.8l-0.2,0.2v0.1l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.1,0.3l-0.2,0.3l-0.1,0.3l-0.2,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3
|
2299 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l0,0l-0.1,0.1l-0.2,0.1h-0.1l-0.2,0.1l-0.2,0.1h-0.1
|
2300 |
+
l-0.2,0.1h-0.2h-0.2l0,0h-0.3h-0.2h-0.3h-0.1h-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1h-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l0,0
|
2301 |
+
l-0.2-0.2l-0.1-0.2l-0.2-0.2l0,0l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.2l-0.1-0.2l0,0v-0.1v-0.1l-0.1-0.2v-0.3v-0.2l0.1-0.3v-0.2l0.1-0.3
|
2302 |
+
l0.1-0.3l0.1-0.1l-0.4,0.5l-0.4,0.5l-0.3,0.4l-0.2,0.4l-0.2,0.3l-0.2,0.3l-0.1,0.2l0,0l-0.1,0.1v0.1v0.1l-0.1,0.1l0,0l0.1,0.1
|
2303 |
+
l0.2,0.2l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.1,0.4l0.2,0.4l0.1,0.4l0.1,0.4l0.1,0.4v0.4l-0.1,0.4l0.5,0.2
|
2304 |
+
l0.8,0.3l0.8,0.3l0.8,0.3l0.2,0.1h0.2l1.3,0.2l0.7,0.1l0.7,0.1l0.7,0.1l0.6,0.1l0.7,0.1l0.6,0.2l0.5,0.2l0.4,0.1l0.5-0.1l0.4-0.1
|
2305 |
+
l0.4-0.1h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.5l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1
|
2306 |
+
l0.5,0.1l0.5,0.1l0.5,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.4,0.2l0.2,0.1l0.2,0.1h0.1l0.2,0.2l0,0
|
2307 |
+
l0.2,0.1l0.1,0.1h0.1l0.1,0.2l0.2,0.2l0.1,0.2l0,0l0.1,0.2l0.1,0.3l0.1,0.3l0.1,0.3l0,0v0.2v0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2
|
2308 |
+
l0,0l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.2,0.2l-0.2,0.2l0,0l-0.2,0.2l-0.2,0.2l-0.2,0.1l0,0l-0.2,0.1l-0.2,0.1H535h-0.2h-0.1h-0.2h-0.1
|
2309 |
+
h-0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.4,0.1l-0.2,0.1h-0.3h-0.3l-0.5,0.1h-0.6h-0.5h-0.6l-1.2,0.1h-0.5h-0.5h-0.4h-0.3h-0.2h-0.4
|
2310 |
+
l-0.7,0.1l-0.8,0.1l-0.8,0.1l-0.9,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5l-0.5-0.1h-0.3h-0.1
|
2311 |
+
l-0.9,0.4l-1,0.4l-1.1,0.4l-1.1,0.4l-1.1,0.4l-0.7,0.2l-0.6,0.2l-0.6,0.2l-0.7,0.2l-0.7,0.2l-0.6,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2
|
2312 |
+
l-0.7,0.2l-0.6,0.2l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.6,0.1h-0.7h-0.7h-0.6h-0.3h-0.3h-0.4h-0.3h-0.3H496
|
2313 |
+
h-0.3h-0.3l-0.3-0.1l-0.4-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.2l-0.2-0.2
|
2314 |
+
l-0.3-0.2l-0.2-0.2l-0.3-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l0,0h-0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
2315 |
+
l-0.5,0.1h-0.4H487h-0.4h-0.4h-0.4h-0.5h-0.8h-0.9h-0.8H482h-0.8h-0.9h-0.8l-0.8-0.1l-1.5-0.1l-1.5-0.1l-1.4-0.1h-0.7H473h-0.6
|
2316 |
+
h-0.5h-0.2h-0.2h-0.6h-0.7l-0.8,0.1l-0.8,0.1l-0.8,0.1H467h-0.4h-0.4h-0.4h-0.4H465h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.2-0.1
|
2317 |
+
l-0.3-0.1l-0.3-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1h-0.1l-0.2-0.1l-0.1-0.1h-0.1l-0.1-0.2l-0.2-0.2H461l-0.1-0.2l-0.1-0.2v-0.1
|
2318 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2v-0.1l-0.1-0.2v-0.2v-0.2v-0.1v-0.3v-0.3v-0.1l0.1-0.2l0.1-0.2V356l0.1-0.2l0.1-0.2v-0.1l0.1-0.1
|
2319 |
+
l0.1-0.1v-0.1l0.2-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.2l0.2-0.1l0.2-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.1l0.4-0.1l0.4-0.1
|
2320 |
+
l0.5-0.1l0.4-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.6-0.1l1.1-0.2l0.6-0.1l0,0l0.1-0.2l0.1-0.2l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4
|
2321 |
+
l0.3-0.4l0.2-0.4l0.3-0.4l0.3-0.4l0.4-0.4l0.3-0.3l0.3-0.4l0.3-0.3l0.4-0.3l0.3-0.3l0.3-0.3l0.4-0.3l0.3-0.3l0.3-0.3l0.3-0.3
|
2322 |
+
l0.3-0.2l0.3-0.2l0.4-0.3l0.4-0.3l0.4-0.3l0.5-0.3l0.6-0.3l0.5-0.4l0.7-0.4l0.7-0.4l0.7-0.4l0.4-0.2l0,0l-0.3-0.1l-0.3-0.1
|
2323 |
+
l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.2-0.2l-0.3-0.2l-0.3-0.2
|
2324 |
+
l-0.2-0.2l-0.3-0.2l-0.2-0.2l-0.3-0.2l-0.2-0.2l-0.3-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.1h-3.7
|
2325 |
+
h-0.3h-0.2l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.2-0.2l-0.1-0.3l-0.1-0.3
|
2326 |
+
l-0.1-0.3v-0.3v-0.3v-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.3-0.1l0.2-0.1
|
2327 |
+
l0.3-0.1h0.2h0.3h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2l0.2-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.3-0.1l0.2-0.1l0.6-0.2l0.5-0.2l0.6-0.2
|
2328 |
+
l0.6-0.2l0.3-0.1l-0.1-0.2v-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.2-0.3l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1
|
2329 |
+
l0.2-0.1l0.3-0.1h0.3h0.3h0.2h0.1h0.4h0.4l0.5-0.1l0.5-0.1l0.5-0.1h0.2l0.1-0.1l0.3-0.3l0.2-0.3l0.3-0.3l0.3-0.3l0.3-0.2l0.3-0.2
|
2330 |
+
l0.3-0.2l0.3-0.2l0.2-0.2l-0.4-0.1l-0.5-0.1l-0.3-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.2l-0.3-0.2
|
2331 |
+
l-0.3-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.1l-0.1-0.2
|
2332 |
+
l-0.1-0.2l-0.1-0.1l-0.1-0.2v-0.2l-0.1-0.1v-0.2v-0.2l-0.1-0.1v-0.2v-0.2l0.1-0.1v-0.2v-0.2l0.1-0.2l0.1-0.2v-0.1l0.1-0.1l0,0
|
2333 |
+
l0.1-0.2l0.1-0.2l0,0l0.1-0.2l0.1-0.2l0,0l0.1-0.1l0.2-0.1l0,0l0.2-0.2l0.2-0.1l0,0l0.2-0.1l0.2-0.1h0.1l0.2-0.1l0.2-0.1l0,0
|
2334 |
+
l0.2-0.1l0.2-0.1l0,0h0.2h0.2h0.1h0.3L481.7,317.6z M492.7,346.7l-1.1,0.8l-1.1,0.8l-1.1,0.8l-1.2,0.8l-1.1,0.8l-0.8,0.6l0.4-0.1
|
2335 |
+
l0.6-0.2l0.7-0.2l0.5-0.2l0.2-0.1l0.2-0.2l0.7-0.4l0.6-0.4l0.6-0.4l0.6-0.4l0.6-0.4l0.9-0.7l0,0v-0.1v-0.1v-0.1v-0.1v-0.1V347v-0.1
|
2336 |
+
v-0.1l-0.1-0.1v-0.1L492.7,346.7L492.7,346.7L492.7,346.7L492.7,346.7z M491.1,334.8v0.3l0.1,0.3v0.3l0,0h0.2l0.3,0.1l0.2,0.1
|
2337 |
+
l0.2,0.1l0.1-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.1-0.1h-0.2h-0.4h-0.5h-0.4h-0.4H491L491.1,334.8z"
|
2338 |
+
/>
|
2339 |
+
<path
|
2340 |
+
d="M521.4,320.1h0.5h0.5l0.4,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.4,0.1l0.4,0.2l0.2,0.1l0.2,0.1l0.2,0.1
|
2341 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.2,0.4l0.2,0.4
|
2342 |
+
l0.1,0.4l0.2,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4l0.1,0.4v0.4v0.4v0.4v0.3l-0.1,0.4l-0.1,0.3l-0.1,0.3
|
2343 |
+
l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3
|
2344 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.4,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.5,0.3l-0.5,0.3l-0.5,0.3
|
2345 |
+
l-0.5,0.3l-0.5,0.3l-0.5,0.3l-0.9,0.6l-0.9,0.6l-0.8,0.5l-0.4,0.3l-0.4,0.3l-0.4,0.2l-0.4,0.2l-0.3,0.2l-0.4,0.2l-0.2,0.2l-0.2,0.2
|
2346 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l0,0l0,0h-0.1l0,0l0,0l0,0l0,0l0,0l0,0l0,0
|
2347 |
+
l0,0v0.1v0.1l0,0l0.1,0.1v0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1h0.2h0.3h0.3h0.4l0.8,0.1
|
2348 |
+
l0.9,0.1l1.1,0.1l2.4,0.1l1.2,0.1l1.4,0.1l1.3,0.1l1.4,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1
|
2349 |
+
l0.7,0.1l0.7,0.1l0.6,0.1l0.7,0.1l0.6,0.2l0.7,0.2l0.6,0.2l0.5,0.2l0.3,0.1l0.3,0.1l0.3,0.1l0.2,0.1l0.3,0.1l0.2,0.1l0.3,0.1
|
2350 |
+
l0.2,0.1l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3
|
2351 |
+
l0.1,0.3l0.1,0.3l0.1,0.4l0.1,0.4l0.1,0.4v0.4v0.4l-0.1,0.4l-0.1,0.4l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3
|
2352 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.4l-0.3,0.4l-0.3,0.4l-0.4,0.4l-0.3,0.4l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3
|
2353 |
+
l-0.4,0.3l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
|
2354 |
+
l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1h-0.4h-0.4H530h-0.4h-0.8H528h-0.8h-0.8h-0.8h-1.5h-1.5h-0.7h-0.7h-0.7h-0.7h-0.7
|
2355 |
+
h-0.3h-0.4l-2.6,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.2l-2.7,0.1l-1.4,0.1l-1.4,0.1
|
2356 |
+
l-1.3,0.1H486h-1.4h-1.3h-1.4h-1.4h-1.4h-1.3h-1.4H475h-0.3h-0.4h-0.4h-0.4l-1.1,0.1l-1.2,0.1l-1.3,0.1l-1.4,0.1l-0.7,0.1h-0.7
|
2357 |
+
h-0.8h-0.7h-0.8H464h-0.7h-0.8h-0.7h-0.7h-0.4h-0.4h-0.4h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.4-0.1l-0.4-0.1
|
2358 |
+
l-0.3-0.1l-0.4-0.1l-0.3-0.1l-0.4-0.2l-0.3-0.2l-0.4-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.3l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.3l-0.2-0.3
|
2359 |
+
l-0.1-0.3l-0.2-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3v-0.3l-0.1-0.3v-0.3l0.1-0.3v-0.3l0.1-0.3l0.1-0.3
|
2360 |
+
l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.2-0.2l0.1-0.2l0.1-0.2l0.2-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.4
|
2361 |
+
l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.5-0.4l0.4-0.4l0.5-0.4l0.5-0.3l0.5-0.3l0.4-0.3l0.5-0.3l0.5-0.3l0.5-0.3l0.5-0.3
|
2362 |
+
l0.5-0.3l1-0.6l1-0.6l0.9-0.6l1-0.6l0.9-0.5l1.8-1l0.8-0.5l0.7-0.4l0.3-0.2l0.3-0.2l0.3-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.1-0.1l0,0
|
2363 |
+
h0.1l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0h-0.1l0,0l0,0h-0.1l0,0h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2364 |
+
l-0.1-0.1l-0.1-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.3-0.2l-0.2-0.2l-0.3-0.2l-0.3-0.2l-0.4-0.2l-0.3-0.1l-0.4-0.1l-0.4-0.1
|
2365 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.8-0.3l-0.8-0.3l-1.6-0.5l-0.8-0.2l-0.7-0.2l-0.7-0.2l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.4-0.1
|
2366 |
+
l-0.3-0.1l-0.3-0.2l-0.4-0.2l-0.3-0.2L457,339l-0.3-0.3l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.1l-0.1-0.2v-0.1
|
2367 |
+
l-0.1-0.2l-0.1-0.2v-0.1l-0.1-0.2l-0.1-0.2v-0.1v-0.2v-0.2v-0.1v-0.2v-0.2v-0.1l0.1-0.2v-0.2l0.1-0.1v-0.2l0.1-0.2l0.1-0.1l0.1-0.1
|
2368 |
+
l0.1-0.1l0.1-0.1l0.1-0.2l0.1-0.1l0.2-0.2l0.1-0.1l0.2-0.2l0.4-0.4l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3
|
2369 |
+
l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.2l0.4-0.2l0.4-0.2l0.5-0.2l0.4-0.2l0.4-0.2l0.4-0.2
|
2370 |
+
l0.5-0.2l0.4-0.2l0.5-0.2l0.4-0.2l0.5-0.2l0.4-0.2l0.5-0.2l0.4-0.2l0.5-0.2h0.1L470,325l-0.3-0.3l-0.2-0.3l-0.3-0.3l-0.1-0.2
|
2371 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2v-0.2l-0.1-0.3v-0.3v-0.3v-0.2V321l0.1-0.2l0.1-0.2l0.1-0.2
|
2372 |
+
l0.1-0.3l0.1-0.3l0.1-0.2l0.1-0.3l0.2-0.4l0.2-0.3l0.3-0.3l0.2-0.3l0.2-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2
|
2373 |
+
l0.3-0.2l0.3-0.2l0.3-0.1l0.4-0.1l0.3-0.1l0.4-0.1l0.6-0.3l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l1.2-0.3
|
2374 |
+
l1.1-0.3l0.4-0.1l0.4-0.1h0.5h0.4h0.4h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.4,0.2l0.4,0.2
|
2375 |
+
l0.3,0.2l0.4,0.2l0.3,0.2l0.3,0.2l0.4,0.2l0.6,0.4l0.6,0.4l0.7,0.4l0.6,0.4l0.6,0.4l0.5,0.4l0.6,0.4l1.1,0.8l0.5,0.4l0.5,0.4
|
2376 |
+
l0.5,0.4l0.5,0.3l0.5,0.3l0.5,0.3l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0.2,0.1h0.1h0.1h0.1l0,0h0.1
|
2377 |
+
h0.1h0.2h0.2h0.2h0.3h0.2h0.3l0.7-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.9-0.1l2-0.3l1-0.2l1-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1-0.1
|
2378 |
+
h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5L521.4,320.1z M485.3,319L485.3,319L485.3,319h-0.2l-1.1,0.3l-1.2,0.3l-0.6,0.2l-0.6,0.2l-0.6,0.2
|
2379 |
+
l-0.6,0.2l-0.6,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.1h0.1l0.2,0.2l0.3,0.2l0.4,0.2
|
2380 |
+
l0.4,0.2l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3h0.1l0.3,0.1l0.3,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2
|
2381 |
+
l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2
|
2382 |
+
l-0.2,0.2l-0.3,0.2l-0.2,0.1l-0.3,0.1H480h-0.1l-0.3,0.1l-0.7,0.1l-1.9,0.3l-1.1,0.2l-0.9,0.2l-0.4,0.1l-0.4,0.1H474h-0.1l-0.4,0.1
|
2383 |
+
l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
|
2384 |
+
l-0.4,0.2l-0.3,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.3,0.2l-0.4,0.2l-0.2,0.1l0.5,0.1l1.6,0.5l0.8,0.3l0.9,0.3l0.4,0.2l0.5,0.2
|
2385 |
+
l0.4,0.2l0.4,0.2l0.5,0.2l0.4,0.2l0.5,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.2,0.2
|
2386 |
+
l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.2,0.2l0.1,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3
|
2387 |
+
l0.1,0.3l0.1,0.3v0.3l0.1,0.3v0.3v0.3v0.3l-0.1,0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.2
|
2388 |
+
l-0.2,0.2l-0.1,0.2l-0.2,0.2l-0.2,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.2l-0.3,0.2l-0.4,0.2l-0.4,0.2l-0.3,0.2l-0.4,0.2l-0.4,0.2l-0.8,0.5
|
2389 |
+
l-0.8,0.5l-1.8,1l-0.9,0.5l-0.9,0.5l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.4,0.3l-0.5,0.3l-0.5,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3
|
2390 |
+
l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2391 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1v0.1l-0.1,0.1v0.1l0,0l0,0h-0.1l0,0l0,0l0,0h0.1v0.1h0.1l0.1,0.1v0.1h0.1h0.1h0.1h0.1h0.1h0.1
|
2392 |
+
h0.2h0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.3h0.2h0.6h0.7h0.6h0.7h0.7h0.7h0.7h0.7h0.7h0.7l1.4-0.1l1.3-0.1l1.2-0.1l1.1-0.1h0.5
|
2393 |
+
h0.5h0.5h0.5h1.3h1.4h1.3h1.3h1.3h1.4h1.3h1.4h1.3l1.3-0.1l1.4-0.1l1.3-0.1l2.6-0.1l2.7-0.2l2.7-0.2l2.7-0.2l2.6-0.2l2.7-0.2
|
2394 |
+
l2.7-0.2l2.6-0.2l2.7-0.2l2.7-0.2h0.4h0.4h0.8h0.8h0.8h0.8h0.8h1.5h1.5h0.7h0.7h0.7h0.7h0.7h0.4h0.3h0.3h0.4h0.3h0.3l0.3-0.1
|
2395 |
+
l0.3-0.1l0.3-0.1l0.2-0.1l0.3-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1
|
2396 |
+
l0.2-0.1l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.3l0.2-0.3l0.1-0.1l0.1-0.1l0.1-0.1
|
2397 |
+
l0.1-0.1l0.1-0.1v-0.1l0,0h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.1l-0.2-0.1
|
2398 |
+
l-0.2-0.1l-0.2-0.1l-0.4-0.1l-0.4-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.7-0.1
|
2399 |
+
l-0.6-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-1.3-0.1l-1.3-0.1l-1.2-0.1l-1.3-0.1l-2.4-0.1l-1.1-0.1l-1.1-0.1l-0.9-0.1h-0.5l-0.4-0.1
|
2400 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.1-0.1l-0.2-0.1h-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1
|
2401 |
+
l-0.4-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.1-0.3l-0.2-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3
|
2402 |
+
L510,346l-0.1-0.3l-0.1-0.3l-0.1-0.3v-0.3v-0.3v-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.2-0.3l0.1-0.3
|
2403 |
+
l0.2-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.5-0.3
|
2404 |
+
l0.4-0.3l0.5-0.3l0.4-0.3l0.9-0.6l0.9-0.6l0.9-0.6l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.3-0.3l0.4-0.3
|
2405 |
+
l0.3-0.3l0.1-0.1l0.1-0.1l0.2-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1v-0.1
|
2406 |
+
l0.1-0.1l0.1-0.1l0.1-0.1v-0.1l0.1-0.1v-0.1l0.1-0.1V330v-0.1v-0.1v-0.1v-0.1v-0.1v-0.1v-0.2l-0.1-0.2v-0.2l-0.1-0.2l-0.1-0.2
|
2407 |
+
l-0.1-0.2L524,328l-0.1-0.2l-0.1-0.2l-0.1-0.2v-0.1h-0.1l0,0h-0.1l-0.2-0.1l-0.1-0.1L523,327h-0.2h-0.2h-0.3H522h-0.4h-0.3h-0.4
|
2408 |
+
h-0.4h-0.4h-0.4h-0.4h-0.4h-0.5H518h-0.5l-0.9,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-0.9,0.1l-2,0.3l-0.9,0.1l-0.9,0.1l-0.8,0.1
|
2409 |
+
l-0.8,0.1l-0.8,0.1h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.3-0.1l-0.4-0.1l-0.3-0.1
|
2410 |
+
l-0.3-0.1l-0.4-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.6-0.4l-0.5-0.4l-0.6-0.4l-0.6-0.4l-0.5-0.4l-0.6-0.4l-1.1-0.8
|
2411 |
+
l-0.5-0.4l-0.5-0.4l-0.6-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.3l-0.5-0.3l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1L487,320
|
2412 |
+
l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.1-0.1h-0.2h-0.2h-0.1h-0.1h-0.1h-0.1h-0.2V319z"
|
2413 |
+
/>
|
2414 |
+
<path
|
2415 |
+
fill="#25B3FF"
|
2416 |
+
d="M486.3,321.2h0.2h0.1h0.2h0.1h0.2h0.1l0.1,0.1l0.2,0.1l0.1,0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.3,0.2l0.2,0.2
|
2417 |
+
l0.1,0.1l0,0h0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.2,0.1l0.4,0.1h0.1
|
2418 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2
|
2419 |
+
l0.1,0.2l0.1,0.2v0.2l0.1,0.1h0.2l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.5,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.2,0.1l0.3,0.1
|
2420 |
+
l0.2,0.1l0.3,0.1l0.3,0.1l0.2,0.2l0.3,0.2l0.1,0.1h0.2h0.3h0.3h0.3h0.3h0.3h0.3h0.3l0.3,0.1l0.4,0.1l0.3,0.1l0.3,0.1l0.4,0.1
|
2421 |
+
l0.3,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.3,0.3l0.3,0.3l0.2,0.3l0.2,0.4l0.2,0.4l0.2,0.4l0.1,0.4l0.1,0.4l0.1,0.3v0.2v0.2v0.2v0.3v0.3
|
2422 |
+
l-0.1,0.2l-0.1,0.2v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2423 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.2l-0.3,0.2l-0.3,0.2l-0.2,0.1l-0.3,0.1l-0.3,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1
|
2424 |
+
l-0.5,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.5,0.1l-0.4,0.1h-0.4h-0.4H500l-0.9,0.1h-0.3l0.1,0.1l0.1,0.2l0.1,0.2l0,0l0.1,0.2l0.1,0.2
|
2425 |
+
v0.2l0.1,0.2v0.2v0.1v0.2l-0.1,0.2v0.2v0.2l-0.1,0.1v0.1l-0.1,0.1L499,341v0.1l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.2,0.3l-0.1,0.2
|
2426 |
+
l-0.2,0.2l-0.2,0.2l-0.3,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.8,0.6l-0.9,0.6l-0.9,0.6l-0.8,0.5
|
2427 |
+
l-0.8,0.5l-0.2,0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.2l0.1,0.1l0.1,0.2l0,0l0.1,0.1v0.1l0.1,0.1l0,0v0.1l0.1,0.1v0.2l0,0
|
2428 |
+
l-0.1,0.2v0.2l0,0v0.2l-0.1,0.2l0,0l-0.1,0.1v0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2429 |
+
l-0.1,0.2l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.5,0.5l-0.5,0.5l-1.1,0.9l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.2,0.2l-0.2,0.2l-0.1,0.1
|
2430 |
+
l-0.2,0.1l-0.2,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2l-0.2-0.1l-0.2-0.1
|
2431 |
+
l-0.2-0.1l-0.1-0.1l-0.2-0.1l-0.2-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2
|
2432 |
+
l-0.1-0.2l-0.1-0.2V354v-0.2v-0.2v-0.2v-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.2-0.1
|
2433 |
+
l0.2-0.3l0.3-0.3l0.5-0.5l0.1-0.1l-0.1-0.1L482,350l-0.1-0.1l0,0l-0.2-0.1l-0.1-0.1l0,0l-0.1-0.1l-0.1-0.1l-0.1-0.1l0,0l-0.1-0.1
|
2434 |
+
l-0.1-0.1l-0.1-0.1l0,0l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l0,0v-0.2l-0.1-0.2v-0.2l0,0V348v-0.2v-0.1l0,0v-0.2v-0.2l0.1-0.2l0,0
|
2435 |
+
l0.1-0.2l0.1-0.2l0.1-0.2v-0.1l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1
|
2436 |
+
l0.4-0.2l0.4-0.2l0.4-0.2l0.7-0.4l0.7-0.3l0.2-0.1l0.2-0.1l0.5-0.3l0.5-0.3l0.6-0.4l0.3-0.2h-0.1H487h-0.4l-0.4-0.1l-0.4-0.1
|
2437 |
+
l-0.4-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1h-0.1l-0.2-0.1l-0.1-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1h-0.1l-0.1-0.1
|
2438 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.2h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2l0,0v-0.1h-0.1h-0.1l-0.5,0.2l-0.5,0.2l-0.5,0.2
|
2439 |
+
l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1l-0.5,0.1h-0.2h-0.2h-0.3h-0.2h-0.3h-0.3l-0.3-0.1l-0.4-0.1l-0.2-0.1l-0.2-0.1
|
2440 |
+
l-0.1-0.1h-0.1l-0.2-0.1l-0.1-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1L474,339l-0.1-0.1l-0.1-0.1
|
2441 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1l-0.1-0.2l-0.1-0.1l-0.8-0.2l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1
|
2442 |
+
l-0.1-0.1l-0.2-0.1l-0.1-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1l0,0l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.2
|
2443 |
+
l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.2l-0.1-0.2v-0.2v-0.2v-0.2v-0.2l0.1-0.2v-0.2l0.1-0.2l0.1-0.2l0.1-0.2l0,0
|
2444 |
+
l0.1-0.2l0.1-0.2l0.1-0.2l0.1-0.1l0.1-0.1l0.2-0.1l0.1-0.1l0.1-0.1l0.2-0.1l0.1-0.1l0.2-0.1h0.1l0.1-0.1l0.2-0.1l0.2-0.1h0.1h0.2
|
2445 |
+
h0.1h0.2h0.1h0.2h0.2h0.6h0.3h0.1l0.2-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.5-0.1l0.4-0.1h-0.1v-0.2L475,330l0,0v-0.2l-0.1-0.2v-0.2v-0.2
|
2446 |
+
V329l0.1-0.1v-0.1v-0.2l0.1-0.1v-0.1l0.1-0.2v-0.1l0.1-0.1l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.2l0.1-0.1l0.1-0.1l0.1-0.3l0.2-0.4
|
2447 |
+
l0.3-0.3l0.2-0.3l0.3-0.3l0.2-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.4-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1
|
2448 |
+
l0.4-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.2l0,0l0.1-0.2v-0.1l0.1-0.2v-0.2h0.1v-0.1l0.1-0.1l0.1-0.1l0,0l0.1-0.1l0.1-0.1l0.1-0.1
|
2449 |
+
l0.1-0.1h0.1l0.1-0.2l0.1-0.1l0.1-0.1l0.2-0.1l0,0l0.1-0.1l0.2-0.1l0.1-0.1l0.2-0.1l0.1-0.1h0.1l0.2-0.1l0.1-0.1h0.2h0.2h0.2l0,0
|
2450 |
+
h0.2h0.2L486.3,321.2z"
|
2451 |
+
/>
|
2452 |
+
<path
|
2453 |
+
fill="#25B3FF"
|
2454 |
+
d="M455.7,235.5L455.7,235.5h0.2h0.1h0.1h0.2l0,0h0.1h0.2l0.1,0.1l0,0l0.2,0.1l0.1,0.1l0.2,0.1l0,0l0.1,0.1
|
2455 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1v0.1h0.1v0.1
|
2456 |
+
l0.1,0.1v0.1l0,0l0.1,0.2v0.2v0.2v0.2v0.2v0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.1h0.2h0.1h0.1h0.2h0.1h0.1h0.1h0.1h0.1h0.1l0.1,0.1
|
2457 |
+
l0.1,0.1l0.1,0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1l0.1,0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1
|
2458 |
+
l0.1,0.1l0,0l0.1,0.2l0.1,0.2l0,0l0.1,0.1l0.1,0.1v0.1l0.1,0.1v0.1l0.1,0.2v0.3v0.2v0.1v0.1v0.1v0.1l-0.1,0.2v0.2l-0.1,0.2
|
2459 |
+
l-0.1,0.4l-0.2,0.5l-0.2,0.5l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.2,0.6l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.2l0,0l0.1,0.1l0.1,0.2
|
2460 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2v0.2l0.1,0.2v0.2l-0.1,0.2v0.2l-0.1,0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.1
|
2461 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1l-0.2,0.1l-0.2,0.1l-0.1,0.1l-0.2,0.1h-0.2h-0.2H459
|
2462 |
+
h-0.2h-0.2h-0.2h-0.1h-0.1H458h-0.1h-0.1h-0.2h-0.1l-0.2-0.1h-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1h-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1
|
2463 |
+
h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.2v-0.1l-0.1-0.1l-0.1-0.1
|
2464 |
+
l-0.1-0.1v-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.3l-0.1-0.3V249v-0.3v-0.4l0.1-0.4v-0.4l0.1-0.1h-0.1l-0.6,0.3l-0.7,0.3l-0.7,0.3l-0.4,0.2
|
2465 |
+
l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.5,0.1l-0.5,0.1l-0.4,0.1l-0.5,0.1L447,250h-0.5H446h-0.5h-0.3
|
2466 |
+
H445h-0.2h-0.2h-0.3l-0.2-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.1l-0.3-0.1l-0.2-0.1l-0.3-0.1l-0.2-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2467 |
+
l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1h-0.1l-0.1-0.1L441,248l-0.1-0.1l0,0l-0.1-0.1l-0.1-0.1
|
2468 |
+
l-0.1-0.1l-0.1-0.1l0,0v-0.1h-0.1h-0.1h-0.2H440h-0.2h-0.1h-0.1h-0.1l-0.2-0.1l-0.2-0.1l-0.1-0.1h-0.1l-0.1-0.1l-0.2-0.1l-0.1-0.1
|
2469 |
+
l-0.1-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1
|
2470 |
+
l-0.1-0.1v-0.1l-0.1-0.1v-0.1l-0.1-0.1v-0.1v-0.1v-0.2v-0.1v-0.1l0,0l0.1-0.2V244l0.1-0.2l0,0l0.1-0.1v-0.1l0.1-0.1l0.1-0.1
|
2471 |
+
l0.1-0.1l0.1-0.1l0.1-0.2l0.1-0.2l0.2-0.2l0.2-0.3l0.3-0.3l0.3-0.2l0.2-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.6-0.4l0.7-0.4l0.7-0.4
|
2472 |
+
l0.5-0.3H442l-0.8,0.1h-0.4h-0.5h-0.4h-0.4h-0.4h-0.5h-0.4h-0.4h-0.4h-0.5l-0.4-0.1l-0.4-0.1l-0.5-0.1l-0.4-0.1l-0.2-0.1l-0.2-0.1
|
2473 |
+
l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.1-0.1l-0.1-0.1h-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l0,0l-0.1-0.1l-0.1-0.1
|
2474 |
+
l-0.1-0.1h-0.1l-0.1-0.2l-0.1-0.2l-0.1-0.2l0,0l-0.1-0.1v-0.1l-0.1-0.1l0,0l0,0l-0.4-0.1l-0.3-0.1l-0.2-0.1l-0.3-0.1l-0.2-0.1
|
2475 |
+
l-0.2-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1
|
2476 |
+
v-0.1l-0.1-0.2l-0.1-0.2L429,234l-0.1-0.2v-0.1v-0.2l-0.1-0.2v-0.2v-0.2v-0.1v-0.2v-0.2l0.1-0.2V232l0.1-0.1v-0.1l0.1-0.1l0.1-0.1
|
2477 |
+
v-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.2l0.3-0.3l0.2-0.2l0.2-0.2l0.3-0.2l0.2-0.2l0.2-0.2l0.3-0.1
|
2478 |
+
l0.2-0.1l0.3-0.1l0.2-0.1l0.3-0.1l0.2-0.1l0.3-0.1l0.3-0.1l0.2-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.5-0.1h0.6
|
2479 |
+
h0.5h0.6l1.1-0.1l2.1-0.1l0.9-0.1h0.4h0.4h0.3h0.3h0.2h0.2l0.8-0.2l0.8-0.2l0.8-0.2l0.8-0.2l0.1-0.1l0.2-0.1l0.2-0.1l0.5-0.2
|
2480 |
+
l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.5-0.1l0.2-0.1h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2h0.2l0.2,0.1l0.1,0.1l0.2,0.1l0.2,0.1
|
2481 |
+
l0.1,0.1l0.1,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2l0.1,0.2
|
2482 |
+
v0.2v0.2v0.2v0.2l-0.1,0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.1l-0.1,0.1l0,0l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2483 |
+
l-0.1,0.1l-0.1,0.1l-0.2,0.1l-0.1,0.1l0,0l-0.2,0.1L454,231l-0.2,0.1l-0.4,0.2l-0.6,0.2l-0.7,0.3l-0.5,0.2l0,0l0.1,0.2v0.2v0.2v0.2
|
2484 |
+
v0.2l-0.1,0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l0,0l-0.1,0.1l0.2,0.1l0.2,0.1l0.1,0.1l0.1,0.1l0,0l0.1,0.1l0.1,0.1h0.1l0.1,0.1
|
2485 |
+
l0.1,0.1h0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.1l0.1,0.1l0.1,0.1v0.1l0.1,0.2l0.1,0.2v0.1l0.1,0.1v0.1l0.1,0.1v0.1v0.1v0.1
|
2486 |
+
l0.2-0.1h0.1h0.2h0.1h0.1h0.1h0.1h0.1h0.1h0.2h0.1L455.7,235.5z M458.8,246.9L458.8,246.9h-0.2H458.8z"
|
2487 |
+
/>
|
2488 |
+
<g>
|
2489 |
+
<g transform="matrix(1,0,0,1,454.698,46.683)">
|
2490 |
+
<path
|
2491 |
+
d="M343.4,257.1h0.9h0.9h0.9h0.9h0.5h0.2l0.3-0.1l0.4-0.1h0.4h0.4h0.4h0.4h0.4h0.4h0.3h0.3h0.3h0.3h0.3h0.3h0.3
|
2492 |
+
l0.3,0.1l0.7,0.1l0.7,0.1l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.4,0.1l0.6,0.1l0.6,0.1h0.2h0.2h0.3h0.3l0.8,0.1
|
2493 |
+
l0.9,0.1l1,0.1l1.1,0.1l1.1,0.2l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.5,0.1l0.5,0.2l0.5,0.2
|
2494 |
+
l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.2l0.3,0.2l0.2,0.2l0.2,0.2l0.1,0.1l0.2,0.3
|
2495 |
+
l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.3v0.2v0.2v0.2v0.1v0.2v0.2l0,0v0.3v0.3l0,0v0.2l-0.1,0.2l-0.1,0.2l0,0l-0.1,0.2l-0.1,0.2
|
2496 |
+
l-0.1,0.2l0,0l-0.2,0.2l-0.2,0.2l-0.2,0.2l0,0l-0.2,0.1l-0.2,0.1l-0.2,0.1l0,0l-0.2,0.1l-0.2,0.1l0,0H374h-0.2l0,0h-0.3h-0.1
|
2497 |
+
h-0.2H373h-0.1l-0.3-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.5-0.2l-0.5-0.2l-1.1-0.5l-0.5-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1
|
2498 |
+
l-0.2-0.1l-0.2-0.1h-0.1h-0.1h-0.1l0,0h-0.3h-0.4h-0.4h-0.3h-0.3h-0.3h-0.3H365l-0.3-0.1l-0.3-0.1l-0.7-0.1l-0.7-0.1l-0.6-0.2
|
2499 |
+
l-0.6-0.2l-0.6-0.2l-0.6-0.2l-0.6-0.2l-1.2-0.4l-0.5-0.2l-0.4-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1
|
2500 |
+
l-0.7-0.1l-0.7-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1H349l-0.4,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1
|
2501 |
+
l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-1.4,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1h-1.5h-1.5h-1.5h-1.5h-2.4h-0.9l0,0
|
2502 |
+
l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.3l-0.7,0.3l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1
|
2503 |
+
l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.2l-0.3,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2
|
2504 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.1h0.1l0.3,0.1l0.3,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.9,0.1l1,0.1l1,0.1
|
2505 |
+
l1,0.1l2,0.2l1,0.1l1,0.1l0.9,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1
|
2506 |
+
l0.4,0.2l0.4,0.2l0.2,0.1l0.3,0.2h0.1l0.1,0.1l0.1,0.1l0.4,0.2l0.4,0.2l0.5,0.2l0.5,0.3l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2
|
2507 |
+
l0.3,0.2l0.3,0.2l0.3,0.3l0.3,0.3l0.3,0.3l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.3
|
2508 |
+
l0.1,0.3v0.3v0.3v0.3v0.3v0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2
|
2509 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.3,0.1l-0.3,0.1
|
2510 |
+
l-0.5,0.2l-0.5,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1
|
2511 |
+
l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-1.4,0.2l-1.4,0.1l-1.4,0.1l-1.3,0.1L312,289l-1.2,0.1
|
2512 |
+
l-1.2,0.1l-1.1,0.1h-1l-1.8,0.1h-1.3h-0.5h-0.2h-0.1h-0.3H303h-0.3l-0.3-0.1l-0.3-0.1l-0.3-0.1l0,0l-0.3-0.2l-0.2-0.2l-0.2-0.2
|
2513 |
+
l-0.2-0.2l-0.2-0.2l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3v-0.3v-0.3V286l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0,0l0.2-0.2l0.2-0.2
|
2514 |
+
l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0,0h0.2h0.2h0.2h0.4h0.5h1.3l1.7-0.1h1l1.1-0.1l1.1-0.1l1.2-0.1l1.2-0.1
|
2515 |
+
l1.3-0.1l1.3-0.1l1.3-0.1l1.3-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1
|
2516 |
+
l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1l0.4-0.1l0.4-0.2l0.3-0.2l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0.1-0.1l0,0
|
2517 |
+
h-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.4-0.2l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.3-0.1l-0.3-0.1l-0.3-0.2l-0.2-0.1l0,0h-0.1h-0.1
|
2518 |
+
l-0.1-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1h-0.4l-0.9-0.1l-0.9-0.1l-1-0.1
|
2519 |
+
l-2-0.2l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.4-0.1l-0.4-0.1
|
2520 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.2-0.2l-0.2-0.2
|
2521 |
+
l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3l-0.1-0.3v-0.3v-0.3v-0.3v-0.3l0.1-0.3l0.1-0.3
|
2522 |
+
l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.2l0.1-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.3l0.3-0.3
|
2523 |
+
l0.3-0.3l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0,0l-1.4-0.1l-1.4-0.1l-1.3-0.1l-1.3-0.1l-1.2-0.2l-0.4-0.1h-0.5l-1.1-0.1
|
2524 |
+
l-1.2-0.1l-0.6-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.4-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1
|
2525 |
+
l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.3
|
2526 |
+
l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.2-0.3l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4V255
|
2527 |
+
v-0.5V254v-0.5l0.1-0.5l0.1-0.5l0.1-0.5l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.3l0.1-0.2l0.2-0.2l0.2-0.2l0.2-0.2
|
2528 |
+
l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.2
|
2529 |
+
l0.4-0.2l0.4-0.2l0.4-0.2l0.8-0.4l0.8-0.4l1.4-0.7l0.6-0.3l0.5-0.3l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1
|
2530 |
+
l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.3h0.3h0.3h0.3h0.3h0.6h0.6h0.6h0.5h0.5l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1
|
2531 |
+
l0.5,0.1l0.5,0.1l1,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1
|
2532 |
+
l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1h0.7h0.7h0.8h0.8h0.8l1.5,0.1h1.5h1.5h1.5h1.5h3h2.9h1.1h1.1h1.1l1.1-0.1l1.1-0.1l1.1-0.1
|
2533 |
+
l1.1-0.1l1.1-0.1l1.1-0.1l1.1-0.2l1.1-0.2l1.1-0.2l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1h0.1h0.1
|
2534 |
+
l0.2-0.1l0.2-0.1l0.2-0.1l0.3-0.1l0.6-0.3l0.6-0.3l0.6-0.3l0.7-0.3l0.6-0.3l0.6-0.3l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1
|
2535 |
+
l0.4-0.1l0.3-0.1h0.3h0.2h0.2h0.2h0.1h0.2h0.2l0,0l0.3,0.1l0.3,0.1l0,0l0.2,0.1l0.2,0.1l0.2,0.2l0,0l0.2,0.2l0.2,0.2l0.2,0.2l0,0
|
2536 |
+
l0.1,0.2l0.1,0.2l0.1,0.3l0,0l0.1,0.2v0.2v0.2l0,0v0.3v0.3v0.1v0.2v0.2v0.1l-0.1,0.3l-0.1,0.2l-0.1,0.3l-0.1,0.2l-0.1,0.2
|
2537 |
+
l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.3h-0.3h-0.3h-0.2l0,0l-0.6,0.3l-0.6,0.3
|
2538 |
+
l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.4,0.2l-0.4,0.2l-0.4,0.1L357,248l-0.4,0.1l-0.3,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1
|
2539 |
+
l-0.6,0.1l-0.6,0.1l-0.6,0.1l-0.6,0.1l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.1l-1.2,0.1l-1.2,0.1l-1.2,0.1l-1.2,0.1h-1.2
|
2540 |
+
h-1.2h-1.2h-2.9h-3h-1.5h-1.6h-1.6h-1.6l-1.6-0.1h-0.8h-0.8h-0.8h-0.8l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1
|
2541 |
+
l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-1-0.2l-0.9-0.2l-0.9-0.2l-0.9-0.2l-0.4-0.1l-0.4-0.1
|
2542 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.1H304h-0.4h-0.4h-0.4h-0.4H302h-0.2h-0.2h-0.2h-0.2H301h-0.2h-0.2h-0.2h-0.2H300l-0.2,0.1l-0.2,0.1
|
2543 |
+
l-0.2,0.1l-0.2,0.1L299,248l-0.2,0.1l-0.2,0.1l-0.2,0.1l-0.6,0.3l-0.7,0.3l-1.4,0.6l-0.7,0.3l-0.7,0.4l-0.4,0.2l-0.3,0.2
|
2544 |
+
l-0.3,0.2L293,251l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.1,0.1l-0.1,0.1l-0.1,0.1
|
2545 |
+
l-0.1,0.1l-0.1,0.1l-0.1,0.1l-0.1,0.1v0.1v0.1v0.1l0,0l0,0l0,0l0,0l0,0l0,0v0.2v0.2v0.2v0.2v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1
|
2546 |
+
v0.1v0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
2547 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1
|
2548 |
+
l0.6,0.1l1.1,0.1l1.1,0.1l0.5,0.1l0.5,0.1l1.2,0.1l1.2,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1l1.4,0.1
|
2549 |
+
l1.4,0.1l1.5,0.1h1.5h1.4h0.1l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l0.9-0.1l1-0.1l0.9-0.1
|
2550 |
+
l1-0.1l1-0.1h0.9h0.9h0.9h0.9h0.9h0.9h0.9L343.4,257.1z M303.7,289.4L303.7,289.4L303.7,289.4L303.7,289.4z"
|
2551 |
+
/>
|
2552 |
+
</g>
|
2553 |
+
<g transform="matrix(1,0,0,1,381.866,45.2348)">
|
2554 |
+
<path
|
2555 |
+
d="M-30.6-41.7h1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l1,0.2l1,0.2l1,0.2l1,0.2l1,0.2l1,0.3l1,0.3l0.5,0.2
|
2556 |
+
l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2
|
2557 |
+
l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.3l0.4,0.2l0.9,0.7l0.8,0.8l0.7,0.9l0.6,1l0.5,1l0.3,1.1l0.2,1.1l0.1,1.1
|
2558 |
+
l-0.1,1.1l-0.2,1.1L-2-23.3l-0.5,1l-0.6,0.9l-0.7,0.8l-0.8,0.8l-0.9,0.6l-1,0.5l-1,0.4L-8.6-18l-1.1,0.1h-1.1l-1.1-0.2l-1.1-0.3
|
2559 |
+
l-1-0.4l-1-0.6l-0.3-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1
|
2560 |
+
l-0.3-0.1l-0.3-0.1L-19-21l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.6-0.2l-0.6-0.2
|
2561 |
+
l-0.6-0.2l-0.6-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1h-0.7h-0.7h-0.7h-0.7h-0.7h-0.7h-0.7h-0.7
|
2562 |
+
h-0.7l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.6,0.2l-0.6,0.2
|
2563 |
+
l-0.6,0.2l-0.6,0.2l-0.6,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1
|
2564 |
+
l-0.3,0.1l-0.3,0.2l-0.3,0.1l-0.3,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2
|
2565 |
+
l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.7,0.7l-0.7,0.7l-1.4,1.4l-1.5,1.4
|
2566 |
+
l-1.5,1.4l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.7,0.7l-0.6,0.7l-0.3,0.3L-66.5-3l-0.3,0.4
|
2567 |
+
l-0.3,0.3L-67.4-2l-0.3,0.3L-68-1.4l-0.3,0.3l-0.3,0.3l-0.2,0.3L-69-0.2l-0.2,0.3l-0.2,0.3l-0.2,0.3L-69.8,1L-70,1.3l-0.2,0.3
|
2568 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3L-71,2.8l-0.1,0.3l-0.1,0.3l-0.1,0.3L-71.4,4l-0.1,0.3l-0.1,0.3l-0.1,0.3l0,0.1v0.2v0.1v0.2v0.4v0.4
|
2569 |
+
l-0.1,0.5l-0.1,1.3l-0.2,3l-0.1,1.7l-0.1,0.9l-0.1,0.9l-0.1,0.9l-0.1,0.9l-0.1,0.9l-0.1,0.9l-0.1,0.9l-0.2,0.9l-0.2,0.9l-0.1,0.5
|
2570 |
+
l-0.1,0.4l-0.1,0.5l-0.1,0.5l-0.1,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.2,0.5l-0.3,0.5l-0.3,0.6l-0.4,0.6l-0.4,0.6l-0.7,0.4
|
2571 |
+
l-0.3,0.4l-0.6,0.6l-0.4,0.3l-0.5,0.4L-79,30l-0.5,0.3l-0.4,0.2l-1.9,0.9l-1.7,0.9l-1.7,0.9l-1.7,0.9l-1.7,0.9l-1.7,1l-1.7,1
|
2572 |
+
l-1.7,1l-1.7,1l-1.7,1l-1.7,1l-1.7,1l-1.7,1l-1.7,1.1l-1.7,1.1l-1.7,1.1l-1.7,1.1l-1.7,1.1l-1.7,1.1l-1.7,1.1l-1.7,1.1l-1.7,1.1
|
2573 |
+
l-1.7,1.1l-1.7,1.1l-1.7,1.2l-1.7,1.2l-3.4,2.3l-3.4,2.4l-3.4,2.4l-6.9,4.8l-3.5,2.4l-3.5,2.4l-3.5,2.4l-3.5,2.4l-1.8,1.2
|
2574 |
+
l-1.8,1.2l-1.8,1.2l-1.8,1.2l-1.8,1.2l-1.8,1.2l-1.8,1.2l-1.8,1.2l-1.8,1.1l-1.8,1.1l-1.8,1.1L-177,93l-1.8,1.1l-1.8,1.1
|
2575 |
+
l-1.8,1.1l-1.8,1.1l-1.8,1.1l-1.8,1.1l-1.9,1l-1.8,1l-4.2,2.4l-4.2,2.4l-4.2,2.4l-4.2,2.4l-4.2,2.4l-4.2,2.4l-2.1,1.2l-2.1,1.2
|
2576 |
+
l-2.1,1.2l-2.1,1.2l-2.1,1.2l-2.1,1.2l-2.1,1.2l-2.1,1.2l-2.1,1.2l-2.1,1.3l-2.1,1.3l-2.1,1.3l-2.1,1.3l-2.1,1.3l-2.1,1.3
|
2577 |
+
l-2.1,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.3l-2,1.4l-2,1.4
|
2578 |
+
l-2,1.4l-2,1.4l-2,1.4l-2,1.4l-2,1.4l-1.9,1.4l-1.9,1.4l-1.9,1.4l-1.9,1.4l-1.9,1.4l-1.9,1.4l-1.9,1.4l-1.9,1.4l-1.9,1.4
|
2579 |
+
l-1.9,1.4l-1.9,1.5l-1.9,1.5l-1.9,1.5l-1.9,1.5l-1.9,1.5l-1,0.8l-1,0.8l-1,0.8l-1,0.8l-1,0.7l-1,0.7l-1,0.7l-1,0.7l-1,0.7l-1,0.7
|
2580 |
+
l-1,0.7l-1,0.7l-2,1.3l-2,1.3l-4,2.6l-2,1.3l-1,0.6l-1,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.6l-0.9,0.7
|
2581 |
+
l-0.9,0.7l-0.5,0.4l-0.5,0.4l-0.5,0.4l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2v0.4l-0.1,1.1l-0.2,1.1l-0.3,1.1l-0.5,1l-0.6,0.9
|
2582 |
+
l-0.7,0.9l-0.8,0.8l-0.9,0.7l-1,0.5l-1,0.4l-1.1,0.3l-1.1,0.1h-1.1l-1.1-0.1l-1.1-0.3l-1-0.4l-1-0.5l-0.9-0.7l-0.8-0.8l-0.7-0.9
|
2583 |
+
l-0.3-0.4l-0.4-0.6l-0.3-0.6l-0.3-0.6l-0.3-0.7l-0.2-0.7l-0.2-0.7l-0.1-0.7l-0.1-0.7l-0.1-0.7v-0.7v-0.6l0.1-0.6l0.1-0.6l0.1-0.6
|
2584 |
+
l0.1-0.6l0.1-0.5l0.2-0.5l0.2-0.5l0.2-0.5l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.2-0.4l0.4-0.6l0.4-0.6l0.4-0.6l0.5-0.5
|
2585 |
+
l0.4-0.5l0.4-0.5l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.4l0.4-0.3l0.4-0.3l0.7-0.6l0.7-0.5l0.6-0.5l1-0.8l1-0.7l1-0.7l1-0.7
|
2586 |
+
l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l1-0.7l2-1.3l4-2.6l2-1.3l2-1.3l1-0.6l1-0.6l0.9-0.6l0.9-0.6l0.9-0.6l0.9-0.6l0.9-0.7l0.9-0.7
|
2587 |
+
l0.9-0.7l0.9-0.7l0.9-0.7l0.9-0.7l1.9-1.5l1.9-1.5l1.9-1.5l1.9-1.5l1.9-1.5l1.9-1.5l2-1.5l2-1.5l2-1.5l2-1.5l2-1.5l2-1.4l2-1.4
|
2588 |
+
l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2-1.4l2.1-1.4l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3
|
2589 |
+
l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3l2.1-1.3
|
2590 |
+
l2.1-1.3l2.1-1.2l2.1-1.2l2.1-1.2l2.1-1.2l4.2-2.4l4.2-2.4l4.2-2.4l4.2-2.4l4.2-2.4l4.2-2.4l1.8-1l1.7-1l1.7-1l1.7-1l1.8-1l1.7-1
|
2591 |
+
l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.1l1.7-1.2l1.7-1.2l1.7-1.2l3.5-2.4
|
2592 |
+
l3.5-2.4l3.5-2.4l3.5-2.4l6.9-4.8l3.5-2.4l3.5-2.4l3.5-2.4l1.7-1.2l1.8-1.2l1.8-1.2l1.8-1.2l1.8-1.2l1.8-1.2l1.8-1.2l1.8-1.1
|
2593 |
+
l1.8-1.1l1.8-1.1l1.8-1.1l1.8-1.1l1.8-1.1l1.8-1.1l1.8-1.1l1.8-1.1l1.8-1.1l1.8-1.1l1.8-1l1.8-1l1.8-1l1.8-1l1.8-1l1.8-1l1-0.5
|
2594 |
+
v-0.2l0.1-0.6l0.1-0.6l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.8l0.1-0.8l0.1-1.5l0.2-3l0.1-1.4l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7l0.1-0.7
|
2595 |
+
l0.1-0.4l0.1-0.4l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.7l0.2-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.6
|
2596 |
+
l0.3-0.6l0.3-0.6l0.3-0.6l0.3-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5l0.4-0.5
|
2597 |
+
l0.4-0.5l0.4-0.5l0.8-0.9l0.8-0.9l0.8-0.9l0.8-0.9l0.8-0.8l0.8-0.8l0.8-0.8l0.8-0.8l0.8-0.8l1.5-1.5l1.5-1.4l1.4-1.3l0.6-0.6
|
2598 |
+
l0.6-0.6l0.3-0.3l0.4-0.4l0.4-0.4l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3
|
2599 |
+
l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.3l0.4-0.2l0.5-0.2l0.5-0.2l0.4-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2
|
2600 |
+
l0.5-0.2l0.5-0.2l0.5-0.2l0.9-0.4l1-0.4l1-0.3l1-0.3l1-0.3l1-0.3l1-0.3l1-0.2l1-0.2l1-0.2l1-0.2l1-0.2l1-0.1l1-0.1l1-0.1l1-0.1
|
2601 |
+
l1-0.1l1-0.1h1h1h1L-30.6-41.7z M-356,204.7l-0.1-0.1l-0.2-0.3v-0.1L-356,204.7z"
|
2602 |
+
/>
|
2603 |
+
<path
|
2604 |
+
d="M-5.6-32.2l0.8,0.1l0.7,0.2l0,0l0.7,0.2l0.7,0.3l0.6,0.3l0,0l0.8,0.5l0.7,0.6l0,0l0.4,0.4l0.4,0.5l0.3,0.3
|
2605 |
+
l0.4,0.5l0.3,0.4l0.3,0.6l0.3,0.5l0.3,0.5l0.4,0.9l0.4,0.9l0.2,0.3l0.1,0.3l0.1,0.1l0,0l0.1,0.1l0.2,0.2l0.6,0.6l0.4,0.4L5-22
|
2606 |
+
l0.4,0.6L5.7-21l0.2,0.4l0.3,0.4l0.3,0.4l0.3,0.5L7-18.8l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.6L8-16.1l0.1,0.4l0.1,0.5l0.1,0.4
|
2607 |
+
l0.1,0.5l0.2,0.5l0.2,0.6L9-12.6l0.2,0.7l0.2,0.7l0.3,0.7L10-9.7l0.3,0.8l0.3,0.8l0.3,0.8l0.3,0.8l0.4,0.8L12-4.9l0.4,0.8
|
2608 |
+
l0.4,0.8l0.4,0.8l0.2,0.3l0.2,0.3l0.2,0.3L14-1.3L14.2-1l0.2,0.3l0.2,0.3l0.2,0.3L15,0.2l0.2,0.2l0.2,0.2l0.2,0.2L15.8,1l0.1,0.2
|
2609 |
+
L16,1.4l0.1,0.1l0.1,0.1l0.1,0.1l0,0l0.2,0.1L17,2.1l0.5,0.3L18,2.7L18.5,3L19,3.3l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4L21,5.3
|
2610 |
+
l0.4,0.4l0.4,0.4l0.3,0.4l0.3,0.4l0.3,0.4L23,7.7l0.3,0.4l0.3,0.4l0.2,0.4L24,9.3l0.2,0.4l0.2,0.4l0.2,0.4l0.4,0.7l0.3,0.7
|
2611 |
+
l0.3,0.7l0.3,0.7l0.3,0.6l0.3,0.6l0.5,1.1l0.2,0.5l0.2,0.5l0.2,0.4l0.2,0.4l0.2,0.3l0.2,0.3l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1
|
2612 |
+
l0.1,0.1l0.1,0.1v0.1l0.1,0.1l0,0l0.1,0.1l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.4l0.4,0.5l0.4,0.5l0.4,0.5l0.4,0.5l0.4,0.5
|
2613 |
+
l0.4,0.5l0.4,0.5l0.4,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.3,0.5l0.6,1l0.6,1l0.6,1l0.6,1l0.5,1l0.5,1l0.5,1
|
2614 |
+
l0.5,1l0.5,1l0.5,1l0.5,1l0.5,1l0.4,1l0.4,1l0.4,1l0.4,1l0.4,1l0.4,1l0.8,2l0.8,2l1.5,4l0.8,2l0.8,2l0.4,1l0.4,1l0.4,0.9l0.4,0.9
|
2615 |
+
l0.4,0.9l0.4,0.9l0.4,0.9l0.4,0.9l0.4,0.9l0.4,0.9l0.4,0.9l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.4,0.8l0.5,0.8l0.2,0.3
|
2616 |
+
l0.2,0.4l0.2,0.4l0.2,0.3l0.2,0.4l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.3,0.3l0.3,0.4l0.5,0.6l0.5,0.6l0.5,0.6l0.4,0.7
|
2617 |
+
l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.4,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7l0.3,0.7
|
2618 |
+
l0.3,0.7l0.3,0.7l0.2,0.7l0.2,0.6l0.2,0.6l0.2,0.6l0.2,0.6l0.4,1.3l0.4,1.3l0.4,1.2l0.4,1.2l0.4,1.2l0.7,2.4l0.3,1.1l0.3,1.1
|
2619 |
+
l0.3,1.1l0.3,1.1l0.3,1.1l0.4,1.1l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.5l0.2,0.4l0.2,0.4
|
2620 |
+
l0.2,0.5l0.9,1.7l0.9,1.8l0.9,1.8l0.9,1.8l0.9,1.9l0.9,1.9l0.9,1.9l0.9,2l0.9,2l0.9,2l0.9,2l0.8,2l0.8,2.1l0.8,2.1l0.8,2.1
|
2621 |
+
l0.8,2.1l0.8,2.1l0.8,2.2l0.4,1.1l0.4,1.1l0.4,1.1l0.4,1.1l0.4,1.1l0.4,1.1l0.4,1.1l0.4,1.1l0.4,1.1l0.4,1.1l0.3,1.1l0.3,1.1
|
2622 |
+
l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.1l0.3,1.2l0.3,1.1l0.3,1.2
|
2623 |
+
l0.3,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.2,1.2l0.1,1.2
|
2624 |
+
l0.1,1.2l0.1,1.2l0.1,1.2l0.1,1.2l0.1,1.2l0.1,1.2l0.1,1.2l0.1,1.2l0.1,1.2l0.1,1.1v1.1v1.1v1.1v1.1v1.1v1.1v1.1v1.1v1.1
|
2625 |
+
l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.1,1.1l-0.2,1.1l-0.2,1.1l-0.2,1.1l-0.2,1.1l-0.2,1.1
|
2626 |
+
l-0.2,1.1l-0.2,1.1l-0.2,1.1l-0.3,1.1l-0.3,1.1l-0.3,1.1l-0.3,1.1l-0.3,1.1l-0.3,1.1l-0.4,1.1l-0.4,1l-0.4,1l-0.4,1l-0.4,1
|
2627 |
+
l-0.4,1l-0.5,1l-0.5,1l-0.5,1.1l-0.3,0.6l-0.4,0.6l-0.4,0.5l-0.4,0.5l-0.4,0.4l-0.4,0.4l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.3,0.2
|
2628 |
+
l-0.3,0.2l-0.4,0.2l-0.6,0.4l-0.6,0.3l-0.6,0.3L89,261l-0.6,0.3l-0.6,0.2l-0.6,0.2l-0.5,0.2l-0.5,0.2l-0.5,0.2l-1,0.4l-1,0.3
|
2629 |
+
l-0.9,0.3l-0.8,0.3l-0.3,0.1l-0.3,0.1l-0.2,0.1L81,264l-0.1,0.1l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.2l-0.4,0.3l-0.8,0.5l-0.8,0.4
|
2630 |
+
l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.4l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.3l-0.9,0.2l-0.9,0.2l-0.9,0.2l-0.9,0.2
|
2631 |
+
l-0.9,0.2l-0.9,0.2l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1l-0.9,0.1h-0.9h-0.9h-0.9h-0.9h-0.9H53h-0.9h-0.9h-0.9l-0.9-0.1
|
2632 |
+
l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1
|
2633 |
+
l-0.8-0.2l-0.8-0.2l-0.8-0.2L35,269l-1.6-0.3l-1.6-0.4l-1.5-0.4l-1.5-0.4l-1.6-0.4l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.6-0.3
|
2634 |
+
l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-0.6-0.3l-1.1-0.5l-2.1-1.1l-1-0.5l-0.9-0.4l-0.4-0.2l-0.4-0.2l-0.3-0.2l-0.3-0.1l-0.2-0.1
|
2635 |
+
l-0.2-0.1h-0.1h-0.3l-1-0.2l-0.9-0.3l-0.9-0.4l-0.9-0.5L9,259.1l-0.7-0.7l-0.6-0.8l-0.6-0.8l-0.5-0.9L6.2,255L6,254l-0.1-1v-1
|
2636 |
+
l0.1-1l0.2-1l0.3-0.9l0.4-0.9l0.5-0.9l0.6-0.8l0.7-0.7l0.8-0.6l0.8-0.6l0.9-0.5l0.9-0.4l1-0.3l1-0.1h1h0.3h0.5l0.5,0.1l0.5,0.1
|
2637 |
+
l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.7,0.2l0.7,0.2l0.7,0.2l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l0.6,0.3l1.1,0.5l1.1,0.5l2.1,1l1,0.5
|
2638 |
+
l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.3,0.1l0.3,0.1l0.2,0.1l0.2,0.1h0.1h0.2l1.3,0.3l1.4,0.3l1.4,0.3l1.4,0.3l1.4,0.3l1.4,0.3
|
2639 |
+
l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1
|
2640 |
+
l0.7,0.1H52h0.6h0.6h0.6h0.6H55h0.6h0.6h0.6h0.6H58h0.6l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.5-0.1l0.5-0.1
|
2641 |
+
l0.5-0.1l0.5-0.1l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.3l0.5-0.3l0.2-0.1l0.2-0.1
|
2642 |
+
l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.3l0.5-0.3l0.6-0.3l0.6-0.3l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.5-0.2l0.9-0.3l0.9-0.3l0.9-0.3
|
2643 |
+
l0.9-0.3l0.4-0.1l0.4-0.1l0.4-0.1l0.3-0.1l0.2-0.4l0.3-0.8l0.3-0.8l0.3-0.8l0.3-0.8l0.3-0.8l0.3-0.8l0.3-0.8l0.3-0.8l0.2-0.8
|
2644 |
+
l0.2-0.8l0.2-0.8l0.2-0.8l0.2-0.9l0.2-0.9l0.2-0.9l0.2-0.9l0.2-0.9l0.1-0.9l0.1-0.9l0.1-0.9l0.1-0.9l0.1-0.9l0.1-0.9l0.1-0.9
|
2645 |
+
l0.1-0.9l0.1-0.9l0.1-0.9V221v-1v-1v-1v-1v-1v-1v-1v-1v-1v-1l-0.1-1l-0.1-1l-0.1-1l-0.1-1l-0.1-1l-0.1-1l-0.1-1l-0.1-1l-0.1-1
|
2646 |
+
l-0.1-1l-0.1-1l-0.1-1l-0.2-1l-0.2-1l-0.2-1l-0.2-1l-0.2-1l-0.2-1l-0.2-1l-0.2-1l-0.2-1l-0.2-1.1l-0.2-1.1l-0.2-1.1l-0.2-1.1
|
2647 |
+
l-0.2-1.1l-0.2-1.1l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.3-1l-0.3-1l-0.3-1.1l-0.3-1
|
2648 |
+
l-0.3-1l-0.3-1l-0.3-1l-0.3-1l-0.3-1l-0.3-1l-0.3-1l-0.4-1l-0.4-1l-0.4-1l-0.4-1l-0.4-1l-0.7-2l-0.8-2l-0.8-2l-0.8-2l-0.8-2
|
2649 |
+
l-0.8-2l-0.8-1.9l-0.8-1.9l-0.8-1.9l-0.8-1.9l-0.8-1.9l-0.8-1.8l-0.8-1.8l-0.8-1.8l-0.8-1.8l-0.8-1.7l-0.8-1.7l-0.8-1.7l-0.3-0.6
|
2650 |
+
l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.7l-0.3-0.6l-0.2-0.7l-0.2-0.7l-0.2-0.6l-0.2-0.7l-0.4-1.3l-0.4-1.3
|
2651 |
+
l-0.4-1.2l-0.4-1.2l-0.4-1.2l-0.3-1.2l-0.7-2.3l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.3-1.1l-0.4-1.1l-0.2-0.5l-0.2-0.5l-0.2-0.5
|
2652 |
+
L51,99.4l-0.2-0.5l-0.2-0.5l-0.2-0.5l-0.2-0.5L50,96.9l-0.2-0.5l-0.2-0.5l-0.2-0.4l-0.2-0.4L49,94.7l-0.2-0.4l-0.2-0.4l-0.2-0.4
|
2653 |
+
l-0.2-0.4L48,92.7l-0.2-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4l-0.3-0.4L46,89.9l-0.3-0.4L45.3,89l-0.4-0.5L44.5,88l-0.4-0.5
|
2654 |
+
L43.8,87l-0.3-0.5L43.2,86l-0.3-0.5L42.6,85l-0.3-0.5L42,84l-0.6-1l-0.6-1l-0.6-1l-0.6-1l-0.5-1l-0.5-1l-0.5-1l-0.5-1l-0.5-1
|
2655 |
+
l-0.5-1l-0.5-1l-0.5-1l-0.4-1l-0.4-1l-0.4-1L34,68l-0.4-1l-0.4-1l-0.8-2l-0.8-2l-1.5-4l-0.8-2l-0.8-2l-0.4-1l-0.4-0.9l-0.4-0.9
|
2656 |
+
l-0.4-0.9l-0.4-0.9l-0.4-0.9l-0.4-0.9l-0.4-0.9l-0.4-0.9l-0.4-0.9l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8l-0.4-0.8
|
2657 |
+
l-0.5-0.8l-0.5-0.7l-0.2-0.3l-0.2-0.4l-0.2-0.3l-0.2-0.3L20.1,37l-0.2-0.3l-0.2-0.3l-0.2-0.3l-0.2-0.3L19,35.5l-0.2-0.3l-0.3-0.3
|
2658 |
+
l-0.3-0.3l-0.3-0.3L17.6,34l-0.3-0.3L17,33.4l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.4-0.4l-0.3-0.4L14.8,31l-0.3-0.4l-0.3-0.4
|
2659 |
+
l-0.3-0.4l-0.3-0.4L13.4,29l-0.2-0.4L13,28.2l-0.2-0.4l-0.4-0.7L12,26.4l-0.3-0.7L11.4,25l-0.3-0.6l-0.3-0.6l-0.5-1.1l-0.2-0.5
|
2660 |
+
l-0.2-0.5l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4L9,20l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1l-0.1-0.1v-0.1
|
2661 |
+
l-0.1-0.1L8.1,19l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l0,0l-0.2-0.1l-0.5-0.3l-0.6-0.4l-0.6-0.4l-0.6-0.4L5.1,17
|
2662 |
+
l-0.5-0.4l-0.5-0.4l-0.4-0.4l-0.4-0.4L2.9,15l-0.4-0.4l-0.4-0.5l-0.4-0.4l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5
|
2663 |
+
l-0.3-0.5l-0.3-0.5L-1,9.2l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.5l-0.5-1l-0.5-1l-0.5-1l-0.5-1l-0.4-1l-0.4-1l-0.4-1l-0.4-1l-0.4-1
|
2664 |
+
l-0.4-1l-0.3-1l-0.3-0.9l-0.3-0.9l-0.3-0.9l-0.3-0.9l-0.2-0.8L-8.5-9l-0.2-0.7l-0.2-0.2l-0.3-0.3l-0.4-0.4l-0.4-0.5l-0.4-0.5
|
2665 |
+
l-0.3-0.4l-0.2-0.4l-0.2-0.4l-0.3-0.4l-0.3-0.6l-0.3-0.5l-0.2-0.5l-0.2-0.5l-0.3-0.7l-0.5-0.5l-0.5-0.8l-0.5-0.9l-0.4-0.9l-0.2-1
|
2666 |
+
l-0.1-1v-0.5v-0.5v-0.7l0.1-0.7v-0.1l0.1-0.7l0.2-0.7l0.2-0.6l0,0l0.3-0.7l0.4-0.7l0.4-0.7l0,0l0.6-0.7L-12-29l0.7-0.5l0.7-0.5
|
2667 |
+
l0,0l0.7-0.4l0.8-0.3l0.8-0.2l0.8-0.2l0.8-0.1l0,0h0.8L-5.6-32.2z M14.2,260.9h0.2l0,0H14H14.2z M2.1-22.5L2.1-22.5v-0.2V-22.5z
|
2668 |
+
M2.1-23.1v-0.5v-0.2V-23.1z"
|
2669 |
+
/>
|
2670 |
+
<path
|
2671 |
+
d="M-358.4,223.5l1.1,0.2l0,0l0.6,0.2l0.6,0.2l0.2,0.1l1.3,0.5l1.7,0.7l0.7,0.3l0.5,0.2l0.2,0.1l0.2,0.1
|
2672 |
+
l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.4,0.1l0.4,0.1l0.5,0.1l0.5,0.1l0.5,0.1l1.2,0.2l1.3,0.3l0.7,0.2l0.8,0.2l0.8,0.2l0.7,0.2
|
2673 |
+
l0.4,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.8,0.1
|
2674 |
+
l0.8,0.1l1.6,0.1l1.6,0.1l1.7,0.1l1.7,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l1,0.1l1,0.1l1,0.2l1,0.2l0.9,0.2l1.2,0.2
|
2675 |
+
l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.2l1.2,0.1l1.2,0.1
|
2676 |
+
l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l1.3,0.1l2.6,0.2l2.6,0.1l2.6,0.1
|
2677 |
+
l2.6,0.1l2.6,0.1l2.6,0.1l2.6,0.1l2.6,0.1l2.6,0.1l2.6,0.1h2.6h2.6h2.6h2.6h2.5h2.5h5h5.3h5.3h5.3l5.3,0.1l5.3,0.1l5.3,0.1
|
2678 |
+
l5.3,0.1l5.3,0.1l5.3,0.1l5.3,0.2l5.3,0.2l5.3,0.2l5.3,0.2l5.3,0.2l5.3,0.2l5.3,0.2l5.3,0.2l5.3,0.2l5.3,0.3l5.3,0.3l5.3,0.3
|
2679 |
+
l5.3,0.3l5.3,0.3l5.3,0.3l5.3,0.3l5.3,0.3l5.3,0.3l5.3,0.3l5.3,0.3l5.3,0.4l5.3,0.4l5.2,0.4l1.7,0.1l1.7,0.1l3.4,0.2l3.4,0.2
|
2680 |
+
l3.4,0.2l3.5,0.2l3.5,0.2l3.5,0.1l3.5,0.1l3.5,0.1l3.5,0.1l3.5,0.1l3.4,0.1h3.4h3.4h3.4h3.3h0.6h0.6h0.7h0.7h0.7l0.8-0.1l1.7-0.1
|
2681 |
+
l1.8-0.1l1.9-0.1l1-0.1l1-0.1l1-0.1l1-0.1h1h1.1h1.1h1.1h1.1h0.6h0.5h0.5h0.5h0.5h0.5l0.5,0.1L12,245l0.6,0.1l0.5,0.1l0.6,0.1
|
2682 |
+
l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.1l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.2l0.6,0.3l0.4,0.2l1,0.5l0.9,0.7l0.8,0.8l0.7,0.9
|
2683 |
+
l0.6,0.9l0.5,1l0.3,1.1l0.2,1.1l0.1,1.1l-0.1,1.1l-0.2,1.1l-0.4,1.1l-0.5,1l-0.6,0.9l-0.7,0.9l-0.8,0.8l-0.9,0.7l-1,0.5l-1,0.4
|
2684 |
+
l-1.1,0.3l-1.1,0.1h-1.1l-1.1-0.1l-1.1-0.3l-1-0.4l-0.2-0.1l0,0h-0.1h-0.1H12h-0.1h-0.2h-0.2h-0.2h-0.2h-0.2h-0.2h-0.3h-0.3H9.8
|
2685 |
+
H9.5H9.2H8.9H8.6H8.3H7.9H7.6H6.8H6H5.2H4.4H3.5H2.6l-0.9,0.1l-0.9,0.1l-0.9,0.1l-1.8,0.1l-1.8,0.1l-1.8,0.1l-0.9,0.1l-0.9,0.1
|
2686 |
+
h-0.9h-0.9H-10h-0.8h-3.5h-3.5h-3.5h-3.5l-3.5-0.1l-3.5-0.1l-3.5-0.1l-3.5-0.1l-3.5-0.1l-3.5-0.1l-3.5-0.2l-3.5-0.2l-3.5-0.2
|
2687 |
+
l-3.5-0.2l-3.5-0.2l-1.7-0.1l-1.7-0.1l-5.2-0.4l-5.2-0.4l-5.2-0.4l-5.2-0.4l-5.2-0.3l-5.2-0.3l-5.2-0.3l-5.3-0.3l-5.2-0.3
|
2688 |
+
l-5.3-0.3l-5.3-0.3l-5.3-0.3l-5.3-0.3l-5.3-0.3l-5.3-0.2l-5.3-0.2l-5.3-0.2l-5.3-0.2l-5.3-0.2l-5.3-0.2l-5.3-0.2l-5.3-0.2
|
2689 |
+
l-5.3-0.1l-5.3-0.1l-5.3-0.1l-5.3-0.1l-5.2-0.1l-5.2-0.1l-5.2-0.1h-5.2h-5.2h-5.2h-5.1h-2.6h-2.6h-2.6h-2.6h-2.6h-2.6h-2.6
|
2690 |
+
l-2.6-0.1l-2.7-0.1l-2.7-0.1l-2.7-0.1l-2.7-0.1l-2.7-0.1l-2.7-0.1l-2.7-0.2l-2.7-0.2l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1
|
2691 |
+
l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.1l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2
|
2692 |
+
l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.3-0.2l-1.2-0.2l-0.7-0.1l-0.7-0.1
|
2693 |
+
l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.8-0.1l-0.8-0.1l-1.6-0.1l-1.6-0.1l-1.7-0.1l-1.7-0.1l-0.9-0.1
|
2694 |
+
l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-1-0.1l-1-0.2l-1-0.2l-1-0.2l-1-0.2l-0.5-0.1l-0.5-0.1l-0.5-0.1
|
2695 |
+
l-0.4-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-1.2-0.2l-1.3-0.3l-0.7-0.2l-0.7-0.2l-0.8-0.2l-0.8-0.2l-0.8-0.2l-0.4-0.1
|
2696 |
+
l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.8-0.3l-0.9-0.4l-1.7-0.8l-0.8-0.3l-0.7-0.3l-0.3-0.1l-1-0.6l-0.9-0.7l-0.8-0.8
|
2697 |
+
l-0.7-0.9l-0.6-1l-0.4-1l-0.3-1.1l-0.2-1.1v-1.1l0.1-1.1l0.3-1.1l0.4-1.1l0.5-1l0.7-0.9l0.8-0.8l0.9-0.7l1-0.6l1-0.5l1.1-0.4
|
2698 |
+
l1.1-0.2l1.1-0.1L-358.4,223.5z"
|
2699 |
+
/>
|
2700 |
+
<path
|
2701 |
+
d="M-365,199.4h0.3h0.3h0.3l0.4,0.1l0.7,0.2l0.4,0.1l0.3,0.1l0.3,0.1l0.3,0.1h0.1l0.2,0.1l0.2,0.1l0.2,0.1
|
2702 |
+
l0.2,0.1h0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2h0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.1l0.2,0.2l0.2,0.2
|
2703 |
+
l0.2,0.2l0.2,0.2l0.2,0.3l0.2,0.3v0.1l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.1l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3
|
2704 |
+
l0.1,0.3v0.3v0.1v0.3v0.3v0.3v0.3v0.3v0.1v0.3v0.3v0.3v0.3l-0.1,0.3v0.1l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3v0.1l-0.1,0.3
|
2705 |
+
l-0.1,0.3l-0.1,0.3l-0.2,0.4l-0.4,0.7l-0.3,0.5l-0.3,0.4l-0.3,0.4l-0.5,0.6l-0.5,0.5l-0.4,0.4l-0.4,0.4l-0.4,0.4l-0.7,0.6
|
2706 |
+
l-0.7,0.6l-0.3,0.3l-0.3,0.3l-0.3,0.2l-0.1,0.1l-0.1,0.5v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.2v0.2v0.2
|
2707 |
+
v0.2v0.2v0.2v0.2v0.2v0.2v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1v0.1l0,0v0.1h0.1l0.1,0.1h0.1l0.1,0.1
|
2708 |
+
l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.1,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.4,0.1l0.3,0.1l0.3,0.1
|
2709 |
+
l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2
|
2710 |
+
l0.2,0.2l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3l0.1,0.3v0.3
|
2711 |
+
v0.3v0.3v0.3v0.3v0.3v0.3v0.3v0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.1,0.3l-0.2,0.3
|
2712 |
+
l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2
|
2713 |
+
l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1h-0.3h-0.3h-0.3
|
2714 |
+
h-0.3h-0.3h-0.3h-0.3h-0.3l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.6-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.2l-0.7-0.3l-0.7-0.3l-0.6-0.3l-0.6-0.3
|
2715 |
+
l-0.6-0.3l-0.6-0.3l-0.6-0.4l-0.6-0.4l-0.6-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.4l-0.5-0.5l-0.5-0.5l-0.5-0.5l-0.4-0.5l-0.4-0.5
|
2716 |
+
l-0.4-0.5l-0.4-0.5l-0.4-0.5l-0.3-0.5l-0.3-0.5l-0.3-0.6l-0.3-0.6l-0.3-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6l-0.2-0.6
|
2717 |
+
l-0.2-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.6l-0.1-0.5l-0.1-0.6v-0.6v-0.5v-0.5v-0.5v-0.5v-0.5v-0.6v-0.5
|
2718 |
+
v-0.5v-0.5v-0.5v-0.5v-0.5l0.1-0.5l0.1-0.5l0.1-1l0.1-1l0.2-1.1l0.1-0.7l0.2-0.7l0.2-0.7l0.2-0.6l0.3-0.6l0.3-0.5l0.3-0.5
|
2719 |
+
l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.4l0.3-0.3l0.3-0.3l0.3-0.3l0.5-0.5l0.5-0.5l0.5-0.5l0.5-0.4l0.5-0.4l0.4-0.4l0,0l0.1-0.2l0.1-0.3
|
2720 |
+
l0.1-0.3l0.1-0.3l0.1-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.3-0.2
|
2721 |
+
l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1h0.3h0.3h0.3h0.3h0.3
|
2722 |
+
L-365,199.4z M-366.9,217h0.1H-366.9L-366.9,217z"
|
2723 |
+
/>
|
2724 |
+
</g>
|
2725 |
+
</g>
|
2726 |
+
</g>
|
2727 |
+
</svg>
|
{images/previews → assets/img}/cap.jpg
RENAMED
File without changes
|
{images/previews → assets/img}/collection.jpg
RENAMED
File without changes
|
assets/img/grid.svg
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="231" height="252" fill="none">
|
2 |
+
<rect width="65.374" height="65.374" x=".162" y=".779" fill="#E1E3E6" rx="3"/>
|
3 |
+
<rect width="47.266" height="5.148" x="9.216" y="76.153" fill="#E1E3E6" rx="2.574"/>
|
4 |
+
<rect width="62.8" height="15" x="1.565" y="101.448" fill="#E1E3E6" rx="5"/>
|
5 |
+
<rect width="65.374" height="65.374" x=".162" y="136.277" fill="#E1E3E6" rx="3"/>
|
6 |
+
<rect width="47.266" height="5.148" x="9.216" y="211.651" fill="#E1E3E6" rx="2.574"/>
|
7 |
+
<rect width="62.8" height="15" x="1.565" y="236.946" fill="#E1E3E6" rx="5"/>
|
8 |
+
<rect width="65.374" height="65.374" x="82.478" y=".779" fill="#E1E3E6" rx="3"/>
|
9 |
+
<rect width="47.266" height="5.148" x="91.532" y="76.153" fill="#E1E3E6" rx="2.574"/>
|
10 |
+
<rect width="62.8" height="15" x="83.882" y="101.448" fill="#E1E3E6" rx="5"/>
|
11 |
+
<rect width="65.374" height="65.374" x="82.478" y="136.277" fill="#E1E3E6" rx="3"/>
|
12 |
+
<rect width="47.266" height="5.148" x="91.532" y="211.651" fill="#E1E3E6" rx="2.574"/>
|
13 |
+
<rect width="62.8" height="15" x="83.882" y="236.946" fill="#E1E3E6" rx="5"/>
|
14 |
+
<rect width="65.374" height="65.374" x="164.788" y=".779" fill="#E1E3E6" rx="3"/>
|
15 |
+
<rect width="47.266" height="5.148" x="173.843" y="76.153" fill="#E1E3E6" rx="2.574"/>
|
16 |
+
<rect width="62.8" height="15" x="166.192" y="101.448" fill="#E1E3E6" rx="5"/>
|
17 |
+
<rect width="65.374" height="65.374" x="164.788" y="136.277" fill="#E1E3E6" rx="3"/>
|
18 |
+
<rect width="47.266" height="5.148" x="173.843" y="211.651" fill="#E1E3E6" rx="2.574"/>
|
19 |
+
<rect width="62.8" height="15" x="166.192" y="236.946" fill="#E1E3E6" rx="5"/>
|
20 |
+
<rect width="6.177" height="6.177" x="13.283" y="86.301" fill="#E1E3E6" rx="3"/>
|
21 |
+
<rect width="6.177" height="6.177" x="21.498" y="86.301" fill="#E1E3E6" rx="3"/>
|
22 |
+
<rect width="6.177" height="6.177" x="29.713" y="86.301" fill="#E1E3E6" rx="3"/>
|
23 |
+
<rect width="6.177" height="6.177" x="37.927" y="86.301" fill="#E1E3E6" rx="3"/>
|
24 |
+
<rect width="6.177" height="6.177" x="46.238" y="86.301" fill="#E1E3E6" rx="3"/>
|
25 |
+
<rect width="6.177" height="6.177" x="95.599" y="86.301" fill="#E1E3E6" rx="3"/>
|
26 |
+
<rect width="6.177" height="6.177" x="103.814" y="86.301" fill="#E1E3E6" rx="3"/>
|
27 |
+
<rect width="6.177" height="6.177" x="112.029" y="86.301" fill="#E1E3E6" rx="3"/>
|
28 |
+
<rect width="6.177" height="6.177" x="120.243" y="86.301" fill="#E1E3E6" rx="3"/>
|
29 |
+
<rect width="6.177" height="6.177" x="128.554" y="86.301" fill="#E1E3E6" rx="3"/>
|
30 |
+
<rect width="6.177" height="6.177" x="177.909" y="86.301" fill="#E1E3E6" rx="3"/>
|
31 |
+
<rect width="6.177" height="6.177" x="186.124" y="86.301" fill="#E1E3E6" rx="3"/>
|
32 |
+
<rect width="6.177" height="6.177" x="194.339" y="86.301" fill="#E1E3E6" rx="3"/>
|
33 |
+
<rect width="6.177" height="6.177" x="202.553" y="86.301" fill="#E1E3E6" rx="3"/>
|
34 |
+
<rect width="6.177" height="6.177" x="210.864" y="86.301" fill="#E1E3E6" rx="3"/>
|
35 |
+
<rect width="6.177" height="6.177" x="13.283" y="221.798" fill="#E1E3E6" rx="3"/>
|
36 |
+
<rect width="6.177" height="6.177" x="21.498" y="221.798" fill="#E1E3E6" rx="3"/>
|
37 |
+
<rect width="6.177" height="6.177" x="29.713" y="221.798" fill="#E1E3E6" rx="3"/>
|
38 |
+
<rect width="6.177" height="6.177" x="37.927" y="221.798" fill="#E1E3E6" rx="3"/>
|
39 |
+
<rect width="6.177" height="6.177" x="46.238" y="221.798" fill="#E1E3E6" rx="3"/>
|
40 |
+
<rect width="6.177" height="6.177" x="95.599" y="221.798" fill="#E1E3E6" rx="3"/>
|
41 |
+
<rect width="6.177" height="6.177" x="103.814" y="221.798" fill="#E1E3E6" rx="3"/>
|
42 |
+
<rect width="6.177" height="6.177" x="112.029" y="221.798" fill="#E1E3E6" rx="3"/>
|
43 |
+
<rect width="6.177" height="6.177" x="120.243" y="221.798" fill="#E1E3E6" rx="3"/>
|
44 |
+
<rect width="6.177" height="6.177" x="128.554" y="221.798" fill="#E1E3E6" rx="3"/>
|
45 |
+
<rect width="6.177" height="6.177" x="177.909" y="221.798" fill="#E1E3E6" rx="3"/>
|
46 |
+
<rect width="6.177" height="6.177" x="186.124" y="221.798" fill="#E1E3E6" rx="3"/>
|
47 |
+
<rect width="6.177" height="6.177" x="194.339" y="221.798" fill="#E1E3E6" rx="3"/>
|
48 |
+
<rect width="6.177" height="6.177" x="202.553" y="221.798" fill="#E1E3E6" rx="3"/>
|
49 |
+
<rect width="6.177" height="6.177" x="210.864" y="221.798" fill="#E1E3E6" rx="3"/>
|
50 |
+
</svg>
|
assets/img/no-matching-products.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg viewBox="0 0 797.12 564.08" xmlns="http://www.w3.org/2000/svg"><g fill-rule="evenodd"><path d="m216.92 118.87 1 .15 1 .25.61.2.7.28.25.12.67.35.25.13.63.4.54.37.78.63.7.7.63.72.55.73.52.8.42.77.36.81.29.8.23.8.17.77.11.77.07.71v2.14l-.13 1.16-.22 1.2-.26 1.17-.34 1.13-.45 1.07-.42 1.1-.45 1.1-.5 1.09-.28.61.41.57.37.6.08.13.27.52.22.53.06.17.3 1v.18l.07.28.72-.48.75-.48.76-.47.79-.45.83-.43.9-.4 1-.39.73-.23.79-.18.4-.09.76-.11.49-.07h1.35l.78.08h.17l.86.17h.15l.95.3.14.05.5.2.46.23.14.08.5.29.46.33.14.08.43.35.42.39.11.1.39.4.36.43.1.12.32.41.28.45.09.14.45.86.08.17.3.8.07.18.21.74.12.53.13.85.07.82v1.21l-.07 1.2-.13 1.19-.2 1.15-.27 1.11-.31 1.09-.35 1.06-.09.24.62-.34 1-.55 1.1-.53 1.12-.48.72-.29.71-.23.8-.22.87-.18.62-.08.76-.07h1.52l.57.07.57.1.25.05.63.17.63.21.24.09.68.3.67.38.2.12.66.45.62.51.18.17.55.57.5.61.15.2.4.6.35.64.14.25.25.56.21.6.1.3.22.84.17.8.15 1.11.06 1.1v1.67h.17l1.45-.08h2.88l1.44.07 1.43.11 1.42.15 1.41.2 1.42.24 1.4.26.58.12 1.14-.27 1.35-.25 1.35-.18 1.38-.15 1.4-.1h5.85l1.52.08 1.55.12 1.58.15 1.6.17 1.63.2 1.65.21 1.67.25 1.7.27 1.7.3 1.73.32 1.74.35 1.75.35 1.76.38 1.79.4 1.78.42 1.8.43 1.78.47 1.8.46 1.8.49 1.8.5 1.79.51 1.78.54 1.78.53 1.77.57 1.77.55 1.75.58 1.71.58 1.72.6 1.7.6 1.67.62 1.65.62 1.61.63 1.6.63 1.57.64 1.53.65 1.52.65 1.47.66 1.43.65 1.4.67 1.37.67 1.31.68 1.29.68 1.23.69 1.2.68 1.17.7 1.1.72 1.08.71 1 .74 1 .76.95.8.91.84.85.86.74.82.66.8.64.83.6.85.56.87.52.87.48.88.47.9.42.9.4.9.36.92.35.91.32.94.28.91.27.94.25.93.22.93.2.94.18.93.17.93.16.94.14 1 .23 1.84.17 1.86.13 1.87.1 1.85.07 1.83v1.15l.09.14.83 1.38.82 1.43.78 1.47.73 1.48.7 1.52.65 1.52.29.68.56.05h.15l.87.17h.15l.88.27h.14l.8.35.15.07.73.4.13.1.65.45.14.1.56.46.37.35.55.59.3.38.48.67.22.31.45.79.35.7.42 1 .31 1 .25 1 .2.93.17.92.12.92.08.91.08.92.05.93v4.82l-.08 2-.12 2-.17 2.05-.18 2.07v.62l.15.35.32.8.25.8.23.8.18.8.14.78.1.78.08.77v.53l.18-.21 1.23-1.6.65-.8.55-1.15.42-.8.38-.69.37-.6.52-.83.7-1.07.85-1.26 1-1.4.58-.77.58-.77.64-.8.66-.78.69-.82.73-.8.77-.8.81-.78.87-.78.92-.77 1-.75 1-.67.62-.36.6-.34.61-.31.65-.3.7-.27.74-.25.78-.22.82-.16.86-.14.92-.06h.93l1 .08 1 .15 1 .25 1 .33.94.42.9.5.83.55.78.62.65.6.59.6.5.53.48.57.47.56.45.57.41.6.42.58.38.62.39.6.38.67.63 1.21.6 1.29.55 1.3.49 1.33.43 1.33.38 1.35.34 1.37.3 1.38.25 1.39.21 1.4.19 1.41.13 1.42.12 1.43.08 1.44.05 1.45v3.91l.66.27.72.4.13.07.65.43.6.48.14.12.48.47.45.51.12.14.33.46.32.47.1.17.45.85.08.2.3.71.18.54.22.83.15.77.1.73.07.7.05.68v3.29l-.06 1.61-.12 1.62-.17 1.62-.2 1.6-.25 1.58-.3 1.58-.33 1.57-.38 1.55-.4 1.55-.45 1.53-.49 1.54-.51 1.51-.55 1.5-.59 1.49-.6 1.48-.63 1.47-.67 1.46-.68 1.45-.7 1.44-.73 1.43-.75 1.42-.77 1.41-.78 1.4-.82 1.39-.82 1.38-.85 1.37-.85 1.36-.86 1.35-.87 1.34-.9 1.35-.43.61-.77 3.07-.43 1.63-.42 1.54-.42 1.43-.43 1.4-.59 1.56-.5 1.4-.55 1.4-.6 1.49-.68 1.56-.75 1.7-1.82 4.05-.36.75-.44.82-.46.83-.52.84-.55.83-.58.85-.62.85-.68.87-.77.86-.83.84-.6.51-.64.5-.46.3-.67.4-.18.1-.49.24-.5.21-.16.07-.67.22-.68.16h-.17l-.93.13h-1.09l-.76-.05-.75-.14-.75-.2-.14-.05-.78-.28-.43-.22-1.45 2-1.33 1.88-.24.35-.23.37-.23.38-.22.4-.52 1-.51 1.05-.54 1.16-.58 1.25-.62 1.32-.66 1.38-.74 1.4-.41.77-.45.75-.47.75-.5.77-.55.76-.58.77-.64.75-.7.75-.73.73-.8.72-.4.32-.45 1.06-.8 1.84-.8 1.8-.83 1.76-.84 1.75-.85 1.74-.88 1.7-.88 1.66-.92 1.65-.93 1.62-.95 1.57-1 1.55-1 1.5-1 1.48-1 1.43-1.08 1.39-1.1 1.35-1.15 1.3-1.15 1.23-.62.63-.61.6-.62.59-.63.56-.64.55-.65.55-.66.52-.67.52-.7.5-.75.51-.57.35-.7.37-.43.2-.73.27-.15.05-.85.23h-.14l-1 .15h-1.98l-.59-.09h-.11l-.62-.13-.6-.19h-.1l-.57-.21-.55-.27-.1-.05-.51-.3-.5-.32-.09-.08-.43-.32-.38-.35-.1-.08-.65-.7-.09-.1-.51-.65-.07-.12-.53-.88-.13-.31-.23-.46-.18-.49-.12-.31-.25-.77-.08-.32v.05l-.2 1.15-.24 1.1-.26 1.07-.3 1.05-.34 1-.36 1-.44 1-.5 1-.4.65-.4.6-.75.94-.73.85-.77.8-.8.76-.81.72-.85.68-.89.64-.88.58-.92.55-.91.5-.95.47-.95.41-1 .39-1 .35-1 .3-1 .26-1 .24-1 .18-1 .17-1 .13-1 .1-1 .07-1 .05h-2l-1-.05-1-.05-1-.1-1-.12-1-.13-1-.15-.95-.19-.95-.21-.95-.22-.94-.25-.15-.05-.06.07-.84.55-.83.55-.87.51-.88.49-.9.46-.92.45-.93.4-.95.39-1 .35-1 .31-.8.22-.81.18-.79.15-.8.14-.76.08-.77.07h-2.98l-1.34-.08-1.33-.15-1-.14-.2.1-1.17.59-1.2.55-1.23.51-1.25.45-1.28.4-1.27.34-.72.16-.68.14-.7.1-.7.08-.72.07h-2.26l-.79-.06-.81-.1-.84-.17-.85-.22-.88-.28-.87-.37-.88-.43-.8-.5-.82-.57-.71-.55-.22-.18-.92.2-1.48.3-1.48.25-1.42.18-.8.09-.73.05h-2.35l-.82-.07-.88-.13-.89-.18-.88-.25-.83-.29-.8-.33-.77-.38-.75-.4-.7-.45-.67-.49-.63-.5-.6-.51-.55-.54-.19-.55-.49-.57-.46-.58-.44-.59-.4-.58-.38-.62-.35-.6-.32-.6-.31-.61-.3-.67-.5-1.18-.44-1.24-.38-1.25-.33-1.25-.27-1.25-.22-1.25-.18-1.25-.13-1.25-.09-1.25-.01-1.21v-2.42l.07-1.2.11-1.2.15-1.18.2-1.17.24-1.17.3-1.15.36-1.15.42-1.15.48-1.06.34-.65.25-.42.5-.78.16-.24.59-.7.41-.46.65-.64.64-.56.65-.55.7-.57.71-.55-.06-.22-.19-.81-.13-.69-.1-.68-.07-.68v-.25l-.82.05h-.18l-.69-.05-.66-.09h-.17l-.85-.2-.82-.28h-.15l-.91-.44-.85-.55-.14-.1-.56-.45-.54-.5-.48-.55-.08-.11-.6-.84-.49-.9-.06-.15-.32-.8-.25-.81v-.19l-.14-.66-.06-.67v-1.78l.06-1 .14-1 .16-.95.22-.92.25-.92.28-.88.32-.85.35-.83.37-.84.38-.8.2-.4-.9-.53-1.92-1.17-1.91-1.2-1.94-1.25-1.97-1.29-2-1.3-2-1.34-2-1.35-2-1.4-2-1.4-2-1.43-2-1.45-1.95-1.48-2-1.49-1.93-1.5-1.95-1.53-1.92-1.53-1.92-1.54-1.88-1.55-1.88-1.56-1.85-1.57-1.57-1.58-1.8-1.58-1.79-1.59-1.75-1.56-1.71-1.57-1.7-1.57-.49-.45-.56.32-1.2.55-1.25.53-1.26.54-1.3.51-1.34.49-1.33.46-1.37.44-1.36.41-1.4.4-1.39.35-1.41.34-1.4.28-1.42.25-1.4.2-1.42.17-1.43.1-1.32-.02h-1.5l-.71-.05-.74-.06-.73-.09-.75-.11-.75-.15-.77-.19-.76-.21-.77-.27-.78-.3-.85-.4-.64-.35-.73-.47-.3-.2-.77-.61-.25-.24-.4-.36-.36-.4-.2-.25-.37-.45-.32-.49-.16-.25-.32-.51-.27-.54-.11-.28-.24-.53-.18-.57-.08-.3-.14-.55-.11-.55v-.3l-.06-.53v-2.09l.12-.83.11-.68.12-.4h-.4l-.85-.05-.48-.05-.79-.13-.78-.2-.78-.27-.74-.31-.73-.37-.68-.42-.64-.46-.58-.49-.37-.33-.51-.55-.49-.58v-.07l-.46-.72-.4-.76-.32-.8v-.09l-.21-.71-.14-.74-.08-.73v-.92l.07-.81v-.1l.12-.6.15-.62v-.12l.29-.8.06-.13.4-.85.17-.28.4-.65.37-.54.53-.7.5-.61.52-.59 1-1.1 1.06-1.13 1.05-1.13 1-1.17.47-.55.45-.55.43-.52.39-.51.33-.47.28-.42.09-.15-.09-.3-.15-.73v-.17l-.1-.88v-1.38l.07-.62.12-.62v-.11l.15-.64.22-.61v-.1l.26-.62.32-.58.05-.1.33-.52.35-.48.09-.09.33-.4.37-.38.08-.08.43-.39.45-.35.2-.15.74-.46.33-.75.42-.95.4-1 .4-1 .36-1 .37-1 .37-1.05.35-1.07.23-.73h-.67l-1-.06-1-.19-1-.31-.92-.42-.86-.53-.79-.64-.71-.73-.62-.8-.27-.47-1 .17-1 .05-1-.05-1-.19-.92-.28-.88-.37-.74-.46-.7-.51-.65-.59-.58-.63-.5-.7v-.08l-.44-.75-.36-.8-.27-.84v-.11l-.15-.69-.09-.68v-2.18l.13-1 .13-.82-.33-.5-.16.25-.54.71-.53.72-.55.68-.58.67-.64.67-.66.65-.77.66-.57.44-.63.41-.33.2-.84.45-.3.15-.85.34-.46.15-.47.11-.75.17h-.13l-.85.08h-1.48l-1-.11-.52-.1-.48-.14-.79-.26-.11-.05-.82-.35-.12-.07-.78-.47-.12-.06-.76-.59-.1-.08-.69-.65-.08-.08-.63-.75-.07-.1-.5-.74-.07-.11-.4-.77v-.12l-.21-.51-.19-.55-.08-.25-.15-.62-.12-.63v-.29l-.08-1v-1.83l.15-.93.19-.85.21-.77.24-.73.23-.69.28-.7.5-1.2.57-1.2.57-1.13.56-1.07 1-1.83.82-1.5.58-1.08.65-1.14.65-1.11.67-1.1.67-1.09.66-1.08 1.35-2.05 1.35-2 1.32-2 1.3-1.94 1.27-1.9 3.05-4.7.15-.26 1-1.94 1.39-2.6.45-.86-.17-1-.25-1.65-.22-1.67-.18-1.7h-.2l-1-.07h-.1l-.95-.16-.93-.29h-.1l-.8-.35-.75-.4-.1-.07-.59-.4-.55-.43-.1-.1-.4-.38-.38-.4-.1-.12-.55-.72-.3-.41-.42-.72-.31-.67-.25-.56-.3-.79-.27-.73-.25-.75-.25-.78-.42-1.47-.36-1.52-.3-1.53-.25-1.53-.2-1.54-.15-1.56-.1-1.55v-4.7l.08-1.59.12-1.56.16-1.59.22-1.58.23-1.58.27-1.59.32-1.56.05-.25-.27-.42-.42-.7-.36-.68-.32-.7-.3-.7-.25-.7-.22-.69-.18-.7-.15-.66-.13-.69-.12-.73-.15-1.23-.08-1.3v-2.54l.07-1.23.12-1.22.15-1.2.18-1.2.22-1.16.23-1.15.25-1.14.27-1.11.26-1.09.3-1.06.3-1.07.6-1.95.6-1.83.57-1.67 1-2.68.36-.95.4-1 .42-1 .47-1 .48-1 .5-1.05.55-1 .57-1.07.58-1.08.62-1.09.63-1.1.67-1.1.68-1.11.72-1.12.73-1.12.75-1.13.78-1.13.8-1.14.82-1.13.83-1.13.87-1.14.88-1.13.9-1.13.92-1.14.93-1.11 1-1.1 1-1.12 1-1.08 1-1.09 1-1.06 1-1.07 1-1 1.06-1 1.09-1 1.1-1 1.11-1 1.14-1 1.15-.94 1.15-.9 1.18-.86 1.18-.85 1.2-.84 1.24-.78 1.23-.77 1.25-.71 1.27-.7 1.28-.65 1.3-.62 1.32-.57 1.33-.53 1.35-.48 1.37-.42 1.4-.38 1.4-.32 1.43-.27 1.38-.2.79-.06.73-.07h3.7l.75.07.73.08.75.1.75.12.75.15.75.16.74.19.75.21.88.27.47.2.81.37.2.1.84.5.16.11.79.62.15.13.71.7.14.15.63.79.12.16.48.77.08.18.39.8.08.19.27.73.18.55.18.88.12.84.05.76v1.52l-.11 1.13-.14.65.24-.15 1-.56.62-.3.6-.27.63-.25.65-.23.7-.22.72-.18.78-.15.82-.12h1.75zm129.63 298.13.09.2.06.2v-.6zm-128.31-72.17.33.25-.1-.31zm-4.72-18.38v2.33h.5l.16-.05-.48-2-.12-.5zm84.25-11.62.4 1.1.33 1.12.3 1.12.25 1.11.24 1.14.2 1.16.06.49.17-.55.2-.79.15-.73.13-.73v-3.09l-.09-.07-.31-.25-.35-.28-.35-.25-.34-.23-.33-.22-.32-.2-.25-.15zm-143.22-.53v.05zm83.1-12.25-.36 1-.34 1-.31 1-.3 1-.29.95-.28.95-.23.95-.24.94-.21.93-.2.92-.07.35.48-.55.89-1.07.1-.53.4-2 .45-2 .45-2 .45-1.85-.27-.17zm-55.83 6.58-.22.7.5.1-.11-1.2v-.2zm235.7-17.1-1.75 1.94-1.2 1.33.05.18.18.77.15.75.12.77.1.73.07.75.05.73v1.4l.05-.06.75-1.45.75-1.4.75-1.35.25-.45v-.07l.18-1.32.19-1.31.16-1.32.14-1.3.06-.55zm.3-19-.38 1.13-.42 1.1-.47 1.1-.35.84.49.21.88.54.8.65.65.66-.07-1.1-.08-1.05-.1-1-.12-1-.15-.95-.16-.91-.19-.87-.06-.22zm-60-41.38.47-.07.71-.08h.42l-.1-.06-.42-.25-.42-.24-.4-.2-.4-.18-.23-.12zm-7.7-26.54.23 1.3.24 1.09.08.36.1.37.42 1.53.73 2.67.15.55h2.73l1 .06 1 .12 1 .13 1 .19.86.2-.06-.2-.19-.5-.18-.47-.2-.47-.2-.43-.22-.42-.21-.38-.24-.38-.23-.35-.23-.34-.25-.33-.25-.3-.24-.27-.23-.25-.33-.28-.42-.35-.52-.4-.6-.43-.7-.47-.76-.48-.84-.52-.91-.52-1-.55-.56-.3zm-105.47 1.85.19.64.31 1 .12.49.43.06 1.1.22-.45-.7-.78-1.23-.38-.65zm25.4-4.35h-2.76l-1.4.08-1.44.1-1.43.13h-.1l.1.12.48.51.49.52.48.5.52.5.5.48.53.47.53.47.54.46.55.45.55.44.4.3.43-.65.45-.64.43-.6.47-.58.48-.57.5-.58.54-.55.56-.57.62-.53.37-.32h-2.04zm48.82-10.11 1.37 1 .28.2.3.2.43.27.55.3.64.33.7.35 1.66.82 1.84.86 2 1 2.05 1 .9.46v-2.85l-1.25-.43-1.61-.55-1.62-.53-1.63-.52-1.65-.52-1.65-.5-1.67-.5-1.57-.45zm-121.77-39-1.35 1.3-1.35 1.34-1.35 1.36-1.35 1.37-1.35 1.36-1.33 1.4-1.32 1.4-1.31 1.42-1.3 1.43-1.3 1.44-1.29 1.45-1.25 1.46-.26.3-.49.92-1.58 3.05-3.22 6.16-.4.75.39-.51.56-.75.74-1 1.85-2.27 5.13-6.25 2-2.5 1.2-1.67 1.4-1.93 1.42-1.92 1.45-1.91 1.5-1.92 1.53-1.92 1.57-1.88.83-1 .82-.95.33-.36.35-.49zm480.9-96.23.8.13.52.13.76.25h.17l.9.4.15.07.55.3.52.35.11.08.57.44.53.5.1.1.39.41.36.45.4.55.55.87.47.9.38 1 .3.93.22 1 .15.94v.25l1.18-.84 1.73-1.23 1.8-1.27 1-.65 1-.63 1-.65 1-.62 1-.6 1.08-.58 1.12-.57 1.16-.51 1.17-.45.68-.25.65-.2.67-.19.67-.16.7-.15.71-.14.78-.13.76-.08h2.37l.8.09.83.13.84.17.81.23.82.27.82.33.8.37.76.43.75.47.72.5.73.56.64.57.63.65.55.67.5.7.45.71.38.72.34.72.28.71.25.7.2.72.17.68.11.69.1.66.09.74.08 1.23v1.28l-.05 1.27-.12 1.25-.16 1.25-.2 1.27-.25 1.26-.29 1.27-.33 1.28-.35 1.3-.38 1.3-.45 1.33-.43 1.33-.25.72h.55l.78-.05h1.57l.8.07.88.11.68.14.77.2.35.1.8.3.33.13.8.38.3.17.8.5.27.2.62.48h.05l.56-.23h.09l.75-.25.75-.18h.1l.91-.1h1l1 .1 1 .23h.09l.93.34.88.43h.09l.73.47.67.55.08.06.52.52.46.55.09.08.31.45.3.47.07.12.42.81.2.44.16.48.24.77.18.68.27 1.53.18 1.44.13 1.45.07 1.46v2.92l-.07 1.48-.1 1.49-.15 1.5-.18 1.5-.23 1.51-.25 1.52-.29 1.53-.31 1.54-.35 1.55-.37 1.56-.4 1.57-.4 1.48-.45 1.58-.46 1.58-.49 1.6-.5 1.6-.53 1.62-.53 1.6-.55 1.62-.59 1.63-1.18 3.23-1.22 3.24-1.3 3.25-1.29 3.23-1.3 3.2-1.31 3.17-1.32 3.13-2.57 6.12-2.46 5.87-1.15 2.8-1.1 2.71-1 2.62-1 2.48-.88 2.39-.38 1.1-.39 1.1-.33 1.05-.32 1-.28.95-.12.4-.16 1.25-.29 2.1-.36 2.7-.47 3.21-.52 3.57-.63 3.8-.34 2-.35 2-.38 2-.38 2-.42 2-.42 1.91-.45 1.87-.43 1.72-.48 1.75-.5 1.65-.27.85-.28.78-.28.78-.32.79-.32.75-.36.76-.39.77-.45.78-.53.8-.42.55-.48.59-.25.25-.53.53-.07.77-.13 1.2-.17 1.2-.2 1.2-.22 1.18-.26 1.2-.29 1.18-.3 1.2-.35 1.19-.35 1.18-.38 1.18-.42 1.19-.43 1.18-.45 1.18-.47 1.19-.5 1.18-.5 1.17-.53 1.18-.55 1.17-.55 1.16-.58 1.17-.59 1.17-.61 1.16-.64 1.17-1.26 2.28-1.32 2.29-1.37 2.26-.61.95-.4 2.07-.24 1.17-.3 1.35-.7 3-1.78 7.28-1 4.14-.52 2.15-.5 2.2-.5 2.23-.5 2.27-.46 2.26-.19.94.6.06.84.12.68.15.77.2.38.12.8.3.35.15.83.41.32.19.82.51.28.22.75.62.25.23.68.72.22.25.57.76.2.29.45.76.16.32.35.75.14.33.25.72.2.68.21 1 .14 1 .06.95v1.75l-.09.83-.11.82-.14.78-.16.78-.19.75-.2.75-.21.72-.25.73-.25.7-.29.75-.56 1.35-.64 1.35-.66 1.32-.7 1.3-.75 1.25-.77 1.23-.8 1.17-.82 1.13-.85 1.09-.86 1-.89 1-.51.51-.5.47-.52.47-.57.45-.61.45-.67.45-.77.43-.55.27-.7.3-.23.08-.9.28-.22.05-.58.12-.57.08h-.21l-.72.05h-.9l-.82-.1-.78-.17h-.18l-.85-.28-.82-.37-.17-.08-.78-.47-.73-.53-.15-.14-.6-.55-.55-.61-.14-.17-.31-.43-.3-.45-.47-.77-.55-1.07-.47-1.06-.38-1.07-.33-1.05-.27-1.07-.23-1.06-.19-1.07-.15-1.07-.11-1.08-.07-.82-1.13.55-1.33.76-1.33.8-1.34.84-1.36.86-1.35.89-1 .66-.07.62-.11.77-.14.75-.16.75-.2.73-.22.72-.23.71-.25.7-.29.69-.3.66-.31.65-.34.65-.35.64-.36.61-.39.62-.41.65-.79 1.12-.88 1.13-.92 1.08-1 1.05-1 1-1.05 1-.67.58-.13.53-.2.69-.25.66-.25.65-.29.62-.3.62-.31.56-.37.64-.67 1-.73 1-.77.92-.8.86-.81.8-.84.77-.83.7-.85.68-.85.64-.85.6-.85.56-.85.54-.83.51-.85.5-1.57.87-1.53.8-1.4.7-1.27.6-1 .47-.37.18-.47.25-1.36.75-1.59.88-.91.5-1 .47-1 .47-1.05.43-.72.23-.75.22-.51.1-.77.13h-.23l-.52.05h-1.47l-.73-.12h-.17l-1-.25-1-.4-.13-.07-.79-.42-.71-.48-.67-.58-.12-.1-.63-.67-.57-.75-.43-.75-.25.23-.8.62-.88.5-.94.4-1 .28-1 .17h-1l-1-.08-1-.2-1-.33-.92-.44-.85-.55-.67-.55-.78 2.35-1 2.9-.51 1.47-.33 1.38-.53 1.43-.55 1.45-.57 1.42-.6 1.4-.63 1.38-.67 1.39-.7 1.33-.75 1.28-.42.69-.41.65-.45.63-.47.63-.48.62-.5.62-.54.6-.63.65-.8.73-.65.52-.4.26-.68.44-.15.06-.47.25-.48.2-.14.05-.7.24-.71.18h-.12l-1 .13h-1.09l-.85-.08-.81-.17-.82-.25h-.07l-.83-.35-.77-.45-.73-.52-.07-.07-.58-.51-.53-.57-.49-.62-.05-.06-.46-.77-.4-.82v-.1l-.23-.61-.18-.64v-.11l-.16-.9v-.15l-.07-1v-1.19l.06-.7.15-1 .19-.88.2-.87.23-.85.25-.88.55-1.75v-.12l-.38-.48-.62-.95-.52-.95-.4-.9-.35-.88-.33-.87-.3-.9-.28-.92-.29-1-.28-1-.53-2.09-.57-2.25-.2-.86-.47-.09.14 1.07.1 1v1.89l-.11.85-.2.83-.29.8-.36.78-.55.87-.65.81-.75.72-.82.62-.9.51-1 .39-1 .28-.8.12-.1.81-.17 1-.2 1-.22 1-.26 1-.32 1-.37 1-.41 1-.5 1-.57 1-.65 1-.77 1-.81.87-.55.52-.52.41-.53.42-.57.38-.6.37-.65.33-1 .47-1 .38-1.05.34-1 .25-1 .18-1.05.12-1 .05h-1l-1-.06-1-.1-1-.14-.95-.18-.92-.23-.9-.25-.88-.29-.87-.31-.85-.34-.83-.35-.82-.38-.8-.4-.78-.43-.77-.44-.77-.45-.75-.48-.75-.48-.73-.49-.72-.51-.73-.54-1.35-1.05-1.49-1.04-1.32-1.14-1.26-1.16-1.22-1.19-.92-.91-.6.28-.66.28-.69.24-.71.2-.74.16-.76.12-.79.07h-1.6l-.8-.08-.8-.15-.76-.19-.77-.25-.73-.28-.67-.32-.75-.38-.68-.4-.67-.43-.65-.47-.63-.47-.6-.5-.57-.51-.55-.55-.53-.55-.5-.57-.49-.58-.45-.59-.43-.61-.42-.62-.38-.62-.37-.63-.35-.65-.33-.65-.1-.22-.37.32-.78.62-.87.51-.91.4-1 .3-1 .19h-1l-1-.07-1-.18-1-.3-.82-.47-.85-.51-.8-.62-.7-.72-.61-.8-.52-.86-.42-.92-.28-1-.18-1-.05-1 .06-1 .19-1 .3-1 .41-.91.54-.85.61-.79.59-.58.1-.13.11-.22.14-.28.16-.33.17-.39.18-.43.19-.45.4-1.1.41-1.22.42-1.33.43-1.4.9-3.12.94-3.3.48-1.71.5-1.74.53-1.73.55-1.73.59-1.74.61-1.71.65-1.67.37-.87.37-.83.38-.83.4-.82.42-.82.43-.8.48-.8.5-.78.54-.78.58-.77.62-.75.68-.75.75-.73.8-.7.9-.67.67-.43.08-.15.82-1.27.86-1.23.9-1.2.94-1.15 1-1.14 1-1 .57-.55.55-.51.56-.5.57-.5.58-.47.6-.47.62-.45.63-.43.64-.4.66-.4.67-.38.68-.37v-.01l.15-1.37.18-1.38.2-1.42.24-1.43.25-1.45.26-1.47.3-1.48.32-1.5.35-1.5.35-1.52.4-1.52.4-1.51.42-1.54.45-1.51.46-1.5.5-1.52.5-1.5.54-1.47.55-1.48.56-1.45.59-1.42.6-1.41.63-1.39.65-1.36.67-1.32.7-1.32.73-1.26.22-.35.45-1 .48-1.05.52-1 .53-1 .55-1 .58-1 .6-1 .65-1 .67-.93.7-.92.73-.9.79-.86.9-.95.51-.47.65-.52.42-.31.42-.27.8-.42.11-.06.52-.22.53-.2h.12l.67-.19.68-.11h.1l.82-.08h.91l.92.1.88.2h.1l.87.3.82.38.08.05.75.45.68.52.07.06.53.5.5.55.07.07.35.47.32.46.4.17.8.37.78.41.75.45.72.49.36.28.29-.25.73-.63.75-.62.77-.58.78-.59.8-.55.82-.55.83-.51.83-.49.87-.46.87-.45.9-.44.9-.4.91-.36.94-.35 1-.32 1-.28 1-.27 1-.23 1-.19 1-.16 1-.15 1-.1 1.05-.07h2.31l-.41-.61-.1-.17-.37-.67-.23-.5-.3-.78-.22-.67-.23-.85-.19-.78-.18-.78-.17-.8-.15-.79-.15-.81-.21-1.55-.15-1.57-.1-1.58v-3.15l.06-1.57.1-1.55.15-1.57.2-1.55.24-1.53.16-1.64.32-1.54.35-1.51.38-1.52.42-1.52.45-1.5.47-1.5.5-1.48.51-1.48.55-1.49.57-1.46.58-1.47.62-1.47.47-1.11v-.09l-.72-3.18-.68-3.2-.63-3.25-.25-1.35-.42.42-.7.75-.73.76-.75.75-.75.74-.79.71-.78.7-.8.69-.8.66-.83.65-.85.62-.87.6-.88.57-.92.55-.93.53-1 .48-1 .45-1 .42-1 .38-.82.24-.87.21-.6.09-.82.15h-1.97l-.55-.08h-.2l-.63-.14-.62-.18-.18-.07-.69-.26-.65-.34-.16-.08-.67-.42-.62-.46-.15-.12-.56-.52-.52-.56-.12-.14-.43-.58-.4-.63-.1-.17-.28-.55-.25-.58-.07-.19-.18-.53-.15-.53v-.22l-.15-.88v-.22l-.06-.77v-1.25l-.16-.56-.27-1.19-.2-1.23-.13-1.23-.07-1.22v-2.4l.1-1.18.14-1.19.18-1.16.22-1.17.25-1.15.28-1.15.32-1.15.33-1.15.37-1.15.4-1.15.41-1.13.12-.32-.18-.22-.42-.53-.4-.53-.38-.57-.37-.57-.35-.58-.33-.58-.3-.6-.27-.6-.27-.6-.23-.62-.23-.68-.35-1.19-.29-1.25-.2-1.25-.13-1.23-.07-1.23v-1.22l.07-1.22.11-1.18.17-1.17.23-1.16.27-1.14.3-1.13.33-1.1.39-1.1.41-1.08.44-1.07.46-1.05.5-1 .52-1 .55-1 .55-1 .6-1 .6-1 .62-1 .65-1 .65-.95.66-.93.69-.92.7-.92.71-.9.72-.88.72-.87.73-.86.75-.84.75-.83.75-.82.77-.81 1.5-1.52 1.53-1.47 1.52-1.4 1.51-1.31 1.5-1.24 1.45-1.13.75-.57.74-.51.71-.5.55-.37.12-1.4.27-3.25.33-3.22.35-3.18.38-3.1.39-3.18.28-2.12.33-2.4.42-2.6.25-1.38.25-1.42.28-1.45.32-1.47.33-1.5.37-1.5.4-1.51.43-1.52.47-1.52.52-1.51.55-1.5.6-1.5.63-1.44.37-.75.36-.73.4-.72.4-.71.42-.7.45-.7.47-.7.5-.67.51-.68.55-.65.59-.65.61-.64.67-.61.68-.59.74-.56.78-.55.82-.5.8-.44 1-.48.94-.42 1-.38.95-.37 1-.31 1-.29 1-.23 1-.22 1-.16 1-.12 1-.08h1l.42-.25.6-.33.61-.33.64-.32.65-.28.66-.29.69-.25.7-.23.71-.22.74-.18.75-.15.76-.13.77-.1.78-.05h1.62l.82.05.81.09.82.11.83.17.82.22.8.23.82.28.78.34.78.35.77.4.75.43.45.3.7-.47 1.52-.95.93-.57 1-.58 1.05-.6 1.13-.62 1.18-.65.97-.79 1.3-.65 1.35-.65 1.39-.63 1.41-.64 1.47-.6 1.48-.56 1.52-.54 1.53-.5 1.54-.43.81-.22.8-.18.82-.17.8-.15.83-.13.82-.1.85-.08.85-.07h2.65l.92.09 1 .15 1 .2 1 .25 1 .35 1 .41 1 .5.95.6.93.69.88.78.55.6.49.55.5.65.66 1 .55 1 .44 1 .31.85.27.76.15.54.3-.09 1-.31 1-.29 1-.26 1-.25 1-.22 1-.2 1-.17 1-.13 1.08-.08h1.08l.75.05zm-149 296.91-.48.89-.5.86-.5.84-.52.81-.15.22-.1.3-.38 1.12-.39 1v1.15l-.07 2.09v1.86l-.12 1-.1.42.33.33 1 .92 1 .88 1 .85 1 .8 1 .77.47.33.47.33.46.34.47.3.47.28.45.27.43.25.42.23.41.2.4.18.37.17.37.13.33.14.32.1.28.08.27.05.23.05h.15l.1-.33.08-.43.1-.49.09-.51.08-.59.07-.61.05-.67v-4.63l-.07-1.77-.1-1.82-.15-1.85-.18-1.9-.2-1.91-.13-1.1-3-.95-3.9-1.2-1.15-.34zm136.2-52.88-.48.6-1.13 1.42-1.22 1.53-1.3 1.65-.78 1 .76-.38 1.45-.68 1.44-.65.56-.25.14-.82.43-2.45.18-1zm-34.2 3.82-1.77 2.2.89-.09h1.23l1.12.05-.12-.65-.15-1.27-.08-1.26v-.34zm-29.5-12.25v.83l-.06.52-.1.5.75.41.45.29.68.5.57.5.55.51.66.74.65.8.55.81.49.8.43.82.38.82.32.8.3.8.25.81.23.8.2.8.1.42 1-1.3 2.62-3.28.75-.95-.45-.1-.72-.19-.71-.21-.72-.24-.7-.28-.7-.3-.7-.33-.67-.37-.66-.4-.64-.43-.63-.45-.62-.49-.6-.5-.56-.53-.84-.83-.78-.85-.75-.9-.27-.35zm-22-24.77-.78.58-.77.59-.75.58-.7.55-1.28 1.1-1.15 1-.93.85-.67.64-.32.31-.31.37-.34.4-.35.43-.35.49-.36.53-.37.57-.38.6-.39.63-.36.67-.39.7-.36.73-.39.77-.36.78-.35.8-.37.85-.35.85-.33.87 1.33-1.62 1.87-2.35 1.86-2.35 1.85-2.37 3.67-4.73 1.82-2.35 1.26-1.6zm17.12 13-.43 1.28-.45 1.3-.15.4.51.22.14.05.51.26.5.3.12.09.17.13-.24-.88-.23-1.07-.17-1.07-.13-1.06v-.37zm40.38-12.53-.45.7-1.48 2.23-1 1.5-1.07 1.68-1.26 1.82-.82 1.16.72-.55.55-.41.3-.39 2.91-3.85 1.59-2.11.26-2v-.18zm-17-4.55-.47.61-.45.64-.45.63-.43.63-.43.62-.4.63-.39.62-.1.17.12-.07 1.14-1.6 1.08-1.59 1-1.51v-.09zm-9.85-14.9h-1.32v.68l.1 1v.31l.37-.45 1.35-1.55zm-18.68-5.7-.5.86-.5.85-.54.84-.13.2h.5l.83.05.82.1v-3.72zm36.23-12.7-.32.95-.31.91-.34.9-.35.9-.35.85.67-.48 1-.73v-.62l.18-2.45.12-1.4zm52.73-36.69-1.6 3.79-.43 1 .43.14.82.31.77.4.55.38v-7.39zm-60.2-23.4-.46.72-.49.7-.45.72-.93 1.5-.88 1.51-.87 1.57-.83 1.58-.82 1.62-.78 1.65-.79 1.68-.73 1.7-.73 1.72-.52 1.27 1.9-2.92.13-.2.49-1.1.7-1.55.4-.85.41-.83.45-.85.49-.85.51-.87.57-.87.62-.86.7-.89.76-.86.57-.57.23-1 .39-1.95.18-1.05v-.2zm-30.83 5.94-.1.13.2 1.65.08.58.2-.38v-2.45zm49.12-40.7-2.52 1.56-2.55 1.59-2.6 1.58-5.18 3.13-2.14 1.29h.09l.86-.26.37-.09.5-.1.53-.08h1.84l.63.05.65.1.28.05.67.15.65.22.27.1.61.25.6.32.25.13.55.33.52.39.23.18.44.37.41.4.2.21.55.64 1-2.72 1.25-3.32 1.27-3.3 1.32-3.26.45-1.07zm76.9-28.07-.8.65-.84.72-.86.75-.89.81-.88.85-.92.92-.91.93-.94 1-.95 1-1 1-.33.37-.27.53-1.35 2.5-1.3 2.4-1.18 2.34-1.18 2.11v1.22l-.05.57-.1.86-.13.95-.32 2.22-.37 2.55-.35 2.6-.15 1.18-.11 1.09-.09.88v.68l-.05 1.12v2.92l.15-.35 1.11-2.69 1.15-2.68 2.29-5.28 2.31-5.25 2.32-5.2 2.32-5.29.36-.75.52-1 .63-1.33.75-1.6.82-1.82.4-.93.42-1 .4-1 .38-1 .23-.61zm-107.42-8.3-1 1.5-1 1.5-1 1.53-1 1.55-1 1.55-.95 1.57-1 1.58-.35.62.08.06.33.35.62-.91 1.45-2.19 1.42-2.21 1.4-2.27.66-1.12.67-1.13.65-1.13.22-.39v-.8zm49.22 6h.06l.42-.47zm48.15-30.5-.62.33-.66.39-.7.43-.74.47-.75.5-.76.51-1.65 1.17-.34.23v.27l.06.92v2.7l-.06.88-.09.88-.11.87-.12.88-.17.87-.16.87-.19.88-.2.87-.23.9-.47 1.7-.53 1.75-.58 1.75-.62 1.75-.61 1.73-.68 1.75-.72 1.75-.72 1.7.14.2.26.45.44-.81 1.3-2.59 1.28-2.61 1.25-2.62 1.22-2.6 1.16-2.55 1.1-2.57.5-1.22.5-1.23.46-1.2.44-1.18.41-1.17.4-1.12.35-1.08.34-1 .3-1 .26-1 .22-.92.2-.85.15-.8.07-.35zm-55.18-10.15-.35.05-.39.07-.4.06-.43.09-.45.11-.43.1-1 .3-1 .34-1.08.38-1.1.43-1.12.45-1.13.5-1.12.5-1.08.54-1.11.53-1 .53-1 .54-.94.51-.86.5-.8.47-.7.42-1.2.75-.15.11.08.37.17.73.15.75.11.75.1.74.07.75v.73l.05.75v.53l.82-.78.91-.87.94-.86.93-.84 1-.83 1-.82 1-.81 1-.79 1-.78 1-.77 1-.75 1-.73 1-.72 1.05-.71 1.06-.69 1.09-.66 1.1-.67 1.02-.65.31-.17v-.23l-.05-.27zm-150.99 344.98 1.34.1 1.33.15 1.37.2.7.14.71.16.7.19.69.21.66.24.67.28.67.28.63.34.62.35.6.38.58.4.57.43.53.45.52.47.48.48.47.5.43.54.42.51.36.54.42.61.58 1 .07.13.43-.33 1.34-.95 1.3-.87.71-.45.69-.4.7-.4.7-.37.73-.35.75-.35.78-.3.82-.3.87-.25.93-.21 1-.15.71-.07h2.09l.33.05.52.1.53.11.3.09.38.11.39.14.38.15.27.13.4.18.38.2.37.24.25.15.36.26.37.27.33.3.24.2.31.3.3.32.29.33.2.23.25.34.23.33.22.35.16.28.19.34.18.35.22.5.3.71.25.72.21.77.17.78.12.78.08.8v1.64l-.08.8-.12.8-.18.76-.23.75-.27.74-.28.68-.34.65-.35.62-.38.6-.38.56-.42.54-.42.5-.48.53-.83.82-.92.8-.95.71-1 .67-1 .6-1 .57-1 .53-1 .5-1.05.47-1.08.45-1.1.41-1.12.39-1.13.38-1.15.35-1.17.35-1.18.32-1.18.3-1.22.3-1.22.26-1.21.27-1.22.23-.33.37-.54.72-1.51 2-.62.8-.3.35-.38.42-.44.42-.43.36-.48.34-.5.3-.52.28-.53.23-.55.19-.55.16-.57.12-.58.07-.59.05h-1.16l-.57-.1-.57-.12-.56-.17-.55-.2-.52-.25-.52-.26-.5-.32-.46-.35-.44-.38-.41-.4-.39-.44-.36-.46-.32-.49-.28-.51-.25-.52-.1-.25h-5.38l-1-.05-1-.07-1-.08-1-.1-1-.12-.95-.15-.94-.16-.93-.2-.93-.25-.95-.3-1-.39-.68-.31-.35-.19-.33-.18-.64-.37-1-.7-.77-.6-.37.33-.4.3-.42.27-.43.27-.43.21-.55.27-.7.3-.72.27-.72.23-.72.39-.72.16-.72.15-.71.14-.7.1-.7.06-.7.05h-2.1l-1.27-.08-1.28-.17-1.25-.21-1.22-.27h-.18l-.45.07-1.07.37-1.08.35-1.12.32-1.11.28-1.14.27-1.16.21-1.19.2-1.2.15-1.21.1-1.24.07h-1.65l-.55-.05-.55-.07-.53-.13-.53-.15-.54-.19-.5-.21-.5-.27-.47-.28-.43-.32-.32.1-.56.14-.59.08-.58.05h-1.15l-.58-.08-.57-.12-.57-.15-.55-.18-.53-.23-.52-.27h-.05l-.58-.07-1.17-.18-1.2-.22-.71-.18-.72-.19-.75-.25-.8-.3-.87-.38-.6-.32-.33-.18-.32-.22-.28-.18-.38-.28-.39-.3-.23-.2-.3-.25-.28-.29-.27-.28-.18-.22-.34-.4-.3-.41-.08-.12-.2-.32-.2-.31-.07-.12-.21-.42-.2-.43-.09-.2-.2-.52-.16-.53-.05-.2-.1-.4-.07-.4-.07-.42v-2.45l.07-.41v-.19l.09-.38.1-.38.11-.39.07-.16.18-.5.22-.49.08-.18.22-.42.25-.4.1-.16.23-.35.25-.34.35-.43.6-.63.57-.54.63-.51.2-.14v-.27l.05-.43.08-.43.1-.44.07-.3.13-.45.17-.43.25-.65.45-.93.48-.82.48-.75.52-.68.42-.49v-.26l.06-1.14.14-1.11.18-1.1.23-1.07.27-1.05.32-1 .36-1 .39-1 .43-1 .47-1 .5-.91.51-.92.55-.9.59-.87.6-.86.61-.84.65-.81.69-.8.68-.79.72-.76.73-.74.75-.73.77-.7.78-.68.82-.67.81-.63.85-.62.85-.6.87-.57.88-.55.92-.51.92-.5.93-.47.95-.43 1-.4 1-.39 1-.33 1-.3 1-.27 1.05-.23 1.07-.18 1.07-.14 1.1-.08h2.4l.41.07.44.08.25.07.5.11.48.17.48.18.22.1.52.24.5.28.46.32.19.11.36.27.34.28.33.3.32.32.15.17.35.41.33.44.3.45.12.2.23.41.22.44.2.45.08.21.13.39.14.36.1.39.05.25.1.5.06.48v1.67l-.05.9v.11h.19l.88.07.92.11.95.17 1 .27.68.23.4.15.39.17.35.16.46.24.45.26.3.2.47.32.43.33.27.22.3.27.28.28.27.28.22.25.25.29.23.31.23.32.19.27.3.5.26.51.15.3.22.49.18.5.1.31.15.47.12.48.07.35.08.44.05.45v1.86l-.08 1.05-.1.69.2-.09 1.07-.41 1.06-.4 1.1-.37 1.14-.35 1.13-.33 1.15-.29 1.18-.26 1.2-.24 1.22-.18 1.25-.17 1.25-.11 1.27-.07h2.6zm-.2 17.3-.45.6-.48.59-.5.53-.35.33 1.75-.11 1.83-.17v-1.57l-.05-.23-.05-.2-.05-.15h-.08l-.79-.11-.33-.05z" fill="#808080"/><path d="m105.75 43.78.9.19 1 .31.92.42.85.53.8.64.7.71v.07l.55.7.46.75.39.8v.13l.2.54.16.55.12.46.1.55.13 1.09v1.08l-.03 1.08-.3 1-.43 1v.1l-.13 1.27-.19 1.92-.3 3.3-.25 2.03-.17 1.9-.16 1.91-.14 1.94-.13 1.91-.12 1.94-.1 2-.08 1.93-.15 3.9-.1 3.88-.07 3.9v9.36l-.05 2.78-.09 2.77-.1 2.76-.11 2.77-.14 2.75-.15 2.77-.33 5.46-.37 5.47-.4 5.43-.44 5.47-.4 5.42-.4 5.38-.35 5.37-.33 5.35-.13 2.65-.14 2.66-.11 2.67-.1 2.65-.07 2.65-.07 2.63v82.92l-.06 15.6v7.8l-.07 7.8-.08 7.82-.1 7.8-.12 7.81-.15 7.8-.17 7.82-.18 7.8-.22 7.8-.25 7.82-.28 7.8-.3 7.8-.35 7.78-.37 7.8-.41 7.78-.45 7.79-.5 7.76-.54 7.77-.58 7.77-.62 7.73-.15 1.07-.3 1.05-.43 1-.57.93-.66.87-.79.75-.88.65-1 .53-1 .4-1.07.27-1.08.13h-1.08l-1.09-.23-1-.29-1-.43-.93-.57-.85-.66-.77-.79-.65-.88-.53-1-.4-1-.27-1.05-.13-1.08v-1.08l.61-7.69.59-7.66.51-7.69.49-7.68.45-7.7.41-7.7.37-7.72.35-7.71.3-7.74.27-7.73.25-7.73.21-7.75.19-7.75.16-7.77.15-7.75.12-7.77.1-7.76.08-7.77.07-7.77.05-7.78.07-15.55v-83.12l.06-2.78.09-2.77.1-2.77.11-2.75.14-2.76.15-2.75.33-5.47.37-5.47.38-5.45.42-5.41.4-5.4.38-5.39.37-5.36.33-5.37.13-2.65.14-2.67.11-2.65.09-2.65.08-2.65.07-2.65v-13.35l.1-4.08.17-4.07.08-2.07.12-2.05.12-2 .13-2 .15-2 .17-2 .18-2 .18-2 .3-3.28.2-2.05.22-2 .12-1 .13-1 .18-1 .15-.69.22-.73v-.15l.37-1 .06-.1.39-.73.45-.69.53-.63.05-.07.8-.76.9-.67 1-.53 1-.39.88-.22.9-.12h.92zm-9.12 10.47.1.35-.1-.37z"/><path d="m619.78 0 1.3.1 1.29.14 1.25.16 1.21.22 1.17.26 1.16.25 1.14.29 1.11.3 1.07.3 1.08.31 2 .64 2 .65 1.88.6 1.83.58.87.25.87.23.85.24.83.2.82.18.81.17.8.13.82.12 2.63.3 2.7.3 2.7.25 2.72.23 2.73.2 2.75.2 2.75.15 2.79.15 2.78.12 2.8.11 2.8.1 2.82.09 5.68.13 5.7.12 11.48.2 5.79.13 5.78.17 2.9.1 2.92.11 2.9.14 2.91.15 2.9.16 2.92.2 2.92.22 2.91.25 1.37.15 1.37.15 1.33.17 1.32.16 1.3.2 1.26.22 1.27.23 1.23.25 1.2.25 1.2.29 1.17.3 1.15.3 1.13.33 1.1.33 1.1.37 1.07.38 1 .39 1 .41 1 .44 1 .43 1 .47 1 .48.94.5.91.52.9.53.87.55.87.57.83.58.82.6.8.62.78.63.75.65.73.67.72.66.7.7.67.72.65.72.63.73.6.75.58.77.57.76.55.79.52.8.5.8.48.81.45.84.43.83.42.83.4.85.38.85.37.87.33.87.34.86.3.89.3.88.26.88.27.89.23.9.24.9.21 1 .39 1.78.31 1.85.29 1.85.23 1.87.2 1.88.15 1.9.12 1.92.08 1.91.05 1.94v6l-.05 2-.07 2-.08 2-.08 2-.24 4.05-.26 4.12-.23 4.06-.3 4.12-.25 4.2-.24 4.23-.1 2.1-.08 2.12-.07 2.11v26.73l.05 6.84.06 6.81.1 6.85.1 6.85.12 6.85.13 6.85.15 6.87.19 6.87.18 6.86.2 6.89.22 6.86.23 6.89.27 6.86.26 6.87.3 6.88.3 6.87.34 6.87.33 6.85.37 6.85.38 6.85.4 6.85.42 6.83.43 6.83.47 6.82.46 6.8.5 6.8.52 6.78.53 6.77.55 6.77.82 9.8.78 9.73.39 4.87.35 4.85.35 4.85.31 4.86.3 4.89.25 4.88.24 4.92.2 4.93.16 5 .12 5 .07 5.05v6.35l.1 1.65.13 1.88.15 2.08.17 2.24.16 2.36.12 2.44.05 1.28v3.87l-.05 1.31-.08 1.32-.12 1.33-.15 1.34-.2 1.33-.27 1.35-.3 1.28-.21.74-.2.66-.24.69-.25.68-.26.67-.3.68-.34.68-.36.67-.4.67-.42.66-.47.65-.5.65-.53.62-.58.6-.54.53-.56.49-.59.45-.6.43-.63.38-.65.37-.65.32-.67.3-.66.25-.67.21-.68.17-.65.15-.67.12-.73.08-1.17.08h-1.2l-1.15-.09-1.08-.15-1.05-.18-1-.23-.95-.25-.9-.29-.86-.28-.84-.32-.81-.3-1.49-.6-1.38-.58-1.27-.52-1.15-.45-.46-.16-.45-.15-.39-.12-.26-.07-.27-.05-.25-.05-1.28-.17-1.42-.17-1.45-.16-1.48-.14-1.54-.11-1.55-.12-1.58-.08-1.62-.09-1.63-.05h-8.4l-1.7.05-1.7.06-1.7.1-1.68.1-1.69.12-1.66.15-1.65.17-1.64.18-1.6.2-1.58.22-1.55.23-1.52.27-1.46.26-1.45.29-1.39.31-1.35.32-1.28.35-1.25.35-2 .62-2 .66-2 .69-2 .73-2 .77-2 .78-2 .82-2 .83-2.05.85-2 .87-4.13 1.78-4.17 1.82-4.2 1.81-2.11.92-2.15.9-2.15.88-2.17.89-2.18.85-2.2.85-2.24.81-2.23.79-2.27.75-2.28.71-2.3.69-2.33.65-2.34.58-1.2.3-1.2.27-1.2.25-1.2.23-1.21.23-1.22.2-1.93.32-2 .28-1.92.25-1.93.22-1.92.2-1.9.17-1.9.13-1.9.13-1.88.09-1.89.08-1.86.05h-9.25l-1.84-.07-1.81-.08-1.82-.08-1.83-.12-3.59-.25-3.58-.3-3.55-.33-3.55-.35-3.52-.4-3.5-.4-7-.84-6.9-.83-3.43-.4-3.42-.37-3.41-.35-3.4-.31-3.42-.27-1.68-.12-1.7-.11-1.7-.1-1.7-.09-1.7-.06-1.69-.05h-10.2l-1.73.04-1.73.08-25.8 1.55-25.8 1.52-12.9.75-12.9.71-12.92.69-12.9.65-6.46.3-6.47.3-6.47.28-6.46.25-6.47.25-6.47.23-6.48.22-6.48.2-6.49.18-6.48.15-6.5.14-6.5.11-6.5.09-6.52.06h-21.2l-2.73-.05-5.43-.14-5.42-.18-5.42-.22-5.38-.25-5.4-.28-5.37-.3-10.71-.62-10.69-.67-5.32-.3-5.31-.28-5.29-.25-5.28-.24-5.27-.2-5.26-.15-2.62-.06h-15.67l-2.6.05-2.6.07-2.58.08-2.6.08-2.58.14-2.57.06-2.58.15-2.58.18-2.57.2-2.58.24-2.57.25-2.57.28-2.55.3-2.56.32-2.55.36-2.57.37-2.55.42-2.55.43-2.53.47-2.55.5-2.6.53-1.9.4-2.84.55-3.63.68-4.27.77-4.78.83-2.57.42-2.63.43-2.7.42-2.75.42-2.78.4-2.8.38-2.8.37-2.8.33-2.75.32-2.74.26-2.66.24-2.59.2-2.51.15-2.4.08h-5.67l-1.07-.07-1-.08-1-.13-1-.15-1-.2-1-.25-1.07-.32-1.23-.45-1.07-.52-.7-.42-.61-.43-.64-.5-.38-.33-.6-.62-.22-.25-.6-.77-.18-.26-.45-.72-.17-.3-.33-.68-.28-.64-.32-.95-.25-.9-.18-.86-.14-.85-.08-.8-.07-.82v-2.33l.05-.82.11-1.52.17-1.56.22-1.57.26-1.6.3-1.62.34-1.63.35-1.65.36-1.65.39-1.65.8-3.27.81-3.21.77-3.07.7-2.88.32-1.32.26-1.25.25-1.13.19-1 .15-.88.1-.73.06-.59v-.45l.15-1.44.42-1.4.63-1.3.85-1.18 1-1 1.22-.82 1.32-.58 1.41-.35 1.45-.1 1.44.17 1.4.4 1.3.63 1.18.85 1 1.05.82 1.22.58 1.31.35 1.42.1 1.45v1.25l-.12 1.27-.18 1.31-.22 1.34-.26 1.36-.29 1.4-.31 1.44-.35 1.48-.74 3-.8 3.11-.78 3.15-.77 3.14-.35 1.51-.35 1.5-.3 1.45-.28 1.4-.25 1.34-.2 1.23-.17 1.17-.08.76h4.03l2.09-.08 2.2-.14 2.35-.16 2.43-.22 2.53-.27 2.6-.28 2.65-.33 2.69-.34 2.68-.38 2.68-.38 2.65-.4 2.62-.4 2.55-.42 2.47-.4 4.67-.74 4.15-.73 3.48-.67 2.7-.53 1.82-.37 2.67-.55 2.73-.53 2.73-.5 2.74-.48 2.73-.44 2.73-.4 2.74-.38 2.73-.35 2.73-.32 2.72-.3 2.73-.26 2.72-.24 2.73-.21 2.72-.19 2.72-.18 2.71-.13 2.72-.14 2.72-.1 2.71-.08 2.72-.07h16.23l2.7.05 2.72.05 5.38.16 5.39.2 5.38.24 5.37.25 5.36.3 5.37.3 10.7.61 10.67.64 5.31.28 5.32.28 5.32.25 5.3.22 5.3.17 5.3.13 2.63.05h20.8l6.45-.07 6.45-.08 6.43-.12 6.44-.13 6.45-.15 6.43-.19 6.42-.18 6.43-.22 6.43-.23 6.44-.25 6.41-.27 6.44-.26 6.43-.3 6.42-.3 12.86-.65 12.85-.69 12.87-.71 12.87-.74 25.8-1.53 25.85-1.53 1.88-.1 1.9-.09 1.88-.05h7.49l1.86.05h1.84l1.85.06 1.81.1 1.84.1 1.81.12 1.82.13 3.6.29 3.57.33 3.56.35 3.54.4 3.5.4 7 .83 6.9.84 3.44.4 3.4.36 3.41.35 3.39.32 3.38.28 3.4.24 1.67.1 1.68.08 1.68.08 1.69.05h10.08l1.68-.06 1.69-.09 1.68-.1 1.68-.13 1.7-.15 1.69-.17 1.7-.2 1.7-.21 1.7-.25 1.7-.27 1-.17 1-.2 1-.2 1-.2 1-.23 1-.23 2-.52 2-.55 2-.6 2-.63 2-.67 2-.72 2-.73 2-.77 2-.8 2-.81 2-.85 2.05-.87 2-.87 4.15-1.8 4.17-1.81 4.2-1.82 2.13-.9 2.15-.9 2.15-.88 2.17-.87 2.18-.85 2.22-.83 2.21-.8 2.25-.79 2.25-.73 2.3-.72 1.59-.45 1.63-.43 1.67-.4 1.7-.38 1.71-.35 1.75-.32 1.77-.3 1.8-.28 1.8-.25 1.83-.22 1.85-.22 1.85-.18 1.87-.15 1.87-.15 1.88-.12 1.88-.1 1.89-.06 1.86-.07h9.3l1.82.06 1.8.09 1.77.1 1.76.11 1.74.15 1.7.15 1.66.19 1.65.2 1.69.21 1 .17 1 .22.93.25.89.26.86.29.85.31 1.5.59 1.44.58 1.33.55 1.25.52.53.2.52.18.48.17.44.13.38.1h.1v-.11l.07-.2.08-.24.07-.23.06-.23.15-.64.14-.66.11-.75.09-.79.08-.86v-5.84l-.1-2.15-.15-2.17.12-2.08-.16-2.12-.14-2.06-.11-2v-6.9l-.07-4.89-.11-4.85-.15-4.83-.2-4.82-.22-4.78-.27-4.78-.28-4.79-.32-4.78-.33-4.78-.35-4.8-.38-4.8-.79-9.69-.81-9.8-.55-6.8-.54-6.81-.51-6.84-.5-6.85-.49-6.85-.45-6.86-.45-6.87-.41-6.88-.4-6.9-.39-6.89-.36-6.9-.35-6.91-.34-6.9-.3-6.92-.3-6.92-.26-6.91-.27-6.92-.23-6.92-.24-6.9-.2-6.91-.18-6.92-.17-6.9-.16-6.92-.14-6.9-.11-6.88-.1-6.88-.09-6.89-.08-6.86v-29.69l.05-2.26v-2.27l.07-2.23.08-2.24.1-2.21.25-4.37.25-4.3.29-4.2.26-4.13.27-4 .22-3.93.08-1.9.08-1.89.07-1.85v-8.78l-.08-1.64-.09-1.6-.13-1.55-.15-1.51-.36-1.47-.22-1.43-.25-1.39-.28-1.35-.15-.61-.17-.64-.17-.61-.16-.62-.19-.6-.2-.58-.2-.59-.2-.55-.21-.55-.24-.55-.23-.51-.25-.52-.25-.5-.25-.5-.27-.48-.28-.47-.28-.47-.3-.45-.3-.45-.32-.43-.33-.42-.3-.43-.35-.4-.36-.4-.39-.4-.38-.38-.4-.39-.42-.38-.43-.37-.45-.36-.45-.35-.48-.37-.5-.35-.52-.33-.55-.34-.55-.33-.57-.32-.6-.31-.6-.32-.63-.3-.67-.3-.68-.3-.72-.28-.73-.27-.77-.27-.78-.26-.82-.25-.83-.25-.87-.24-.9-.21-.92-.22-1-.2-1-.2-1-.18-1-.17-1-.17-1.1-.15-1.1-.13-1.15-.13-1.18-.12-2.78-.2-2.77-.2-2.77-.2-2.78-.17-2.8-.13-2.8-.14-2.82-.16-2.81-.1-5.67-.15-5.7-.14-11.45-.18-5.75-.11-5.76-.15-2.89-.09-2.9-.1-2.88-.1-2.88-.13-2.94-.15-2.89-.17-2.88-.2-2.86-.23-2.89-.25-2.88-.27-2.88-.32-2.9-.35-1.25-.16-1.24-.22-1.21-.23-1.19-.2-1.16-.28-1.14-.3-1.1-.3-1.08-.34-2.05-.63-2-.63-1.89-.62-1.81-.57-.85-.25-.85-.25-.84-.21-.8-.2-.78-.17-.78-.17-.75-.11-.74-.1-.71-.09-.72-.05h-2.07l-.7.05-.68.1-.73.12-1 .23-1.05.25-1 .3-1.07.33-1.06.37-1.09.4-1.08.43-1.08.45-1.1.5-1.12.52-1.12.53-1.11.57-1.14.58-1.11.6-2.32 1.29-2.33 1.31-2.4 1.34-2.39 1.4-2.41 1.4-2.45 1.38-1.25.7-1.25.69-1.29.66-1.28.65-1.28.64-1.3.61-2 .89-1.95.86-2 .85-2 .84-2 .83-2.05.82-2.09.8-2.08.78-2.12.78-2.13.75-2.15.75-2.17.74-2.18.71-2.22.72-2.21.68-2.24.69-2.25.66-2.26.65-2.29.64-2.28.61-2.3.62-2.32.58-2.31.59-2.34.55-2.33.55-2.35.53-2.37.5-2.35.5-2.38.48-2.37.47-2.33.45-2.37.43-2.38.42-2.4.4-2.38.38-2.39.35-2.38.35-2.38.34-2.39.31-2.38.29-2.38.28-2.37.25-2.36.23-2.37.24-2.35.2-2.35.18-2.35.15-2.33.15-2.34.12-2.31.11-2.3.09h-13.59l-2.21-.06-2.2-.09-2.19-.11-2.18-.01-2.15-.17-2.12-.16-2.1-.2-3.68-.47-3.65-.4-3.64-.4-3.61-.43-7.17-.88-7.12-.89-7.06-.86-3.52-.42-3.5-.42-3.5-.38-3.48-.38-3.47-.35-3.47-.32-3.45-.3-3.45-.27-3.43-.2-3.45-.18-3.43-.17-3.45-.1-3.45-.07h-8.57l-1.73.05-1.72.07-1.71.1-1.74.08-1.71.12-1.74.13-1.71.15-1.74.17-1.73.16-1.73.2-1.74.22-1.73.23-1.75.25-1.7.27-1.7.28-3.45.59-3.45.63-3.47.72-3.48.71-3.47.74-3.5.76-3.5.79-7.07 1.63-7.08 1.63-3.57.84-3.58.8-3.6.8-3.6.78-3.63.75-3.64.73-3.65.69-3.66.65-3.67.6-1.85.28-1.85.28-1.87.25-1.85.25-1.86.22-1.87.22-1.87.18-1.88.18-1.87.15-1.88.15-1.9.12-1.88.08-1.9.09h-9.54l-1.91-.05-1.94-.1-1.91-.12-1.94-.08-1.63-.15-1.63-.18-1.64-.2-1.6-.23-1.63-.24-1.6-.29-1.6-.3-1.59-.31-1.58-.34-1.57-.36-1.54-.4-1.52-.4-1.55-.4-1.55-.42-1.53-.43-1.55-.45-3-.92-3-1-3-1-3-1-2.95-1-2.92-1-5.8-2-2.85-1-2.83-1-2.82-.92-2.78-.87-2.87-.69-1.37-.38-1.37-.39-1.35-.36-1.33-.37-1.35-.32-1.35-.32-1.33-.3-1.32-.26-1.31-.25-1.32-.24-1.32-.21-1.28-.2-1.3-.17-1.28-.13-1.29-.12-1.26-.1-1.27-.07h-5l-1.32.07h-1.46l-1.42-.38-1.35-.55-1.22-.77-1.08-1-.9-1.14-.67-1.28-.45-1.38-.2-1.45v-1.45l.3-1.42.55-1.35.82-1.21 1-1.07 1.14-.9 1.28-.68 1.38-.44 1.45-.2 1.52-.08h4.82l1.6.06 1.6.09 1.58.11 1.58.15 1.57.19 1.57.2 1.56.23 1.55.25 1.57.27 1.53.3 1.55.31 1.54.35 1.53.35 1.52.37 1.51.4 1.52.4 1.52.42 1.51.43 3 .88 3 .94 3 1 2.95 1 2.93 1 5.82 2 2.9 1 2.88 1 2.87 1 2.85.94 2.83.9 2.85.85 1.38.4 1.4.4 1.4.38 1.4.37 1.4.33 1.39.33 1.38.32 1.38.3 1.29.15 1.37.25 1.36.24 1.37.21 1.37.2 1.35.17 1.35.15 1.35.12 1.7.13 1.68.1 1.7.08 1.7.07h6.8l1.7-.05 1.7-.07 1.7-.1 1.72-.1 1.7-.13 1.71-.14 1.72-.16 1.72-.19 1.71-.18 1.72-.22 1.72-.21 1.73-.24 1.72-.25 1.71-.26 3.49-.59 3.46-.61 3.47-.65 3.5-.7 3.48-.72 3.5-.77 3.52-.76 3.52-.8 3.53-.82 7.1-1.65 7.1-1.63 3.58-.8 3.6-.79 3.59-.76 3.61-.74 3.62-.71 3.63-.67 3.64-.62 1.83-.3 1.83-.28 1.92-.27 1.9-.26 1.9-.24 1.9-.21 1.88-.19 1.9-.18 1.89-.17 1.86-.13 1.89-.13 1.86-.1 1.87-.1 1.87-.07h11.07l3.65.06 3.66.12 3.64.17 3.63.2 3.62.23 3.61.28 3.6.32 3.59.33 3.61.29 3.58.39 3.57.41 3.57.42 3.55.42 7.11.88 7.1.88 7.12.87 3.55.42 3.57.41 3.56.39 3.55.36 1.94.19 1.93.15 1.95.15 2 .11 2 .1 2 .07 2.05.07h10.55l2.15-.07 2.17-.08 2.17-.09 2.2-.11 2.2-.15 2.21-.15 2.22-.17 2.23-.18 2.24-.22 2.25-.22 2.25-.25 2.25-.26 2.26-.27 2.27-.3 2.27-.32 2.26-.33 2.27-.33 2.27-.37 2.26-.38 2.27-.4 2.27-.4 2.26-.44 2.27-.45 2.25-.45 2.25-.46 2.23-.5 2.24-.5 2.23-.52 2.22-.53 2.2-.55 2.2-.55 2.18-.59 2.17-.58 2.16-.6 2.15-.62 2.12-.63 2.12-.63 2.1-.67 2.08-.67 2-.66 2.05-.7 2-.7 2-.72 2-.72 1.95-.73 1.93-.75 1.9-.77 1.89-.76 1.85-.77 1.83-.78 1.8-.8 1.75-.8 1.07-.52 1.06-.52 1.09-.55 1.1-.58 1.1-.6 1.11-.6 2.29-1.3 2.36-1.37 2.37-1.4 2.43-1.4 2.45-1.42 2.54-1.4 1.3-.7 1.34-.68 1.34-.67 1.33-.65 1.37-.63 1.38-.62 1.4-.58 1.41-.57 1.45-.53 1.47-.5 1.5-.47 1.52-.43 1.57-.35 1.58-.38 1.4-.25 1.42-.19 1.4-.11 1.38-.07h1.35z"/><path d="m201.17 342.78h1.11l.35.07.27.06.28.07.27.08.28.09.35.13.22.1.22.1.21.1.22.12.22.1.28.18.2.12.2.15.2.13.2.15.18.15.25.22.2.18.2.18.19.19.16.2.24.28.15.17.13.2.15.18.12.18.18.3.13.22.12.22.12.23.16.33.1.22.09.22.08.21.07.24.08.21.07.27.06.23.07.24v.23l.05.25v3.48l-.05.29-.07.28-.07.27-.08.28-.08.27-.1.26-.12.27-.1.27-.13.25-.14.25-.15.25-.15.23-.15.23-.16.24-.17.23-.18.22-.2.21-.2.2-.2.2-.2.19-.22.2-.23.16-.22.17-.23.17-.25.15-.24.15-.25.13-.26.13-.25.12-.27.12-.27.1-.26.08-.27.08-.28.09-.27.06-.28.05h-.29l-.2.27-.78 1.08-.8 1.17-.82 1.23-.83 1.3-.83 1.32-.82 1.35-.78 1.32-.74 1.3-.7 1.25-.63 1.18-.37.7v2.43l-.07.29-.06.26-.07.29-.08.26-.1.27-.1.27-.12.26-.12.25-.13.27-.13.23-.15.25-.15.24-.17.23-.17.23-.18.22-.18.22-.2.21-.2.2-.2.2-.47.42-.45.35-.18.17-.22.15-.2.13-.22.15-.2.12-.2.13-.21.12-.22.11-.22.1-.16.09-.25.11-.25.1-.25.1-.27.1-.27.07-.26.08-.18.24-.27.05h-.13l-.28.05h-2.55l-.27-.05-.25-.05-.25-.07-.27-.06-.25-.07-.23-.08-.25-.1-.25-.1-.23-.1-.24-.12-.25-.14-.25-.13-.23-.15-.23-.17-.24-.15-.23-.18-.22-.18-.21-.19-.2-.2-.18-.18-.18-.2-.19-.2-.16-.22-.15-.2-.17-.22-.13-.23-.15-.22-.14-.23v-.05l-.14-.25-.13-.25-.1-.25-.12-.25-.1-.27-.08-.26-.08-.25-.07-.29-.07-.26v-.14l-.05-.26v-2.66l.05-.27.08-.58.2-.84.24-.75.43-1.16.5-1.2.58-1.24.64-1.28.7-1.33.75-1.4.8-1.45.85-1.49.9-1.5.91-1.51.94-1.5 1-1.5 1-1.45 1-1.4 1-1.37 1-1.28 1-1.24.95-1.11.55-.59.53-.55.57-.55.63-.55.73-.56.54-.35.23-.15.23-.14.25-.13.25-.13.2-.12.22-.1.22-.08.21-.1.22-.09.23-.08.25-.08.27-.09.25-.06.27-.07-.2-.05.27-.05h1.87zm16.38 18.75h1.25l.25.05.23.05.25.07.24.06.25.07.23.08.23.1.24.1.23.1.22.1.23.14.22.11.21.14.2.13.22.15.2.15.2.15.18.17.2.16.19.17.16.18.17.19.17.18.16.2.15.2.15.2.15.22.14.2.13.21.12.24.11.21.12.24.1.21.08.24.1.25.09.23.06.23.07.25.05.25.07.24v3.35l-.07.25v.25l-.06.23-.09.25-.08.23-.08.24-.1.23-.1.23-.12.22-.12.23-.13.22-.12.22-.15.2-.13.21-.15.2-.17.2-.15.19-.18.18-.17.18-1.05 1.07-1 1.08-1.12 1.19-1 1.16-2.2 2.52-2.25 2.57-2.26 2.58-1.17 1.3-1.17 1.28-1.2 1.24-1.2 1.21-1.26 1.14-1.15 1-.19.17-.2.15-.18.16-.22.15-.2.14-.21.13-.22.13-.22.12-.21.12-.24.11-.23.1-.23.1-.24.09-.23.08-.25.07-.23.06-.25.07-.25.05-.24.05h-2.51l-.25-.05-.25-.05h-.24l-.25-.05-.25-.08-.23-.07-.23-.08-.24-.1-.23-.08-.23-.12-.24-.1-.21-.12-.22-.13-.22-.13-.21-.14-.2-.15-.2-.15-.2-.15-.2-.16-.19-.17-.18-.17-.17-.18-.18-.18-.17-.19-.15-.2-.16-.2-.15-.2-.14-.2-.13-.21-.13-.22-.12-.22-.12-.23-.11-.22-.1-.23-.1-.23-.09-.24-.08-.23-.07-.25-.06-.23-.07-.25-.05-.25v-3l.05-.25v-.25l.06-.24.07-.25.07-.23.15-.22.1-.23.08-.24.12-.21.1-.24.12-.21.13-.22.13-.22.14-.21.15-.2.15-.2.15-.2.16-.2.17-.19.17-.18.18-.18.18-.17.95-.87.9-.86.95-1 1-1 1-1.1 1-1.16 2.18-2.47 2.23-2.57 2.29-2.6 1.18-1.31 1.18-1.29 1.19-1.28 1.15-1.17.18-.18.18-.17.2-.16.19-.17.2-.15.2-.15.21-.13.22-.14.22-.13.21-.13.22-.12.23-.1.24-.1.23-.1.23-.08.24-.09.23-.08.25-.07h.25l.23-.05.25-.05h1.52zm58.37-103.15h.4l.4.05.38.05.4.08.38.1.39.12.36.13.37.15.37.17.35.18.33.2.33.22.32.23.32.25.3.27.28.27.27.3.25.3.25.31.23.32.2.33.2.35.18.35.15.37.15.37.1.33.32.12 2.73 1 1.5.57.8.33.82.33.82.37.83.42.85.45.88.51.89.6.76.59 1.07.86.92.75 2 1.54 2 1.53 2.09 1.53 2.11 1.55 2.17 1.57 4.4 3.18 2.22 1.62 2.21 1.67 2.22 1.68 2.17 1.72 1.1.88 1.08.9 1.07.9 1.05.92 1.05.93 1 .95 1 1 .95.91.28.29.25.3.25.31.24.32.21.33.2.34.19.35.16.36.17.37.12.37.11.38.1.38.09.4.06.39v1.98l-.07.38-.06.4-.09.39-.11.38-.12.37-.15.38-.17.35-.16.37-.2.33-.22.33-.22.34-.25.31-.25.3-.28.29-.28.28-.3.27-.3.23-.32.23-.33.22-.35.22-.35.18-.35.17-.37.15-.38.13-.41.07-.38.08-.38.08-.4.07h-2.37l-.38-.09-.39-.08-.38-.12-.38-.11-.37-.15-.37-.15-.35-.19-.35-.2-.33-.21-.32-.22-.31-.25-.3-.25-.3-.27-.84-.83-.81-.78-.85-.77-.87-.78-.9-.77-.9-.78-.95-.77-.93-.77-2-1.56-2-1.55-2.07-1.58-2.14-1.55-4.35-3.15-2.2-1.6-2.2-1.6-2.2-1.64-2.18-1.66-2.15-1.69-1.08-.88-.92-.75-.1-.07h-.05l-.15-.1-.27-.13-.35-.17-.4-.18-.48-.22-.52-.2-1.23-.47-1.32-.48-1.43-.52-1.43-.53-.79-.32-.78-.33-.78-.37-.82-.4-.85-.46-.88-.57-.64-.45-.28-.23-.3-.25-.58-.52-.59-.6-.5-.6-.5-.68-.26-.45-.2-.35-.19-.35-.06-.17-.12-.25-.1-.23-.1-.27-.07-.15-.1-.3-.08-.3-.08-.3v-.17l-.06-.3-.07-.3v-3.04l.05-.3.06-.3v-.18l.06-.28.09-.3.08-.29.07-.18.13-.37.15-.35.08-.2.15-.33.19-.33.25-.47.46-.72.34-.43.25-.3.26-.3.29-.28.28-.29.3-.25.32-.25.33-.21.33-.22.34-.2.36-.17.35-.16.39-.15.36-.12.39-.12.38-.08.4-.07.38-.05h.8z"/><path d="m315.58 245.38h.82l.4.07.4.08.4.1.38.12.39.13.38.17.37.18.35.18.35.22.35.23.31.25.32.25.3.29.28.28.29.32.25.31.25.32.21.35.22.35.18.37.19.36.15.39.05.15.1.28.1.28.08.29v.16l.07.27.05.28v.45l.05.37v2.27l-.05.38-.07.38-.08.42v.28l-.09.29-.08.28-.23.77-.42 1-.45.93-.48.89-.5.83-.54.82-.55.8-.58.78-.6.8-.65.82-1.25 1.68-1.43 1.65-1.57 1.7-1.6 1.74-1.65 1.78-3.46 3.63-3.57 3.77-1.72 1.88-1.75 1.9-1.74 1.9-1.68 1.88-1.6 1.85-1.55 1.84-.7.88-.7.88-.68.87-.64.83-.6.84-.56.8-.54.78-.48.75-.45.72-.4.68-.35.65-.32.6-.26.55-.21.5-.15.43-.12.37-.07.27-.05.26v.97l-.07.42-.07.4-.1.4-.11.38-.15.38-.15.39-.17.36-.2.37-.2.35-.23.35-.24.32-.26.31-.27.32-.3.28-.3.29-.32.25-.31.25-.35.23-.35.2-.35.2-.37.17-.38.16-.39.14-.4.13-.38.1-.4.07-.42.06-.4.05h-1.63l-.4-.07-.4-.08-.4-.08-.4-.12-.38-.15-.39-.15-.36-.17-.35-.2-.37-.2-.33-.23-.34-.25-.31-.25-.3-.27-.3-.3-.27-.3-.27-.31-.23-.32-.23-.35-.22-.35-.18-.35-.19-.37-.16-.38-.14-.38-.11-.4-.1-.39-.09-.4-.06-.41v-2.42l.06-.67.1-.71.24-1.2.3-1.22.38-1.18.42-1.15.48-1.12.52-1.1.55-1.08.58-1.09.62-1.05.65-1.05.68-1.05.72-1.05.73-1 .75-1 .78-1.05.8-1 .82-1 .85-1 1.72-2.05 1.76-2 1.82-2 1.83-2 1.85-2 1.85-2 3.6-3.8 3.4-3.6 1.59-1.69 1.48-1.61 1.37-1.5 1.21-1.42 1.07-1.3.45-.55.42-.53.35-.49.3-.43.13-.2v-.72l.07-.4.08-.4.1-.4.12-.38.15-.38.15-.39.18-.36.2-.37.2-.35.23-.33.25-.34.27-.3.27-.3.3-.3.3-.26.31-.27.34-.23.33-.24.35-.2.37-.18.36-.18.39-.15.38-.14.4-.11.4-.1.4-.09h1.22zm-8.16 11 .1.29-.12-.37zm-20.55-118.71h1l.31.05.34.07.31.08.32.08.32.1.31.12.3.13.3.14.3.16.29.15.28.19.27.18.26.2.27.2.25.22.23.23.24.23.23.25.2.25.2.27.2.27.18.28.17.28.15.29.15.3.13.3.14.31.1.32.1.32.08.31.07.32.06.33.05.34v2.43l-.1.52-.22 1.11-.27 1.42-.26 1.52-.22 1.28v3.25l-.05.15-.05.17-.05.15-.05.16-.07.15-.05.15-.06.15-.07.15-.07.15-.39.15-.07.15-.08.15-.08.14-.09.15-.1.13-.08.15-.1.13-.08.14-.1.13-.1.13-.12.14-.1.11-.12.14-.1.11-.11.12-.12.12-.07.06-.11.12-.12.12-.12.1-.13.11-.12.1-.13.1-.13.1-.12.1-.13.09-.14.1-.15.08-.13.08-.13.09-.15.08-.14.08-.15.07-.15.08-.15.07-.15.07-.15.06-.15.07-.15.05-.15.07-.15.05h-.32l-.15.05h-4.33l-.17-.05h-.17l-.15-.06-.15-.05h-.16l-.15-.07-.15-.07-.15-.06-.15-.07-.15-.07-.15-.08-.15-.08-.14-.09-.15-.08-.13-.08-.15-.09-.13-.1-.14-.1-.13-.08-.13-.12-.12-.1-.13-.1-.14-.11-.11-.1-.12-.12-.12-.12-.11-.11-.12-.12-.12-.13-.1-.12-.11-.13-.1-.13-.1-.13-.1-.12-.08-.13-.1-.14-.08-.13-.09-.15-.08-.13-.08-.14-.09-.15-.06-.13-.09-.15-.06-.15-.07-.15-.07-.15-.05-.15-.06-.15-.05-.15-.05-.15v-.15l-.05-.15-.05-.17v-2.88l.06-.92.1-.88.14-.88.26-1.7.32-1.72.28-1.48.2-1-.06.31v.22-1.85l.05-.17v-.15l.07-.17v-.15l.05-.15.07-.16.06-.15.07-.15.08-.15.07-.15.08-.14.09-.15.08-.15.08-.13.09-.15.1-.13.08-.14.1-.13.1-.13.1-.14.12-.11.1-.14.11-.11.1-.14.12-.11.12-.12.11-.12.14-.11.11-.1.14-.12.11-.1.14-.1.13-.1.13-.1.14-.1.15-.08.13-.09.15-.1.13-.08.15-.07.15-.08.14-.08.15-.07.15-.07.16-.06.15-.07.15-.05.15-.07h.17l.15-.05.17-.05h2.45zm17.26-13h1.22l.3.06h.3l.28.09.3.08.29.1.28.1.28.12.29.13.26.13.27.15.27.17.25.17.25.16.23.19.25.2.22.2.23.2.2.23.22.22.18.23.2.23.17.25.16.25.17.27.15.27.15.26.12.27.13.28v.12l.19.2.2.23.18.25.17.25.16.25.17.27.13.27.15.26.12.27.12.28.11.29.09.3.08.28.08.3.07.3.05.3v4.2l-.05.08v.29l-.21.5-.25.46-.05.09v.08l-.05.08-.05.07-.05.08-.05.09v.08l-.05.07-.05.08-.05.08-.05.07-.08.12-.05.08-.07.07-.66.23-.06.08-.07.09v.06l-.07.09-.06.06-.07.09-.07.06-.06.09-.07.06-.07.07-.06.08-.09.07-.06.07-.07.06-.07.07-.06.07-.09.06-.06.07-.09.07-.06.06-.09.07-.06.05-.09.07-.08.06h-.07l-.08.07h-.08l-.09.07-.05.18-.07.05h-.08l-.08.05-.09.06h-.08l-.08.05h-.09l-.08.05h-.1l-.08.05-.09.05h-.18l-.1.05h-6.95l-.09-.05h-.1l-.08-.05h-.25l-.08-.05-.1-.05h-.17l-.08-.05-.1-.05h-.09l-.08-.05-.08-.06h-.09l-.08-.05-.08-.07-.09-.05-.06-.07-.09-.05-.08-.06h-.08l-.07-.07-.08-.07h-.07l-.08-.06-.07-.07-.08-.07-.07-.06-.07-.07-.08-.07-.07-.06-.06-.07-.07-.07-.07-.06-.06-.09-.07-.06-.07-.07-.06-.08-.07-.09-.07-.06-.06-.07-.05-.08-.07-.07-.05-.08-.07-.07-.05-.08-.06-.07-.05-.08-.05-.09v-.06l-.07-.09v-.08l-.05-.08-.12-.2-.05-.09-.05-.08-.05-.08v-.09l-.05-.08-.05-.08v-.09l-.05-.08v-.27l-.26-.56-.3-.82-.2-.68-.19-.65-.23-1-.15-.87-.07-.43v-4.24l.05-.1v-.18l.05-.1v-.18l.05-.09v-.08l.05-.1.05-.08v-.1l.05-.09.05-.08.05-.08.06-.09v-.1l.05-.08.05-.08.07-.09.05-.08.07-.08.06-.09.05-.06.07-.09.07-.08.06-.08.07-.07.07-.08.06-.07.07-.08.07-.07.06-.08.07-.07.08-.08.07-.07.07-.07.08-.06.07-.07.08-.07.08-.06.07-.07.08-.07.09-.06.08-.07.07-.05.08-.07h.08l.09-.06h.08l.08-.07h.17l.1-.07h.35l.08-.05h4zm8.2 7.63v.3-.32zm-14.33-.18-.07.15.05-.1v-.07zm36.07-22.42h1.23l.3.05.3.06.3.07.3.08.3.1.28.12h.12l.37.07.3.06.3.09.3.1.28.1.3.11.28.12.27.15.28.13.27.17.25.17.27.16.25.19.23.2.23.2.24.21.21.22.2.23.22.24.18.23.19.25.18.27.15.26.17.27.13.27.13.28.14.28.1.29.11.3.09.3.08.3.07.3v.3l.05.3v5.03l-.05.08v.27l-.05.07v.06l-.05.07v.13l-.05.07-.05.07-.05.06v.07l-.05.07-.05.06v.07l-.05.07-.05.06-.05.07-.05.05-.05.07-.05.06h-.05l-.05.07h-.05v.07l-.07.05-.05.06h-.16l-.07.05h-.05l-.07.07h-.05l-.06.05h-.3l-.05.05h-.92l-.08.05h-11.31l-.07-.05h-.25l-.06-.05h-.32l-.05-.05h-.18l-.07-.05h-.13l-.05-.05-.05-.07h-.12l-.1-.1-.05-.06h-.1l-.05-.07-.05-.07h-.05l-.05-.06-.05-.05v-.07h-.05l-.05-.07-.05-.06-.05-.07v-.07l-.05-.06v-.07l-.31-.47-.05-.06v-.2l-.05-.07v-.07l-.05-.06v-.14l-.05-.06v-7.98l.05-.07v-.13l.05-.07v-.13l.05-.07v-.06l.05-.07v-.07l.05-.06h.05v-.14l.05-.06h.05l.05-.07v-.07h.05l.05-.06.05-.07.05-.07h.05l.05-.06h.05l.07-.07h.05l.05-.07.06-.05h.1l.07-.06h.05l.07-.05h.18l.07-.05h.55l.06-.05h.4l.07-.05h4.13zm6.73 3.53.1.12-.1-.13zm54.28-11.66h.94l.46.06.45.1.47.12.43.15.44.17.43.2.42.21.4.25.38.25.37.29.36.31.34.32.31.35.3.35.29.38.25.4.23.4.22.42.18.43.17.44.13.45.12.45.08.46.07.47v2.75h-12.44v-1.11.36-3.03h.3-1.18 3.64l.5-.05h.85zm-5.66 15.1.2.15h-.1zm10.4-13 .2.18-.22-.23-.3-.22zm36.78 11.73h1.32l.31.06.32.07.33.08.3.1.32.12.3.13.3.14.3.15.28.16.29.17.28.18.27.19.26.21.25.22.24.22.23.23.23.23.22.27.2.25.18.27.19.28.18.28.2.34.15.3.15.28.12.3.1.23.11.32.1.32.1.31.07.32.07.33.06.32v5.4l-.05.07v.13l-.05.08v.07l-.05.07v.06l-.05.07-.05.07v.06l-.06.1v.14l-.05.06-.05.07-.05.05v.07l-.05.06-.05.07-.05.07-.05.06v.05l-.05.07-.05.07-.06.05-.05.06v.07l-.05.05-.07.07-.05.05h-.07l-.05.06-.06.05v.06l-.05.07v.07l-.05.06-.05.07-.05.07-.05.06v.07l-.05.05-.05.07-.07.06-.05.07-.05.05-.05.07-.07.06h-.05v.07l-.06.07h-.05l-.07.06-.05.05-.07.05-.06.07h-.05l-1.61.41h-.07l-.05.05h-.06l-.07.05-.07.06-.06.05h-.07l-.07.05h-.06l-.07.05h-.07l-.06.05h-.07l-.07.05-.06.05h-.14l-.08.05h-.42l-.08.05h-.37l-.08.05h-7l-.07-.05h-.37l-.06-.05h-.09l-.06-.05h-.14l-.08-.05h-.07l-.06-.05h-.07l-.07-.05h-.13l-.07-.05-.06-.05h-.07l-.07-.05h-.06l-.07-.07-.07-.05h-.06l-.07-.05v-.07l-.07-.05-.06-.06h-.05l-.07-.05-.05-.07-.07-.07-.05-.05-.06-.06-.05-.05-.05-.07-.07-.07-.05-.05v-.06l-.05-.07-.23-.14-.05-.07-.07-.05-.05-.07v-.06l-.05-.07-.05-.07v-.08l-.05-.07-.05-.06v-.07l-.05-.07-.05-.06v-.09l-.05-.06v-.07l-.05-.07v-.15l-.05-.06v-6.33l.07-.22v-1.55l.09-.18.05-.07v-.22l.05-.06v-.07l.05-.08v-.2l.05-.07v-.07l.05-.06.05-.07.05-.07v-.06l.05-.07.05-.07.05-.06.05-.06v-.24l.05-.06v-.22l.05-.07v-.06l.05-.09v-.13l.05-.07.05-.06.05-.07v-.13l.05-.07.05-.07.05-.06.05-.07v-.07l.06-.06.05-.07h.05l.05-.07v-.06h.07v-.07l.07-.07.05-.06.06-.05.05-.07h.07l.07-.07h.11l.07-.06h.12l.06-.05h.07l.07-.07h.06l.05-.05h.35l.07-.05h.2l.07-.05h.36l.07-.05h4.61zm-7.53 12.12.23.41v-.51zm14.7-1v.63l.05-.13v-.52zm18.36 20.83h1.42l.28.07.29.07.26.06.29.09.26.1.27.1.27.11.25.12.25.13.25.14.25.15.25.16.23.15.22.19.23.18.22.18.2.2.2.2.2.2.18.22.18.22.19.23.16.23.15.24.15.25.14.25.13.25.13.26.12.25.1.27.1.28.08.27.07.27.08.28.05.28v3.82l-.05.15v.13l-.05.14-.05.13-.05.13-.05.14v.13l-.05.13-.06.14v.21l.05.72.07.73v3.09l-.05.13v.28l-.05.14-.05.13-.05.13v.14l-.05.13-.05.13-.05.14-.06.13-.07.12-.05.13-.07.13-.06.12-.09.13-.06.12-.07.13-.08.12-.09.12-.06.11-.09.12-.1.12-.08.11-.08.12-.09.1-.1.12-.1.1-.08.11-.1.1-.1.1-.1.1-.1.1-.12.1-.1.1-.11.09-.1.1-.12.08-.12.1-.1.08-.11.09-.12.08-.12.08-.13.07-.12.08-.11.07-.14.08-.11.07-.14.07-.11.06-.14.07h-.13l-.13.07h-.14l-.11.05-.14.06h-.41l-.14.05h-4.93l-.13-.05h-.14l-.13-.05h-.13l-.14-.07-.13-.05-.13-.05-.14-.06-.11-.07-.14-.07-.13-.06-.12-.07-.13-.07-.12-.06-.11-.09-.14-.08-.11-.07-.12-.08-.12-.08-.11-.09-.1-.1-.12-.08-.12-.08-.1-.1-.11-.1-.1-.1-.1-.09-.1-.1-.1-.11-.1-.1-.1-.1-.1-.12-.09-.1-.1-.12-.08-.1-.08-.11-.09-.12-.08-.12-.08-.11-.09-.12-.08-.13-.07-.12-.08-.12-.07-.13-.06-.12-.07-.13-.07-.12-.06-.13-.05-.13-.07-.14-.05-.13-.05-.13-.05-.14v-.13l-.05-.13-.05-.14v-.28l-.05-.13v-1.89l-.05-.68-.09-1.05v-3.05l.09-1 .18-1.08.18-.75v-.72l.15-.45.33-.78.27-.49.07-.11.06-.12.07-.13.08-.12.07-.12.08-.11.1-.15.07-.1.08-.1.07-.1.08-.1.07-.1.08-.1.09-.1.08-.1.1-.12.1-.1.08-.1.09-.1.1-.08.08-.1.1-.09.1-.1.1-.08.1-.08.12-.1.1-.1.11-.09.1-.08.12-.1.12-.08.11-.09.12-.06.13-.09.12-.08.12-.07.11-.08.14-.07.13-.06.12-.07.13-.07.13-.05.12-.06h.13l.14-.07h.13l.13-.05h.27l.15-.05h.13l.14-.05h.98-.57 1.15zm5.77 14.27-.1.1-.1.08-.12.1-.1.1.34-.28.1-.12zm6.32 23.13h.96l.32.05.32.06.31.07.3.08.32.1.3.12.3.12.3.13.28.13.29.17.26.15.29.18.25.19.26.2.25.2.24.21.23.22.22.23.21.25.2.25.2.25.12.19.17.21.15.19.2.2.78.73.87.83.21.24.24.23.2.23.2.27.2.25.16.27.19.28.15.27.15.3.13.28.13.3.12.3.1.3.08.32.09.3.06.31.05.32.05.33v3.9l-.05.1v.29l-.05.1v.1l-.05.1-.05.1v.08l-.05.1-.05.1-.05.08-.06.1v.09l-.05.1-.07.08-.05.1-.07.08-.05.09-.06.1-.07.08-.07.08-.06.09-.07.08-.07.08-.06.09-.07.08-.07.08-.08.09-.07.06-.06.09-.09.08-.06.07-.09.08-.08.07-.07.08-.08.07-.08.06-.09.07-.08.07-.08.08-.09.07h-.08l-.08.06-.09.07-.08.07-.1.06h-.08l-.09.07h-.1l-.08.07-.1.05-.08.05h-.1l-.1.05h-.09l-.1.05-.1.05h-.1l-.08.05h-.2l-.1.05h-.2l-.1.05h-5.98l-.1-.05h-.1l-.1-.05h-.19l-.1-.05-.1-.05h-.1l-.08-.05h-.1l-.1-.05-.08-.05-.1-.06h-.09l-.1-.05-.08-.07-.08-.05-.1-.07-.09-.06-.08-.07-.08-.05-.09-.07-.08-.06-.08-.07-.09-.08-.08-.07-.08-.07-.09-.06-.08-.09-.07-.06-.85-.82-1-.92-.64-.65-.68-.75-.72-.88-.5-.73-.06-.09-.05-.1-.07-.08-.05-.1-.05-.08-.07-.1-.05-.09-.05-.1v-.1l-.05-.08-.05-.1-.05-.1v-.1l-.05-.1-.05-.08v-.1l-.05-.1v-.2l-.05-.1v-1.79.05-3.82l.05-.1v-.2l.05-.1v-.2l.05-.08v-.1l.05-.1.05-.1.05-.08.05-.1v-.09l.07-.1v-.1l.05-.08.06-.08.05-.1.07-.09.07-.08.06-.1.05-.08.07-.09.07-.08.06-.08.07-.09.08-.08.07-.08.07-.07.06-.08.09-.09.06-.06.09-.09.06-.08.09-.07.08-.06.08-.09.07-.06.08-.07.09-.07.08-.06.08-.07.09-.07.08-.06.1-.07.08-.07.09-.06.08-.05.1-.07h.08l.1-.07h.09l.1-.05h.08l.1-.06.1-.05.08-.05h.2l.1-.05.1-.05h.29l.1-.05h3.15zm14.66 34.8h1.22l.25.05.23.05h.24l.23.06.23.07.24.08.23.09.23.1.22.1.22.1.21.11.22.12.22.12.2.13.2.13.2.15.2.15.18.15.2.17.17.17.18.16.17.17.16.18.17.19.15.2.15.18.13.2.55.23.77.37.22.12.21.11.2.12.22.13.2.14.2.13.2.15.2.15.18.15.19.17.16.16.19.19.16.16.17.19.15.2.15.18.15.2.13.2.14.2.13.22.12.2.11.21.12.24.1.21.1.22.08.23.09.24.08.23.07.23.05.24.06.23.05.25v3.87l-.05.11v.24l-.05.11v.24l-.05.11v.22l-.05.12-.05.1-.07.11-.05.12-.05.1-.06.12-.07.1-.05.1-.07.11-.06.1-.07.1-.07.1-.06.1-.07.1-.08.1-.07.1-.08.1-.07.09-.08.1-.09.1-.08.08-.07.1-.08.08-.1.09-.08.08-.09.1-.08.08-.1.09-.08.08-.1.07-.09.08-.1.08-.1.07-.08.08-.1.07-.1.08-.1.07-.1.07-.1.06-.1.07-.12.07-.1.06-.1.05-.11.07-.1.07-.12.05h-.1l-.12.06-.1.05-.11.05h-.24l-.1.05-.11.05h-6.32l-.12-.05-.11-.05h-.22l-.12-.06-.11-.05-.52-.25-.32-.14-.25-.1-.21-.08-.62-.22-.55-.2-.43-.18-.12-.05-.1-.05h-.12l-.11-.07-.1-.05-.12-.06-.1-.05-.18-.1-.1-.07-.1-.05-.1-.07-.1-.06-.1-.07-.1-.07-.1-.06-.1-.07-.1-.07-.09-.06-.16-.14-.1-.06-.09-.09-.1-.06-.08-.09-.08-.06-.1-.09-.09-.08-.08-.08-.08-.09-.09-.08-.08-.08-.15-.17-.08-.08-.07-.09-.08-.08-.07-.08-.08-.09-.07-.08-.07-.1-.06-.08-.09-.09-.06-.1-.14-.2-.06-.1-.07-.1-.07-.1-.06-.1-.07-.1-.07-.1-.06-.1-.29-.5-.36-.75-.45-1.06-.05-.1v-.12l-.05-.12v-.11l-.05-.12v-4.98l.05-.11v-.24l.05-.11v-.12l.05-.12.05-.11.05-.1v-.12l.05-.12.05-.1.07-.11.05-.1.05-.12.06-.1.07-.1.07-.12.05-.1.06-.1.07-.1.08-.1.07-.1.07-.1.08-.1.07-.1.08-.1.07-.08.08-.1.08-.08.09-.1.08-.09.08-.1.09-.08.08-.08.08-.09.1-.08.09-.08.1-.09.08-.08.1-.07.1-.08.08-.07.1-.08.1-.07.1-.06.1-.09.1-.06.12-.07.1-.07.1-.05.1-.06.12-.07h.1l.11-.07h.1l.12-.05h.1l.12-.05.11-.05h.12l.1-.05h.23l.12-.35h2.88zm22 25.07h1.35l.49.08h.23l.23.05h.22l.23.07.22.06.22.09.23.08.22.08.2.1.21.1.2.1.22.12.25.15.5.15h.38l.24.05h.23l.22.05.23.07.22.08.21.07.22.08.22.1.21.1.22.1.2.1.2.12.22.12.18.13.2.13.18.14.2.13.17.15.18.15.19.15.16.17.17.16.15.17.17.18.15.19.13.18.15.18.13.19.12.2.13.2.12.2.12.2.1.21.1.2.1.22.08.22.08.21.09.24.06.21.07.22v.47l.05.23v4.38l-.05.12v.22l-.05.1v.21l-.05.12v.1l-.05.12v.2l-.05.1v.11l-.06.1v.1l-.07.1v.1l-.07.1-.06.1-.07.1-.07.09-.06.1-.07.1-.07.08-.06.1-.09.1-.06.08-.07.09-.08.1-.09.08-.75.08-.09.09-.08.08-.08.08-.09.09-.08.08-.08.08-.1.07-.09.08-.08.09-.1.06-.08.07-.1.08-.09.07-.1.07-.1.06-.08.07-.1.07-.1.06-.1.07-.1.05-.1.07-.1.05-.1.06-.1.05-.1.05-.12.07-.1.05h-.21l-.1.05h-.12l-.1.05h-.22l-.11.05h-4.55l-.5-.1-1.1-.29-1.1-.35-1.05-.35-1.05-.38-.69-.3-.1-.05h-.11l-.1-.05-.1-.05-.1-.05-.1-.05-.12-.07-.1-.05-.1-.06-.1-.05-.1-.07-.1-.07-.1-.06-.08-.05-.1-.07-.1-.07-.09-.06-.1-.07-.08-.08-.1-.07-.08-.07-.09-.08-.1-.07-.08-.08-.08-.07-.09-.08-.06.35-.08-.09-.09-.06-.06-.09-.09-.08-.08-.08-.07-.1-.08-.09-.07-.08-.06-.08-.09-.1-.06-.09-.07-.1-.07-.08-.06-.1-.07-.1-.07-.08-.06-.1v-.1l-.07-.1-.05-.1-.06-.12v-.1l-.05-.1-.07-.1-.05-.1-.05-.11-.05-.1-.05-.1v-.12l-.05-.1-.22-.15v-.21l-.05-.12v-5.25l.05-.1v-.34l.05-.11v-.1l.05-.12.05-.1v-.1l.05-.12.05-.1.05-.1.06-.1v-.1l.05-.11.07-.1.07-.1v-.09l.06-.1.07-.1.07-.1.06-.1.07-.08.08-.1.07-.08.07-.1.08-.09.07-.1.08-.08.08-.08.07-.09.08-.08.09-.08.35-.17.09-.08.08-.09.1-.08.1-.08.08-.07.09-.08.1-.07.08-.07.1-.06.08-.07.1-.07.1-.06.09-.07.1-.07.1-.06.1-.05.1-.07.1-.05h.1l.1-.07.1-.05.1-.05h.1l.1-.05h.21l.1-.05.12-.05h3.19zm-.68 16.66h-.35zm5.57-15.28h.23-.2zm27 17.12h.95l.25.05h.23l.23.05.22.05.23.06.24.07.21.08.24.07.21.1.22.08.22.1.21.12.22.1.2.13.2.12.2.13.2.14.22.15.31.05h.24l.23.05.23.05.24.07.21.06.24.09.21.06.24.1.21.09.22.1.22.1.2.11.21.12.2.13.2.12.2.13.19.15.18.14.18.15.19.16.18.17.17.15.16.18.17.17.15.18.15.19.15.18.13.2.14.2.13.2.12.2.11.2.12.22.1.21.1.22.1.22.08.21.09.24.06.21.07.24.07.23.05.23v4.35l-.05.1v.24l-.05.11v.22l-.05.1v.22l-.05.11v.1l-.07.1v.12l-.06.1v.1l-.07.1-.07.1-.05.1-.06.1-.07.1-.07.1-.08.1-.07.1-.06.08-.07.1-.08.1-.09.09-.06.08-.09.1-.08.08-.08.09-.09.08-.08.1-.08.08-.09.09-.08.06-.08.09-.1.08-.09.08-.1.07-.08.08-.1.07-.08.07-.1.06-.1.09-.1.06-.1.07-.1.07-.1.05-.1.06-.1.07-.1.05-.12.07-.1.05h-.1l-.12.06-.1.05-.1.05-.11.05h-.12l-.1.05-.12.05h-.1l-.11.05h-.24l-.1.05h-3.2l-.75-.07-1.8.52-.72-.12-.66-.15-.7-.16-.74-.2-.81-.29-.57-.23h-.2l-.1-.05-.1-.05-.1-.05-.1-.05h-.12l-.25-.14-.1-.05-.1-.06-.1-.05-.1-.05-.08-.07-.1-.07-.1-.05-.1-.06-.08-.07-.1-.07-.09-.06-.2-.15-.08-.07-.08-.07-.1-.06-.09-.07-.08-.07-.08-.08-.09-.07-.08-.08-.08-.07-.09-.08-.08-.08-.08-.09-.07-.06-.07-.09-.08-.08-.08-.08-.09-.1-.06-.09-.09-.08-.06-.1-.09-.08-.06-.1-.07-.1-.07-.09-.06-.1-.07-.1v-.08l-.07-.08-.06-.1v-.1l-.07-.1-.07-.1v-.2l-.06-.1v-.12l-.05-.1v-.42l-.05-.11v-6.59l.05-.1v-.2l.05-.11v-.1l.05-.1v-.19l.05-.1v-.1l.05-.1.07-.1.05-.1.06-.08v-.1l.07-.1.07-.1.06-.08.07-.1.07-.09.06-.1.07-.08.07-.08.08-.1.07-.07.06-.1.09-.08.06-.09.09-.08.08-.08.08-.09.09-.08.08-.08.08-.09.09-.08.08-.07.08-.08.1-.08.1-.07.09-.08.1-.07.08-.08.1-.07.1-.07.1-.06.1-.07.1-.07.1-.06.1-.07.1-.07h.1l.1-.06.1-.05.12-.07.1-.05.1-.05.11-.05h.1l.12-.05.1-.05h.12l.11-.05.1-.05h.24l.11-.05h2.62zm5.78 14.16-.08.09-.09.08-.08.08-.1.09-.08.08-.09.08.44-.38.15-.18zm.83-1 .06-.07v-.05zm36.42-31.73h1.23l.3.07.3.06.3.09.3.08.3.1.29.12.28.11.28.14.27.15.27.15.26.16.27.17.25.18.23.19.24.2.23.21.22.22.21.22.2.23.2.25.19.25.18.25.17.27.15.26.15.27.13.28.13.29.12.28.1.28.1.3.08.3.07.3.07.3v4.22l-.05.15v.15l-.05.13-.07.15-.07.13v.15l-.06.14-.09.15-.06.13-.07.13-.08.14-.09.13-.08.13-.08.14-.09.11-.08.14-.1.13-.08.12-.1.11-.1.12-.1.13-.1.12-.1.1-.12.12-.1.11-.12.1-.11.12-.1.1-.12.1-.13.1-.12.1-.12.1-.13.08-.12.1-.13.09-.12.08-.13.08-.5.09-.14.08h-.08l-.11.1-.15.13-.47.45-.53.54-.55.6-.57.63-.53.62-1 1.21-.81 1-.32.35-.1.1-.1.1-.1.12-.12.1-.1.1-.11.1-.12.1-.12.1-.11.1-.12.08-.12.1-.13.09-.12.08-.13.08-.12.09-.13.08-.13.08-.14.07-.13.07-.13.06-.14.07-.13.07-.15.06-.13.07h-.14l-.15.05-.13.05-.15.05-.15.05h-.15l-.15.05h-4.28l-.15-.05h-.3l-.15-.05-.15-.05-.14-.05-.15-.07-.13-.05-.15-.06-.13-.07-.15-.07-.14-.06-.13-.07-.13-.08-.15-.07-.12-.08-.13-.09-.14-.08-.13-.08-.12-.1-.13-.09-.12-.1-.13-.1-.12-.1-.11-.1-.12-.1-.12-.1-.1-.11-.11-.1-.1-.12-.12-.12-.1-.1-.1-.11-.1-.14-.1-.11-.08-.12-.1-.13-.09-.12-.1-.13-.08-.14-.08-.11-.09-.14-.06-.13-.09-.13-.06-.15-.07-.14-.07-.13-.06-.15-.05-.15-.07-.13-.05-.15-.06-.15v-.15l-.05-.14v-4.67l.05-.15v-.3l.05-.15v-.14l.07-.15v-.15l.07-.13.06-.15.07-.13.07-.17.06-.12.07-.13.07-.12.06-.11.07-.14.07-.11.25-.39.08-.13.08-.13.09-.12.08-.13.1-.12.1-.13.08-.12.1-.12.1-.11.1-.12.12-.12.1-.11.12-.1.1-.12.11-.1.12-.1.12-.1.11-.1.64-.75.68-.8.75-.84.82-.86.85-.89.88-.83.53-.48.52-.44.57-.45.63-.45.72-.46.51-.29.14-.06.15-.09.13-.06.13-.07.15-.07h.14l.15-.06.15-.05h.13l.15-.05.15-.05h.3l.15-.05h2.03zm24.52-21.67h1.63l.23.05h.22l.23.06.22.07.22.08.23.09.22.08.2.1.21.1.22.12.2.11.2.12.2.12.2.13.18.13.2.15.19.14.16.16.19.15.16.17.17.17.17.16.15.17.15.18.15.19.13.18.13.2.14.2.13.2.12.2.11.2.1.22.1.2.1.21.09.22.08.23.08.22.07.22.07.23.05.22v5.25l-.05.12v.22l-.05.1v.21l-.05.1v.1l-.05.07v2.75l-.05.11v.54l-.05.11v.1l-.05.1v.22l-.06.1v.1l-.07.1v.1l-.07.1-.06.1-.07.1-.07.1-.06.1-.07.1-.07.08-.06.1-.09.09-.06.1-.07.08-.08.1-.09.08-.06.09-.09.08-.08.08-.08.09-.09.08-.08.08-.08.09-.1.08-.09.07-.08.08-.1.07-.08.08-.1.07-.09.08-.1.07-.1.06-.08.07-.1.07-.1.06-.1.05-.12.09-.1.06h-.1l-.1.07h-.11l-.1.07-.1.05-.1.05h-.1l-.12.05h-.1l-.1.05h-.12l-.1.05h-.2l-.11.05h-7.51l-.1-.05h-.22l-.1-.05-.12-.05h-.1l-.1-.05h-.1l-.1-.05-.11-.05-.1-.07h-.1l-.09-.05-.1-.07-.1-.06h-.05l-.1-.06-.1-.05-.08-.07-.1-.07-.1-.06-.08-.09-.09-.06-.1-.07-.08-.07-.08-.08-.09-.07-.1-.08-.08-.07-.08-.08-.09-.08-.06-.09-.09-.08-.08-.08-.08-.09-.07-.08-.08-.08-.07-.09-.07-.08-.08-.1-.07-.08-.06-.1-.07-.09-.07-.1-.06-.08-.07-.1-.07-.1-.07-.1v-.1l-.06-.1-.05-.1-.07-.1-.05-.1v-.1l-.05-.1v-.22l-.05-.1v-.1l-.05-.11v-5.17l.12-.62.23-.85.24-.73.23-.67.28-.7.47-1.08.32-.63.35-.64.25-.4.05-.1.06-.08v-.08l.07-.1v-.09l.07-.08.06-.08.07-.09.07-.08.1-.15.08-.08.07-.09.08-.1.07-.08.08-.08.08-.1.09-.09.06-.08.09-.08.08-.09.1-.06.08-.09.09-.08.08-.08.1-.07.08-.08.1-.07.09-.07.1-.06.1-.09.08-.06.1-.07.1-.07h.1l.1-.06.1-.07.1-.05.1-.07.1-.05h.12l.1-.06.1-.05.11-.05h.1l.1-.05h.12l.1-.05h.22l.11-.05h1.49-.6 1.29zm6.58 13.3-.07.09-.06.1.18-.24zm-11.73-8.25-.37.24.1-.07h.1l.1-.07h.1l.1-.06zm1.26-.56h-.06.09zm26.22-33.62h.88l.44.05.43.08.42.12.38.1.82.26.41.17.4.17.4.2.39.21.36.24.37.26.33.27.34.3.31.3.3.33.29.34.25.36.25.37.21.38.2.39.19.4.16.41.14.42.11.43.09.44.06.43v4.77h-9.72l-1.86 4.05h-.7v-13.1h.85-.15 2.38z"/><path d="m677.68 113.33 1.27.17 1.25.25 1.22.35 1.21.42 1.19.51 1.15.57 1.13.67 1.08.71 1.07.79 1 .85.51.45.49.48.45.5.43.5.4.52.43.6.62 1 .58 1.1.5 1.12.4 1.12.34 1.11.26 1.14.2 1.11.17 1.12.1 1.12.05 1.1v2.21l-.07 1.12-.1 1.1-.11 1.12-.17 1.1-.18 1.11-.22 1.1-.23 1.1-.27 1.1-.28 1.1-.32 1.1-.35 1.1-.35 1.09-.38 1.08-.42 1.08-.42 1.07-.45 1.07-.46 1.06-.49 1-.5 1.05-.53 1-.55 1-.57 1-.56 1-.6 1-.64 1-.63.93-.65.92-.68.88-.7.89-.72.85-.75.83-.77.8-.8.78-.81.75-.85.72-.9.7-.92.65-1 .62-1 .56-1.06.54-1.1.46-1.15.4-1.22.34-1.17.23-.73.08-.65.07h-2.02l-.68-.05-.68-.1-.69-.12-.66-.15-.69-.18-.65-.22-.63-.25-.63-.26-.6-.32-.6-.33-.57-.37-.53-.38-.6-.49-.6-.55-.19-.18-.18-.18-.18-.2-.34-.37-.25-.28-.21-.3-.52-.69-.63-1-.54-1-.45-1-.36-1-.32-1-.23-1-.2-1-.14-1-.11-1-.05-1v-3l.07-1 .1-1 .08-.61v-.24l-.22-1-.16-1-.14-1-.1-1v-4l.07-1 .08-1 .12-1 .15-1 .18-1 .18-1 .24-1 .23-1 .27-1 .3-1 .31-1 .34-1 .36-1 .39-.95.4-1 .43-.94.47-.91.46-.92.5-.9.54-.88.55-.89.58-.85.62-.85.63-.81.67-.8.68-.79.73-.76.77-.74.8-.7.85-.68.88-.65.92-.6 1-.57 1-.51 1.06-.47 1.09-.42 1.15-.33 1.16-.27 1.22-.2 1.23-.1h1.25zm-3.53 35.54v-.65zm-.13-5-.2.19-.24.23-.25.25-.26.3-.27.33-.27.35-.28.4-.27.42-.28.43-.15.29.35-.44.48-.58 1-1.37.65-.83z" fill="#fff"/><path d="m684.42 115.93h2.15l.38-.05h2.5l.35.07.35.08h.1l.37.1.33.12.5-.18.69-.24.7-.2.71-.18.74-.13.75-.1.75-.07h2.3l.76.08.77.12.75.15.75.2.73.21.74.27.7.28.7.34.68.35.67.36.65.4.63.44.62.45.56.43.54.43.51.47.52.48.48.5.47.52.43.53.44.54.4.55.38.56.37.59.33.6.32.58.28.62.27.61.25.62.21.62.22.68.32 1.2.23 1.25.15 1.27.08 1.23v1.23l-.05 1.22-.06.6.15.37.28.93.18.87.14.81.1.79v3.41l-.11 1.22-.15 1.12-.17 1-.18 1-.32 1.48-.22 1-.36 1.52-.25.9-.25.92-.29.95-.31 1-.35 1-.37 1-.4 1-.43 1-.47 1.06-.5 1.07-.55 1.07-.58 1.06-.64 1.07-.68 1-.73 1.05-.8 1-.84 1-.5.55-.48.48-.5.49-.53.46-.55.47-.59.45-.64.7-.64.41-.66.4-.69.37-.73.33-.75.32-.77.27-.81.25-.82.18-.85.17-.87.1-.86.06h-1.77l-.88-.08-.87-.14-.88-.18-.85-.23-.85-.27-.84-.3-.7-.3-.7-.33-.66-.37-.65-.38-.64-.4-.61-.44-.59-.45-.55-.46-.51-.53-.52-.52-.5-.52-.46-.53-.44-.55-.41-.57-.4-.56-.14-.19-.65-.11-.71-.17-.64-.17-.65-.18-.65-.22-.63-.21-.63-.27-.64-.27-.65-.31-.83-.45-.85-.5-.8-.54-.77-.56-.75-.62-.7-.65-.66-.67-.62-.7-.58-.73-.54-.75-.5-.75-.45-.78-.41-.79-.37-.8-.33-.8-.3-.8-.25-.8-.24-.81-.2-.8-.15-.8-.15-.8-.1-.79-.08-.8-.07-.78v-3.91l.07-.78.15-1.45.2-1.47.26-1.45.32-1.42.35-1.4.38-1.36.42-1.34.45-1.31.47-1.27.5-1.25.51-1.2.54-1.15.53-1.13.57-1.07.56-1 .6-1 .6-1 .55-.8.64-.82.68-.8.78-.78.6-.5.2-.17.2-.15.22-.15.33-.23.24-.15.21-.15.24-.13.35-.2.25-.14.23-.11.25-.12.37-.15.23-.1.25-.1.25-.08.72-.24 1-.25 1-.15.9-.08.82-.05h2.01zm-570.8 299.49h.53l.42.07.41.06.42.1.42.12.4.13.4.15.38.19h.07l.4.22.38.21.37.25.36.29.34.28.33.3.32.33.05.05.28.34.27.35.25.35.23.36.2.39.18.38v.08l.19.44.15.45.13.45.12.45v.11l.07.4.07.4v2.15l-.08 1.1-.15 1.09-.2 1.06-.23 1-.3 1-.34 1-.35.95-.4.93-.43.9-.45.89-.48.85-.5.83-.52.82-.12.16.07.22.1.37.1.38v.07l.06.41.07.4v2.12l-.05.37v.25l-.1.45-.12.46-.16.6-.34.87-.33.77-.35.73-.38.73-.42.74-.47.8-1 1.63-1.24 1.9-1.06 1.57.08.13.1.13.23.4.24.4.18.4.08.15.15.4.15.4.12.4.07.22.38-.25.77-.42.86-.4.6-.21.4-.14.4-.11.29-.07.45-.12.48-.06h3.04l.42.08.42.09.4.1.26.08.4.13.4.15.39.17.25.13.36.19.37.2.35.21.25.17.3.22.3.23.28.23.24.22.28.25.27.27.25.28.23.28.1.12.23.33.24.34.2.33.2.37.16.35.07.15.17.4.15.4.13.41.1.44v.15l.09.38v2.71l.08.5-.08.45v.22l-.1.36-.1.35-.17.5v.09l.25.28.29.4.28.4.25.42.22.45.2.45.16.45.15.46.12.49.08.48.05.48v1.47l-.07.48-.08.49-.12.48-.13.47-.17.46-.2.45-.21.44-.25.43v.08l-.24.34-.23.33-.25.3-.27.32-.35.36-.56.54-.57.48-1.13 1-1.39 1.08-1.6 1.24-1.78 1.33-1.92 1.4-2 1.45-2.07 1.45-2.18 1.4-2 1.35-2 1.25-.95.6-.92.55-.9.52-.86.5-.89.45-.91.42-1 .43-.75.22-.42.11-.43.1h-.17l-.43.08h-2.17l-.4.22-2.63 1.43-2.48 1.29-2.28 1.13-1.1.52-1 .46-1 .42-1 .38-1 .37-1 .3-.51.12-.37.06-.38.05h-1.93l-.47-.05-.43-.08-.45-.1-.43-.14h-.09l-.45-.15-.43-.18-.42-.2-.4-.24-.4-.25-.38-.26-.37-.3-.33-.3-.33-.34v-.05l-.32-.36-.3-.37-.27-.4-.25-.4-.23-.43-.2-.44-.17-.43-.16-.45-.12-.47-.07-.33h-2.05l-.4-.07-.4-.06h-.16l-.44-.1-.43-.11-.43-.15-.42-.19-.12-.05-.38-.18-.38-.2-.39-.23-.35-.25-.35-.27-.33-.28-.07-.07-.33-.32-.32-.33-.3-.35-.28-.37-.25-.38-.23-.4-.22-.4v-.08l-.18-.4-.15-.42-.14-.42-.11-.41-.1-.44-.07-.43v-2.3l.06-.43v-.12l.06-.38.1-.39.12-.36.13-.37.05-.13.12-.32.15-.3.15-.3.25-.47.48-.76.69-.89.66-.73.64-.67 1.08-1 1-.93.39-.37.26-.27.1-.11.07-.09 1.35-1.75 1.39-1.94 1.49-1.82 1.51-1.78 1.54-1.84.85-1-.12-.15-.25-.4v-.1l-.47-.09-.48-.11-.47-.14-.45-.15-.44-.19-.43-.21-.42-.24-.4-.26-.46-.29-.37-.3-.35-.33-.31-.34-.32-.36-.3-.37-.27-.4-.23-.4-.23-.42-.19-.43-.18-.45-.13-.45-.14-.47-.08-.45-.07-.48v-1.93l.08-.49.08-.46.12-.45.13-.41.15-.4.18-.4.2-.4.22-.39.23-.36.25-.35.29-.35v-.05l.26-.3.3-.3.32-.29.38-.33.64-.5 1.15-.8 1.46-1 1.75-1.17 2-1.3 1.3-.83.85-.79.93-.81.92-.79 1.73-1.48.72-.63.6-.57.2-.18.15-.17.08-.08v-.07l1.49-1.92 1.13-1.51.87-1.2.76-1.12.82-1.2 1-1.43 1.27-1.8 1.65-2.27 1.25-1.68 1.28-1.72 1.35-1.7.72-.9.68-.8 1.18-1.42.8-.93.49-.55.51-.53.59-.59.7-.63.83-.63.43-.29.34-.2.31-.18.14-.05.31-.17.32-.13.33-.13h.1l.37-.11.35-.12.37-.08.38-.07h.08l.45-.06h1.34z" fill="#fff"/><path d="m161.32 358.78.75.05.75.09.75.1.71.13.74.15.7.17.7.18.7.22.66.23.72.25 1.27.52 1.3.6 1.25.63 1.25.7 1.21.73 1.2.79 1.17.8 1.17.86 1.15.87 1.13.92 1.13 1 1.1 1 1.1 1 1.09 1 1.06 1 1.07 1 1 1.09 1 1.08 1 1.1 1 1.12 1 1.11 1 1.12 1 1.13.91 1.14.92 1.11.88 1.14.87 1.11.83 1.12.82 1.12.82 1.11 1.5 2.14 1.4 2.08 1.26 2 .62 1 .57.95.53.94.52.9.46.88.45.85.42.83.38.84.35.81.32.85.3.87.27 1 .13.69.08.46.05.47v1.92l-.06.58-.12.55-.07.33-.11.44-.12.43-.23.68-.42 1-.45.85-.45.78-.48.74-.5.7-.52.68-.53.67-.55.66-.6.69-1.19 1.3-1.3 1.33-1.38 1.35-1.45 1.38-1.52 1.4-1.56 1.4-1.64 1.44-1.65 1.43-1.71 1.34-1.72 1.43-3.4 2.8-3.33 2.77-3.18 2.55-2.94 2.33-2.56 2.07-2.14 1.71-.83.69-.67.56-.43.39-.27.23-2.73 2.69-2.8 2.78-2.83 2.78-2.85 2.75-2.85 2.75-2.85 2.72-5.72 5.44-5.75 5.41-5.75 5.39-11.5 10.76-11.48 10.69-5.72 5.31-5.68 5.37-5.65 5.38-2.82 2.7-2.8 2.7-2.8 2.72-2.78 2.71-2.77 2.74-2.73 2.73-.54.55-.5.52-1 1.13-1 1.17-1 1.2-1 1.23-1 1.25-2 2.62-2 2.61-1 1.34-1 1.31-1.08 1.32-1.12 1.3-1.15 1.25-.62.65-.63.62-.63.61-.65.6-.69.59-.7.58-.71.57-.75.55-.77.53-.8.5-.83.5-.85.45-.89.43-.91.4-.94.35-1 .34-1 .28-1 .23-1 .19-1 .13-1.06.1h-2.35l-1.08-.05-1.09-.12-1.1-.17-1.1-.21-1.1-.27-1.08-.3-1.1-.37-1.05-.36-1.1-.45-1.1-.48-1.1-.54-.72-.36-.7-.4-.68-.4-.69-.44-.65-.41-.66-.49-1.22-.88-1.18-1-1.15-1-1.12-1-1.07-1-1-1-1-1-.95-1-.94-1-1.7-1.89-1.55-1.78-1.31-1.52-1.25-1.5-1.2-1.46-1.16-1.38-1.07-1.42-1-1.38-1-1.37-.83-1.35-.82-1.3-.76-1.34-.7-1.31-.62-1.35-.59-1.3-.53-1.3-.47-1.3-.4-1.3-.36-1.3-.27-1.3-.2-1.32-.13-1.31v-1.32l-.05-1.25.11-1.28.19-1.32.25-1.25.32-1.22.38-1.18.45-1.13.5-1.1.53-1.07.59-1 .61-1 .65-.95.67-.92.7-.86.72-.85.75-.84.75-.81.76-.79.79-.76.8-.77.83-.77 1.65-1.46 1.7-1.47 1.71-1.48 1.75-1.49 1.77-1.51 1.78-1.57 1.82-1.63.88-.8.9-.85.9-.87.9-.88.9-.9.9-.92.89-.95.91-1 7.19-8 3.63-4 3.65-4 3.67-4 3.71-3.95 3.74-3.93 3.76-3.9 1.94-1.85 1.92-1.94 1.93-1.93 2-1.92 2-1.9 2-1.9 2-1.88 2-1.88 2-1.85 2-1.85 2-1.85 1.95-1.82 2.08-1.82 2.1-1.8 2.12-1.76 2.1-1.74 2.13-1.78 2.09-1.78 2-1.8 2-1.82 2-1.85 2-1.85 2-1.88 2-1.9 4-3.84 4.09-3.86 2.08-1.95 2.1-1.95 2.13-1.94 2.2-2 1.55-1.33 2.32-1.94 2.8-2.3 3-2.45 5.27-4.28 1.71-1.37.7-.53.34-.23.68-.42.72-.35.75-.28.51-.14-.06-.79v-.8l.08-.78.15-.78.22-.77.3-.73.35-.7.43-.67.49-.63.55-.57.48-.47.63-.55.67-.53.67-.5.71-.45.74-.43.73-.39.77-.35.76-.31.79-.27.78-.23.8-.2.8-.15.78-.12.8-.08h2.34zm-.95 16.65h-.22l-.06.05-.07.06-.2.2-.6.52-.65.47-.68.4-.72.31-.75.27-.35.08.08.7v.8l-.06.8-.14.79-.21.76-.29.74-.36.71-.42.69-.48.63-.55.58-.59.52-.53.38.07-.07-.19.15-1.56 1.25-5.2 4.22-2.94 2.4-2.73 2.27-2.22 1.83-1.31 1.13-2 1.8-2 1.85-2 1.89-2 1.88-4.05 3.83-4.39 4.01-2 1.94-2.08 1.93-2.1 1.95-2.13 1.93-2.17 1.92-2.2 1.91-2.25 1.92-2.25 1.87-2 1.7-2 1.68-2 1.7-2 1.73-2 1.74-2 1.75-1.95 1.76-1.87 1.81-1.92 1.8-1.9 1.8-1.88 1.83-1.88 1.83-1.89 1.85-1.85 1.87-1.86 1.87-1.82 1.88-3.68 3.8-3.65 3.83-3.67 3.89-3.62 3.9-3.6 3.91-3.58 3.95-7.2 8-1 1.11-1 1.12-1 1.1-1.17 1.09-1 1-1 1-1 1-1 .95-2 1.76-1.91 1.69-1.92 1.5-1.75 1.5-1.67 1.42-1.58 1.33-1.44 1.28-.56.57-.62.59-.58.56-.53.55-.5.54-.45.51-.42.49-.37.46-.33.45-.28.42-.25.4-.22.37-.17.35-.15.31-.11.3-.1.3-.07.29-.07.26v1.65l.06.42.1.48.14.52.18.58.23.64.27.68.33.73.4.8.45.85.52.9.58 1 .65 1 .74 1 .78 1.1.87 1.15.95 1.2 1 1.25 1.09 1.32 1.18 1.37 1.43 1.63 1.55 1.72.72.86.78.82.8.81.8.79.8.73.79.72.76.65.75.6.77.56.32.22.33.22.33.21.32.19.3.16.28.15.64.3.6.27.58.23.53.2.5.15.47.14.42.1.4.08.36.05h1.75l.24-.05h.25l.23-.07.25-.08.25-.1.25-.1.27-.13.28-.15.28-.17.32-.2.3-.22.33-.25.35-.25.34-.3.36-.31.37-.34.38-.36.39-.39.38-.4.83-.91.85-1 .89-1 .9-1.13.91-1.2 2-2.57 2.08-2.7 1.1-1.41 1.14-1.56 1.2-1.43 1.25-1.45 1.3-1.42.7-.73.7-.7 2.82-2.82 2.81-2.78 2.84-2.77 2.83-2.75 2.85-2.75 2.85-2.73 5.72-5.43 5.73-5.4 5.73-5.39 11.5-10.7 11.5-10.7 5.7-5.35 5.7-5.36 5.67-5.34 2.82-2.7 2.8-2.71 2.8-2.72 2.8-2.73 2.76-2.74 2.87-2.85.63-.6.79-.68.85-.73 1-.8 2.22-1.8 2.61-2.09 2.92-2.33 3.13-2.52 3.27-2.63 3.28-2.72 1.62-1.35 1.6-1.35 1.55-1.33 1.5-1.32 1.42-1.28 1.35-1.25 1.25-1.18 1.13-1.12 1-1 .88-1 .23-.27-.08-.15-.33-.61-.39-.69-.41-.71-.47-.77-.47-.78-1.1-1.72-1.21-1.8-1.34-1.9-.68-.95-.72-1-.75-1-.76-1-.77-1-.8-1-.82-1-.83-1-.83-1-.85-1-.87-1-.87-.95-.88-.92-.87-.9-.88-.88-.88-.87-.89-.82-.88-.8-.87-.76-.86-.72-.85-.68-.84-.65-.81-.6-.82-.55-.77-.5-.75-.47-.71-.4-.69-.33-.63-.3-.63-.25-.24-.09-.25-.1-.25-.06-.21-.07-.22-.05h-.98z"/><path d="m336.5 188.15 1.07.1 1 .13 1 .19 1 .2.95.21.94.24.9.25.9.26 1.65.54 1.58.55 1.52.53 1.38.48 1 .19 2.13.43 1 .17 1.27.21 2.93.47 1.34.23.66.14.82.18.53.17.69.25.63.3.62.36.6.42.56.48.52.52.47.56.41.6.1.19h.12l.2.05.68.19.67.23.2.08.53.25.52.27.2.12.42.26.4.29.2.13.3.25.3.27.43.38.58.62.5.6.42.56.4.59.27.43.25.17 4.2 2.81 1.63 1.12.77.57.45.36.58.52.52.57.1.13.43.57.38.6.34.63.28.67.22.66.15.71.07.4.52.29 1.25.71.68.42.68.42.7.46.7.5.74.55.75.64.75.73.51.58.49.6.46.62.42.67.37.68.18.42.18.43.15.43.05.12.15.52.1.53.09.53v.09l.05.76v.75l-.09.77-.15.73v.07l-.2.65-.24.63-.3.62-.35.58-.4.55-.43.54-.47.48h-.05l-.35.3.2.64.24.9.2.9.18.88.15.88.12.87.1.85.1.88.11 1.6v1.19l.27 1 .35 1.43.18 1.12.29 1.78.35 2.37.36 2.65.17 1.38.15 1.35.13 1.32.1 1.25.05 1.18v1.45l-.05.53-.07.47-.08.45-.05.18-.17.67-.23.65-.27.62-.07.11.05.07.3.5.24.41.4.84.3.73.26.75.24.75.2.75.18.73.13.74.12.73.08.73.07.72v2.87l-.08 1.33-.14 1.37-.2 1.35-.23 1.35-.27 1.31-.31 1.3-.35 1.3-.39 1.27-.4 1.27-.41 1.25-.45 1.21-.47 1.2-.23.55v2.94l-.05.76-.1.77-.19.75-.25.72-.31.7-.37.68-.43.63-.5.59-.55.53-.59.5-.65.43-.66.37-.57.25-.1.17-.83 1.36-.39.65-.65 1.14-.85 1.48-.5.85-.55.87-.58.9-.63.9-.7.93-.17.2-.85 1.6-1 1.68-.83 1.42-.8 1.25-.77 1.13-.82 1.19-1 1.41-.32.45-.28 1.1-.37 1.1-.4 1-.45 1-.47 1-.51 1-.54 1-.36.68-.17.53v.12l-.22.6-.27.57-.08.15-.23.41-.25.4-.42.64-.65.83-.63.73v.05l-.35.55-.66 1-.67 1-.67.95-.65.91-.66.89-.67.83-.68.8-.72.78-.82.8-.9.77-.73.52-.45.26-.42.24-.41.2-.14.06-.61.25h-.05l-1.59 1.59-3.25 3.13-.13.13-.27.54-.41.63-.47.6-.52.55-.83.83-.95.9-1.18 1.12-1.32 1.23-1.4 1.27-1.4 1.2-.73.62-.65.51-2.55 2-1.5 1.15-1.5 1.39-1.73 1.28-1.84 1.35-1.9 1.3-1 .66-1 .65-1 .65-1 .64-1 .61-1.05.6-1.05.59-1.08.55-1.07.53-1.1.5-1.11.48-1.14.44-1.15.4-1.18.35-1.22.3-1.2.21-.71.1-.69.07h-1.95l-.76-.08-.74-.15-.73-.23-.37-.15-.26.11-1.97.87-2 .81-2 .79-1.07.38-1.05.37-1 .33-1.05.33-1.05.29-1.06.26-1.07.24-1.1.2-1.13.15-1.19.1h-1.33l-.78-.05-.74-.09-.76-.15-.84-.2-.51-.18-.72-.27-.2-.1-.35-.21-.23.07-.45.07-1 .11-1 .05-1.15.05h-1.94l-.78-.08-.93-.13-1-.24-1.31-.43-1.12-.4-1.08-.43-1-.44-.23-.11h-4.35l-.76-.1-.74-.18-.73-.23-.7-.32-.67-.37-.63-.43-.6-.48-.53-.54-.5-.6-.44-.61-.25-.45-.53-.17-2.53-.85-1.55-.5-.92-.28-.12.06-1 .54-1 .43-1 .33-1 .27-1 .17-1 .1h-1.88l-.88-.09-.87-.13-.83-.17-.8-.2-.77-.23-.75-.25-.73-.27-.7-.3-.69-.31-.68-.34-.65-.33-.65-.37-.67-.38-1.18-.75-1.18-.82-1.17-.83-1.12-.87-1.08-.9-1.07-.9-1-.91-1-.92-.8-.78-.14-.07-.43-.28-.27-.19-.36-.25-.35-.28-.52-.45-.68-.67-.6-.65-.55-.63-.54-.65-.53-.7-1-1.35-1-1.45-.89-1.28-1.88-2.59-1.25-1.73-1.23-1.72-1.07-1.55-.5-.75-.29-.59-.37-.66-.13-.27-.3-.68-.24-.72-.16-.73v-.07l-.1-.7v-1.4l.07-.68.13-.7.2-.67.25-.65.1-.21-.36-.7-1-1.9-.93-1.9-.45-1-.45-1-.42-1-.42-1-.4-1-.38-1-.37-1.05-.35-1.06-.36-1.22-.34-1.22-.3-1.2-.28-1.2-.27-1.16-.23-1.19-.43-2.26-.75-4.32-.39-2.05-.18-1-.2-.91-.3-1.37-.42-1.83-.18-1-.1-.63-.05-.44v-1.21l.05-.74.11-.73.19-.7.13-.38-.27-.4-.4-.75-.33-.74-.27-.73-.21-.7-.15-.68-.14-.67-.1-.72-.08-1.1v-1.15l.05-1.08.1-1.05.15-1 .18-1 .2-1 .24-.95.25-.92.26-.91.29-.9.3-.89.3-.88.61-1.63.62-1.57.62-1.43.56-1.32.54-1.15.8-1.65.36-.7.3-.55v-.07l.07-.51v-.15l.17-.77v-.17l.12-.4.15-.38.27-.7.45-1 .41-.75.39-.65.36-.58.54-.82.13-.48.22-.74.23-.73.27-.73.51-1.32.57-1.3.57-1.23.58-1.19.58-1.13.57-1.08.43-.82.57-1.27.78-1.66.25-.55.15-.47.44-1.27.48-1.25.53-1.21.55-1.19.59-1.16.6-1.15.63-1.14.63-1.11.65-1.09.67-1.06.67-1.05.68-1 .27-.4v-.08l.2-.38.12-.72.13-.7.17-.68.18-.67.2-.65.23-.63.25-.67.5-1.13.57-1.15.6-1.1.65-1 .67-1 .68-1 .73-1 .74-1 .75-.92.76-.9.77-.88.78-.85.79-.87 1.53-1.56 1.52-1.52 1.46-1.4 2.57-2.45 1.07-1 1.1-1.08 1.63-1.42 3-2.58 3.11-2.64 1.24-1 .91-.73.72-.48.63-.4 1.22-.72 1.3-.7.75-.38.73-.34.79-.33.58-.23.35-.25.72-.54.71-.48.72-.48.75-.47.75-.45.77-.43.78-.42.8-.38.83-.39.87-.33.88-.32.94-.28 1-.22 1-.18 1.08-.12h1.12l1.16.07.82.1.38.06.39.09.45.1.4.11.38.12.43.15.4.15.39.17.41.18.34.17 1-.17 1.07-.52v-.15l.1-.7.15-.68.2-.67.24-.58.28-.58.33-.54.37-.53.43-.5.45-.49.5-.43.52-.38.56-.35h.07l.58-.32.62-.25.62-.22.63-.16h.13l.69-.12.7-.06h1.6l.75.1 1 .18 1 .22.92.25 1.68.48 1.62.47.68.2.55.13.34.09h.16l.77.1.95.09 1.07.06 1.15.09 2.51.13 1.35.08 1.4.12 1.45.13 1.49.17 1.48.22.8.15.77.15.8.16.78.2.8.22.8.25.82.27.81.31.82.35.67.3.68.37.17.1.5.32.46.35.45.38v.05l.53.53.48.59.1.15h.6l.3-.27.62-.46.65-.4.7-.35.72-.29.75-.2.75-.15.78-.06h1.7zm-35.93 17-2.14.33-2.13.3-2 .29-1.89.25-1.68.2-1.43.15-1.19.11-.81.05-1.54.78-3.11 1.6-1.65.79h-.08l-.07.05-.73.41-.75.44-1.4.73-1.42.7-1.35.63-1.26.55-1.15.49-1 .4-1 .35-.62.18-.38.1-.38.08-.54.1-.73.12-1.32.17h-.25l-.6.12-.91.15h-.27l-1.38 1-1.49 1-1.4 1-1 .65-.65.58-1 .87-1 .83-.64.48-.4.69-.76 1.16-.77 1.15-.78 1.12-.79 1.08-.8 1.07-.8 1-.8 1-1.55 1.92-1.43 1.73-.28.35-.34.43-.76 1.07-.17.4-.32.77-.35.76-.66 1.44-.7 1.38-.7 1.35-.7 1.28-1.29 2.34-.55 1-.48.93-.38.79-.3.65-.2.51-.29.79-.73 2.11-.82 2.42-.45 1.27-.46 1.26-.49 1.25-.51 1.19-.35.7-.37.68-.45.75-.37.5-.28.37-.3.36-.17.19-.53.53-.58.5-.17.12-.48.35-.5.3-.54.26h-.06l-.4.16v.17l.12.57.16 1.33.1 1.18v3.4l.12.33.2.73.13.77.05.77v1.26l-.07.55-.1.55-.13.55v.09l-.2.63-.26.62-.3.58-.37.57-.2.26-.2 1-.45 1.88-.9 3.54-.42 1.68-.38 1.6-.33 1.57-.1.53.53.47.53.56.47.6.42.65.36.67.3.72.22.73.15.75.1.77v1.45l-.08.9-.14 1-.15.63-.08.38-.12.39-.1.26-.16.45-.19.45-.1.22-.28.55-.32.52-.11.18-.45.6-.49.57-.13.13-.43.42-.45.38-.49.35-.13.1-.58.35h-.07l.43 1.45.3.92.3.88.3.84.35.91.27.74.33.9.62 1.9.62 2 .28 1 .28 1 .24 1 .21 1 .2 1 .09.71v1.55l-.05.54v.13l-.1.62-.14.6-.05.16.77 1.44.9 1.63.93 1.63 1 1.67 2 3.38 1 1.7 1 1.74 1 1.76.87 1.59.05.08.13.2.25.32.7.86.44.59.5.7.16.23.57-.08h2.35l1.1.09 1.06.13 1 .15 1 .2 1 .23 1 .27 1 .28 1 .3 1 .32.95.33.95.35.94.39.93.38 1.78.77 1.75.8 1.69.81 1.63.8 1.55.79 2.83 1.43 1.25.63 2.07 1 .93.47 1.59.82.78.2.92.21.93.22.72.15h.18l1.82-.35 1.91-.37 1.94-.35 1.71-.28 1.19-.19 1.23-.15.8-.06h2l.5.07.27.05.68.13.67.2h.08l.72.29.66.33h.07l.52.3.23.17 2.5-.34 1.5-.2 1.53-.16 1.57-.17 1.62-.12 1.65-.06h1.46l2.6-1.2 1.9-.86.12-.05.39-.22.5-.31.65-.4 1.53-1 .87-.55.93-.57.95-.55.62-.3.6-.3.68-.28.78-.27.55-.15.39-.1.38-.08.25-.05.48.17.51-.05h.92l.7.05h.2l.6.08.6.15.57.17.18.06.52.2.65-.46 1.55-1.2 1.5-1.13 1.42-1.09 2.45-1.88.43-.35.45-.37 1.12-1 1.18-1.07.87-.82.25-.45.38-.6.45-.55.27-.31 1.88-1.87 1.64-1.6 3.21-3.12 1.55-1.51 1.14-1.15.35-.69.35-.65.38-.6.4-.61.73-1.05.8-1 .84-1 .85-1 .85-.94.86-.88.85-.83.35-.34v-.26l.1-.69.13-.75.17-.83.23-.9.27-1 .38-1.09.45-1.06.37-.7.38-.67.48-.72.37-.45.5-.56.17-.19.31-.31.35-.3.17-.15.42-.34.45-.3.18-.11.53-.3.1-.05.69-.81.76-1.12.34-.46-.07-.32-.07-.48v-1.57l.05-.5v-.32l.06-.48.1-.47.17-.71.32-1 .35-.85.35-.78.36-.72.39-.68.4-.7.75-1.22.8-1.18.8-1.12.73-1 .7-.9 1.05-1.32.42-.52.5-.56.55-.52.61-.47.64-.4.68-.35.7-.28.22-.07.41-.86.17-.35v-8.3l.05-.9.09-.92.05-.5.05-4.3v-13.1l-.05-.17-.24-.7-.35-1.28-.33-1.35-.28-1.38-.25-1.4-.24-1.42-.2-1.45-.18-1.47-.17-1.46-.15-1.47-.11-1.45-.12-1.45-.2-2.75-.13-2.57v-.11l-.37-.79-1-1.93-1-1.92-1.07-2-1.1-2-2.25-4-1.13-2-.37-.67-.51-.32-1.64-.91-1.65-.89-1.68-.86-1.73-.89-1.77-.86-3.63-1.8-1.87-.94-1.88-1-1.9-1-1.93-.94-1-.57-1-.56-1-.6-1-.62-.94-.63-.88-.64-.8-.61-.68-.59-.44-.38h-4.6l-2.48.05h-11.6l-1.57-.07-1.58-.08-1.6-.12-1.62-.15-1.61-.17-1.62-.21-1.63-.25-1.64-.3-1.61-.34-1.59-.38z" fill="#fff"/><path d="m318.07 198.68h2.53l1.27.05 1.26.07 1.27.08 1.25.1 1.27.12 1.25.15 1.25.15 1.23.17 1.25.18 1.23.22 1.24.21 1.21.25 1.22.25 1.2.32 1.2.3 1.2.33 1.2.33 1.18.37 1.18.37 1.17.4 1.17.43 1.15.43 1.13.47 1.13.48 1.12.52 1.17.57 1.1.55 1.08.59 1.08.6 1.07.61 1.05.65 1 .67 1 .7 1 .72 1 .75 1 .76 1 .8.94.82.91.83.9.87.89.9.86.92.84.95.81 1 .8 1 .77 1 .75 1 .72 1.07.7 1.08.68 1.12.63 1.15.64 1.16.58 1.19.57 1.21.53 1.24.52 1.25.46 1.28.45 1.3.44 1.32.38 1.35.37 1.36.31 1.39.3 1.41.32 1.65.27 1.69.25 1.68.2 1.7.16 1.7.12 1.7.1 1.72.07 1.71v5.2l-.07 1.74-.1 1.73-.13 1.75-.17 1.73-.25 1.73-.22 1.75-.25 1.74-.28 1.75-.3 1.73-.32 1.75-.36 1.73-.37 1.74-.42 1.73-.41 1.73-.47 1.74-.47 1.71-.51 1.72-.52 1.7-.55 1.7-.57 1.7-.6 1.68-.6 1.69-.63 1.66-.67 1.65-.66 1.65-.7 1.64-.7 1.63-.74 1.62-.75 1.6-.78 1.6-.78 1.56-.8 1.57-.84 1.55-.83 1.53-.8 1.55-.88 1.5-.89 1.47-.9 1.46-.91 1.45-.94 1.44-.95 1.4-1 1.4-1 1.36-1 1.34-1 1.33-1 1.3-1 1.28-1 1.25-1.07 1.24-1.06 1.2-1.09 1.18-1.1 1.15-1.21 1.15-1.08 1-1.17 1-1.2 1-1.25 1-1.3 1-1.32.9-1.35.87-1.38.83-1.4.8-1.44.77-1.46.75-1.49.71-1.5.7-1.5.65-1.53.65-1.53.6-1.55.57-1.57.55-1.55.52-1.57.48-1.56.45-1.55.42-1.55.38-1.55.35-1.55.32-1.52.28-1.52.23-1.51.2-1.49.17-1.48.12-1.45.06h-3.78l-2.4-.06-2.45-.12-2.49-.18-2.53-.22-2.57-.28-2.56-.34-1.35-.23-1.3-.2-1.31-.23-1.32-.24-1.33-.25-1.32-.25-1.33-.28-1.34-.3-1.31-.32-1.34-.33-1.33-.33-1.33-.37-1.32-.38-1.32-.4-1.33-.42-1.32-.43-1.3-.47-1.31-.47-1.3-.5-1.29-.51-1.28-.54-1.28-.55-1.27-.58-1.27-.6-1.25-.62-1.23-.65-1.23-.66-1.22-.69-1.2-.71-1.18-.74-1.17-.76-1.17-.79-1.13-.81-1.12-.84-1.1-.86-1.08-.9-1.07-.92-1-.95-1-1-1-1-1-1-.95-1.06-.9-1.1-.9-1.12-.85-1.15-.82-1.2-.78-1.2-.75-1.25-.72-1.27-.7-1.35-.57-1.18-.5-1.25-.46-1.28-.4-1.29-.35-1.3-.3-1.31-.27-1.34-.23-1.33-.19-1.37-.15-1.36-.11-1.39-.09-1.4-.06-1.41v-5.77l.08-1.47.09-1.48.11-1.48.14-1.49.15-1.5.18-1.5.18-1.51.22-1.52.22-1.52.25-1.5.25-1.51.26-1.52.29-1.53.6-3 .65-3 .68-2.95.73-2.91.75-2.87.77-2.8.78-2.72.82-2.65.8-2.55.82-2.43.8-2.33.8-2.22.8-2.08.76-1.95.77-1.82.75-1.65.65-1.38.28-.6.25-.57.25-.68.29-.77.28-.83.3-.9.62-2 .63-2.15.68-2.22.35-1.15.39-1.15.38-1.15.42-1.15.45-1.17.46-1.15.52-1.15.58-1.15.62-1.08.38-.63.4-.57.42-.58.45-.59.5-.58.55-.57.62-.56.66-.55.74-.54.83-.5.88-.45.62-.25.4-.14.35-.12.3-.08.38-.12.39-.08h.28l.4-.08.4-.05h2.88l.37.07.68.11.27.07.27-.17 1-.63 1-.62 1-.6 1-.58 1-.58 1-.57 1-.57 1-.53 1.07-.55 1.07-.52 1.08-.51 1.1-.5 1.1-.5 1.12-.49 1.13-.46 1.13-.45 1.14-.45 1.15-.44 1.16-.43 1.17-.42 1.18-.4 1.19-.38 1.24-.37 1.22-.37 2.4-.68 2.41-.65 1.25-.3 1.24-.3 1.23-.29 1.25-.26 1.23-.25 1.25-.24 1.27-.23 1.25-.22 1.27-.2 1.26-.18 1.25-.17 1.29-.16 1.26-.15 1.27-.12 1.27-.12 1.28-.1 1.27-.1 1.28-.06 1.27-.07h5.1zm-2.3 16.67h-2.15l-1.07.05-1.08.05-1.09.08-1.08.08-1.08.1-1.09.12-1.08.12-1.1.13-1.08.15-1.09.17-1.08.16-1.07.19-1.08.2-1.08.2-1.07.21-1.07.24-1.06.23-1.07.27-1 .25-2.12.56-2.08.6-1 .3-1 .34-1 .33-1 .33-1 .35-1 .37-1 .37-1 .38-1 .38-.95.4-.93.4-.93.42-.9.42-.92.43-.88.43-.89.45-.85.45-.85.45-.85.47-.81.47-.8.46-.8.49-.79.5-.75.48-.75.5-.71.5-.64.62-.7.5-.67.51-.66.52-.64.52-.61.53-.6.52-.59.53-.56.53-.6.59-.5.46-.55.42-.59.37-.61.31-.64.29-.65.21-.48.12-.58 1.93-.65 2.19-.69 2.18-.36 1.13-.37 1.1-.4 1.1-.43 1.1-.47 1.1-.45 1-.58 1.22-.57 1.28-.63 1.5-.67 1.67-.7 1.83-.72 2-.73 2.12-.75 2.23-.73 2.35-.75 2.44-.74 2.53-.71 2.58-.69 2.65-.66 2.69-.64 2.71-.6 2.74-.55 2.76-.25 1.35-.28 1.29-.21 1.37-.22 1.35-.2 1.35-.18 1.33-.17 1.33-.17 1.3-.13 1.3-.1 1.29-.1 1.25-.08 1.23v1.22l-.05 1.18v4.47l.06 1 .09 1 .11.95.12.9.15.87.15.82.18.75.19.7.21.65.2.6.22.51.25.52.4.8.47.8.48.8.5.78.53.77.55.75.59.73.6.74.63.7.65.7.68.7.7.66.72.67.75.65.78.63.79.62.81.62.84.6.86.58.89.57.88.56.92.54 1 .53 1 .52 1 .5 1 .5 1 .46 1 .47 1 .45 1 .43 1.05.42 1.06.4 1.09.4 1.08.38 1.1.37 1.1.35 1.12.33 1.11.32 1.14.32 1.13.28 1.13.28 1.14.27 1.13.27 1.15.23 1.15.23 1.13.22 1.15.2 1.14.18 1.13.19 1.12.15 2.28.3 2.23.25 2.2.18 2.17.15 2.12.12 2.06.05h3.85l1-.08 1.05-.12 1.09-.15 1.13-.16 1.17-.22 1.18-.25 1.22-.27 1.23-.3 1.25-.35 1.25-.35 1.27-.4 1.26-.41 1.27-.44 1.27-.46 1.25-.5 1.23-.52 1.22-.52 1.18-.56 1.17-.57 1.15-.58 1.1-.6 1.06-.6 1-.62 1-.63.93-.64.87-.61.82-.64.76-.63.69-.6.66-.63.87-.89.9-.95.9-1 .88-1 .89-1 .88-1.05.87-1.09.86-1.11.87-1.12.85-1.17.83-1.16.84-1.2.83-1.22.8-1.25.8-1.25.8-1.28.77-1.3.76-1.32.75-1.32.74-1.35.73-1.36.7-1.37.7-1.4.68-1.4.65-1.42.65-1.41.64-1.44.61-1.45.59-1.45.58-1.46.57-1.47.53-1.48.52-1.49.5-1.48.48-1.5.47-1.5.43-1.5.42-1.5.4-1.5.36-1.5.35-1.5.34-1.5.3-1.5.28-1.5.27-1.5.23-1.48.2-1.49.18-1.48.17-1.48.13-1.45.12-1.47.08-1.45.05-1.43v-5.66l-.08-1.37-.1-1.37-.14-1.35-.15-1.33-.18-1.32-.22-1.3-.23-1.28-.22-1-.25-1-.25-1-.26-1-.3-.92-.32-.9-.32-.88-.35-.87-.36-.83-.39-.82-.38-.78-.42-.79-.43-.75-.45-.73-.45-.73-.48-.7-.49-.69-.51-.66-.52-.65-.53-.64-.55-.63-.57-.6-.58-.6-.6-.57-.62-.56-.63-.55-.64-.54-.66-.51-.67-.52-.68-.48-.72-.49-.72-.46-.73-.45-.75-.44-.75-.43-.78-.4-.79-.4-.81-.38-.82-.39-.83-.35-.84-.35-.86-.33-.87-.32-.88-.3-.9-.28-.9-.28-.94-.25-.91-.25-.95-.24-.95-.23-.95-.2-1-.2-1-.17-1-.16-1-.15-1-.15-1-.12-1-.12-1-.08-1-.08-1-.09h-1.05l-1.05-.05h-4.4z"/><path d="m296.1 170.57 2 .05 2 .08 2 .13 2 .15 2 .19 1.95.2 1.95.23 1.92.25 1.91.27 1.92.26 3.75.59 7.4 1.21 3.67.59 1.78.26 1.9.29 1.53.25 1.22.21 1.38.27 1.55.32 1.69.36 1.78.42 1.82.45 1.81.48.94.29.9.28.9.28.9.32.88.35.88.37.9.4.9.46 1 .59.92.65.61.51h.17l1.25.12 1.25.13 1.23.15 1.22.19 1.22.21 1.18.24 1.18.25 1.17.26 1.15.3 1.13.34 1.14.33 1.1.38 1.1.39 1.08.41 1.07.44 1.05.45 1 .46 1 .5 1 .52 1 .53 1 .55 1 .59.93.58.94.62.9.63.9.63.86.67.87.68.85.7.82.7.81.74.8.73.79.77.75.76.75.79.73.8.72.8.7.83.68.83.67.85.65.85.63.87.62.88.6.89.6.9.56.91.57.92.55.93.52.94.51.93.5 1 .5.95.47 1 .47 1 .43 1 .43 1 .42 1 .42 1 .38 1 .38 1 .37 1 .35 1.05.67 2 .61 2.09.57 2.11.52 2.12.48 2.13.42 2.15.38 2.15.33 2.17.3 2.18.24 2.17.21 2.18.17 2.19.12 2.2.06 2.18.05 2.18v2.17l-.05 2.18-.08 2.17-.12 2.15-.15 2.15-.2 2.13-.23 2.12-.27 2.1-.3 2.08-.35 2.07-.36 2.05-.42 2-.45 2-.48 2-.52 2-.55 1.9-.53 1.68-.54 1.68-.55 1.67-.58 1.65-.6 1.67-.62 1.65-.65 1.63-.65 1.65-.68 1.63-.7 1.62-.73 1.62-.74 1.61-.88 1.62-.79 1.58-.8 1.6-.81 1.59-.84 1.56-.85 1.57-.86 1.57-.9 1.55-.92 1.53-.92 1.53-.95 1.52-1 1.5-1 1.5-1 1.5-1 1.48-1 1.47-1 1.45-1.05 1.45-1.08 1.43-1.1 1.42-1.13 1.4-1.12 1.4-1.15 1.38-1.15 1.37-1.16 1.35-1.2 1.33-1.2 1.33-1.22 1.34-1.23 1.3-1.24 1.28-1.26 1.27-1.27 1.27-1.3 1.23-1.3 1.23-1.3 1.2-1.33 1.2-1.35 1.17-1.35 1.15-1.37 1.15-1.37 1.12-1.4 1.11-1.4 1.09-1.41 1.06-1.44 1.05-1.43 1-1.45 1-1.47 1-1.48 1-1.48.95-1.5.94-1.5.91-1.52.89-1.53.86-1.54.85-1.55.82-1.56.8-1.57.78-1.58.75-1.59.74-1.6.71-1.61.69-1.62.66-1.63.64-1.64.6-1.63.58-1.65.57-1.67.53-1.66.5-1.69.48-1.68.45-1.65.42-1.7.38-1.7.38-1.72.34-1.72.31-1.71.29-1.74.25-1.73.21-1.75.2-1.75.15-1.75.14-1.75.1-1.77.06h-5.3l-1.78-.07-1.77-.1-1.78-.13-1.78-.17-1.79-.2-1.81-.14-1.8-.27-1.78-.3-1.79-.33-1.8-.38-1.78-.4-1.8-.45-1.78-.49-1.79-.51-1.78-.55-1.8-.6-1.78-.64-1.77-.66-1.78-.7-1.79-.75-1.76-.79-1.77-.81-1.77-.87-1.76-.88-1.75-.95-1.77-1-1.75-1-1.73-1.05-1.74-1.1-1.75-1.13-1.7-1.17-1.66-1.2-1.62-1.23-1.58-1.25-1.54-1.3-1.5-1.32-1.45-1.35-1.41-1.38-1.39-1.4-1.31-1.43-1.3-1.45-1.25-1.49-1.2-1.51-1.17-1.52-1.13-1.57-1.09-1.56-1-1.6-1-1.62-.95-1.63-.93-1.65-.88-1.69-.85-1.68-.8-1.72-.77-1.71-.73-1.74-.69-1.75-.65-1.78-.61-1.77-.59-1.8-.53-1.8-.5-1.81-.47-1.84-.43-1.83-.4-1.85-.37-1.85-.33-1.87-.28-1.88-.27-1.88-.23-1.89-.19-1.88-.16-1.9-.14-1.92-.08-1.9-.07-1.91v-5.77l.06-1.93.09-1.92.11-1.93.14-1.94.18-1.93.2-1.93.23-1.94.27-1.93.28-1.93.32-1.92.33-1.93.39-1.94.38-1.91.43-1.92.45-1.92.47-1.9.5-1.9.52-1.9.55-1.9.58-1.88.6-1.88.62-1.89.65-1.86.66-1.85.7-1.85.72-1.85.73-1.82.77-1.83.78-1.8.82-1.82.82-1.78.86-1.79.87-1.76.9-1.75.92-1.74.93-1.73 1-1.72 1-1.7 1-1.68 1-1.67 1-1.65 1.07-1.63 1.07-1.62 1.1-1.6 1.11-1.58 1.14-1.58 1.16-1.54 1.09-1.57 1.18-1.52 1.22-1.48 1.22-1.47 1.25-1.45 1.26-1.41 1.29-1.4 1.3-1.39 1.31-1.36 1.34-1.34 1.35-1.3 1.35-1.28 1.38-1.27 1.4-1.23 1.42-1.2 1.43-1.18 1.45-1.15 1.47-1.12 1.48-1.1 1.48-1.07 1.52-1 1.53-1 1.54-1 1.56-.94 1.57-.91 1.58-.89 1.6-.83 1.62-.82 1.63-.76 1.64-.74 1.65-.7 1.68-.66 1.68-.64 1.67-.58 1.08-.35 1.07-.32 1.07-.31 1.05-.29 1.06-.26 1.07-.25 1.05-.24 1.05-.21 1.07-.2 1.05-.19 1.05-.16 1-.14 1-.15 1.05-.11 1-.1 1.07-.09 2-.15 2-.08h2.05zm-3.55 16.7-1.65.06-1.67.12-.8.07-.81.08-.82.08-.8.1-.82.12-.8.13-.81.14-.8.16-.8.15-.82.19-.8.18-.8.22-.8.21-.8.22-.8.25-.8.27-1.35.46-1.32.49-1.33.53-1.32.55-1.31.6-1.32.62-1.3.65-1.3.68-1.3.72-1.28.75-1.29.78-1.26.8-1.27.83-1.27.87-1.25.88-1.23.92-1.23.95-1.24 1-1.2 1-1.21 1-1.19 1.05-1.18 1.08-1.18 1.1-1.17 1.14-1.15 1.15-1.13 1.16-1.14 1.2-1.1 1.22-1.11 1.25-1.09 1.27-1.06 1.28-1.07 1.3-1 1.33-1 1.35-1 1.37-1 1.38-1 1.4-1 1.42-.95 1.43-.93 1.47-.93 1.47-.9 1.48-.9 1.5-.87 1.52-.85 1.51-.83 1.55-.82 1.55-.8 1.57-.78 1.58-.77 1.59-.73 1.6-.74 1.61-.7 1.62-.68 1.63-.67 1.64-.63 1.65-.62 1.65-.6 1.66-.58 1.67-.55 1.67-.53 1.68-.52 1.68-.48 1.69-.47 1.68-.45 1.7-.42 1.7-.5 1.7-.38 1.7-.35 1.7-.32 1.7-.3 1.7-.28 1.7-.25 1.7-.23 1.68-.2 1.7-.19 1.69-.15 1.7-.13 1.68-.1 1.67-.07 1.68-.05 1.67v4.96l.07 1.64.08 1.63.1 1.62.15 1.61.15 1.62.2 1.58.22 1.59.25 1.56.27 1.57.3 1.55.33 1.53.37 1.52.38 1.52.42 1.48.43 1.48.48 1.47.5 1.45.54 1.43.55 1.44.58 1.4.62 1.38.65 1.37.68 1.35.7 1.35.73 1.31.77 1.3.8 1.29.82 1.26.86 1.24.89 1.23.93 1.2 1 1.2 1 1.17 1 1.15 1 1.13 1.08 1.1 1.14 1.1 1.15 1.07 1.18 1.05 1.22 1 1.26 1 1.3 1 1.34 1 1.38.93 1.48 1 1.49.95 1.48.88 1.5.87 1.48.83 1.49.8 1.48.75 1.5.74 1.48.68 1.49.65 1.48.63 1.5.59 1.48.56 1.49.52 1.48.5 1.48.45 1.49.43 1.48.4 1.47.37 1.48.35 1.48.3 1.47.28 1.48.25 1.47.22 1.48.2 1.47.15 1.47.15 1.46.1 1.47.08 1.47.05h4.38l1.47-.05 1.45-.09 1.45-.1 1.45-.13 1.45-.17 1.45-.18 1.45-.22 1.43-.23 1.43-.25 1.45-.3 1.44-.3 1.41-.33 1.44-.37 1.41-.38 1.42-.4 1.42-.44 1.41-.45 1.4-.46 1.4-.5 1.4-.54 1.39-.53 1.38-.57 1.38-.58 1.39-.62 1.36-.63 1.37-.65 1.43-.76 1.35-.7 1.35-.71 1.33-.74 1.34-.75 1.33-.78 1.32-.8 1.3-.8 1.3-.83 1.3-.87 1.28-.87 1.28-.88 1.27-.92 1.25-.91 1.25-1 1.25-.95 1.23-1 1.22-1 1.22-1 1.2-1 1.18-1.05 1.18-1.05 1.17-1.08 1.17-1.09 1.15-1.1 1.13-1.13 1.12-1.13 1.11-1.15 1.1-1.15 1.09-1.19 1.08-1.18 1.07-1.2 1.05-1.22 1-1.23 1-1.23 1-1.25 1-1.27 1-1.27 1-1.28 1-1.3.94-1.32.91-1.3.92-1.33.88-1.33.89-1.35.86-1.35.85-1.37.82-1.37.82-1.36.8-1.4.78-1.39.77-1.4.75-1.4.73-1.41.7-1.42.7-1.43.68-1.44.65-1.43.65-1.43.62-1.45.62-1.45.58-1.45.57-1.47.55-1.47.53-1.45.5-1.46.5-1.49.47-1.46.45-1.45.46-1.62.44-1.62.4-1.66.38-1.69.35-1.71.32-1.74.3-1.76.25-1.79.23-1.8.2-1.81.17-1.84.13-1.85.1-1.85.08-1.86v-5.62l-.06-1.88-.1-1.87-.15-1.87-.17-1.86-.22-1.85-.25-1.84-.32-1.72-.32-1.82-.35-1.8-.4-1.77-.41-1.75-.52-1.76-.5-1.7-.55-1.7-.28-.8-.29-.82-.31-.8-.3-.81-.32-.79-.33-.78-.35-.78-.34-.77-.36-.75-.37-.75-.37-.75-.38-.72-.4-.71-.4-.72-.4-.7-.42-.68-.43-.69-.43-.66-.45-.65-.45-.64-.47-.63-.47-.63-.48-.6-.48-.6-.5-.59-.52-.56-.52-.57-.51-.55-.54-.53-.53-.54-.55-.51-.57-.5-.56-.49-.59-.48-.58-.45-.6-.45-.6-.45-.62-.42-.61-.41-.65-.4-.64-.39-.66-.38-.67-.35-.68-.35-.69-.33-.7-.34-.71-.3-.72-.3-.75-.28-.75-.27-.75-.25-.78-.23-.79-.23-.81-.2-.82-.2-.83-.19-.85-.15-.85-.15-.89-.13-.9-.12-.9-.1-.93-.08-.93-.07h-3.83l-.8-.12-.8-.21-.77-.29-.73-.35-.7-.43-.65-.48-.6-.55-.55-.62-.48-.67-.35-.61-.58-.2-.65-.19-.65-.2-1.49-.4-1.51-.38-1.48-.48-1.48-.32-1.37-.28-1.22-.23-1-.17-1.25-.22-1.8-.26-1.9-.29-3.73-.6-7.37-1.2-3.61-.56-1.79-.25-1.76-.25-1.77-.24-1.75-.2-1.75-.18-1.72-.17-1.71-.13-1.72-.1-1.68-.07-1.69-.05h-1.66zm393.75-86.22 1.53.08 1.54.14 1.55.16 1.55.24.75.15.75.15.73.18.75.2.72.22.71.23.72.25.7.27.68.28.69.3.68.32.7.35 1.28.68 1.27.77 1.23.81 1.22.85 1.18.92 1.14 1 1.11 1 1.09 1 1 1.05 1 1.1 1 1.13 1 1.17.94 1.18.9 1.23.86 1.24.85 1.28.82 1.28.78 1.32.75 1.35.72 1.35.68 1.38.67 1.39.62 1.41.6 1.44.56 1.43.52 1.45.5 1.47.45 1.46.42 1.49.38 1.5.35 1.5.3 1.5.27 1.5.23 1.51.18 1.52.14 1.52.1 1.51.05 1.52v1.52l-.05 1.5-.1 1.51-.15 1.5-.22 1.5-.27 1.49-.31 1.43-.2.78-.22.74-.22.73-.23.72-.25.71-.28.72-.29.72-.31.7-.32.7-.35.7-.37.68-.38.68-.4.67-.42.67-.45.65-.45.63-.48.63-.5.62-.52.6-.53.6-.57.58-.56.57-.6.55-.62.53-.63.52-.65.52-.92.65-.92.63-.93.58-.95.57-1 .53-1 .5-1 .45-1 .45-1 .4-1 .37-1 .35-1 .33-1 .29-1 .28-1 .23-1 .24-1 .2-1 .16-1 .17-1 .13-1 .12-1 .1-1 .08-1 .09-1.93.08-2 .05h-1.66l-1.92-.05-1.91-.08-1.89-.1-1.88-.14-1.85-.15-3.62-.33-3.51-.35-3.4-.32-1.64-.15-1.6-.13-1.55-.1-1.5-.08h-3.45l-.48-.05-.5-.08-.48-.1-.47-.13-.47-.17-.45-.18-.45-.22-.43-.25-.42-.27-.4-.3-.36-.31-.37-.34-.33-.36-.22-.24-.17.07-.46.15-.49.13-.48.1-.48.07h-1.97l-.48-.08-.49-.1-.48-.13-.47-.17-.45-.18-.45-.22-.43-.25-.42-.27-.43-.28-.62-.5-.56-.52-.54-.53-.46-.53-.49-.6-.66-1-.59-1.05-.5-1-.4-1-.35-1-.28-1-.23-1-.22-1-.17-1-.15-1-.13-.95-.1-.93-.08-1-.14-1.8-.08-1.8v-10.7l.06-1.3.12-1.3.15-1.3.17-1.28.2-1.28.23-1.29.27-1.28.28-1.28.32-1.27.35-1.27.38-1.25.4-1.25.43-1.25.47-1.23.48-1.22.52-1.21.53-1.22.59-1.18.6-1.19.61-1.16.65-1.15.69-1.15.7-1.12.73-1.12.75-1.1.78-1.06.82-1.07.83-1 .87-1 .88-1 .92-1 1-1 1-.94 1-.9 1-.88 1-.87 1.07-.81 1.1-.8 1.12-.77 1.15-.73 1.18-.7 1.2-.69 1.22-.63 1.25-.6 1.26-.57 1.3-.51 1.32-.49 1.33-.45 1.37-.4 1.38-.35 1.4-.31 1.42-.27 1.43-.22 1.45-.18 1.49-.12 1.48-.08h1.5zm-2.43 16.67h-.94l-.9.06-.9.12-.86.13-.87.17-.87.18-.83.22-.83.25-.82.27-.82.3-.8.31-.78.35-.78.39-.77.4-.75.41-.75.45-.73.47-.72.5-.72.52-.7.53-.68.57-.68.58-.67.6-.65.63-.63.64-.62.66-.62.69-.6.71-.58.72-.57.73-.53.75-.53.79-.52.78-.5.8-.48.8-.47.83-.45.84-.43.85-.4.85-.4.86-.37.89-.35.88-.33.88-.32.9-.28.9-.29.9-.25.92-.21.9-.22.92-.18.91-.17.9-.13.92-.14.9-.1.9-.06.9-.07.9v9.35l.06 1.4.09 1.4.06.62.07.63.08.59.09.55.08.51.1.45.1.4.1.32v.07l.23.21.33.35.24.29.2-.09.46-.15.49-.13.48-.1.5-.07h2.65l1.78.05 1.79.1 1.78.11 1.77.14 1.78.16 3.5.34 3.48.35 3.46.3 1.69.14 1.66.11 1.65.1 1.64.07h4.68l1.53-.07h.7l.72-.06.72-.09.7-.08.7-.08.66-.12.67-.12.65-.13.65-.15.63-.15.62-.17.6-.18.6-.18.58-.22.59-.22.55-.23.55-.23.55-.27.51-.27.54-.28.5-.32.51-.31.49-.34.5-.36.26-.2.25-.2.25-.22.24-.22.21-.23.24-.22.2-.23.21-.25.2-.25.2-.25.19-.27.21-.25.18-.27.17-.28.17-.3.16-.3.15-.32.15-.31.15-.34.14-.33.13-.35.12-.35.11-.37.12-.38.12-.37.08-.35.18-.85.15-.85.14-.86.08-.9.07-.92v-3l-.07-1-.08-1-.14-1.05-.16-1.07-.19-1.07-.21-1.08-.25-1.08-.29-1.1-.31-1.09-.34-1.1-.36-1.08-.39-1.08-.43-1.09-.43-1.06-.52-1.05-.5-1.05-.52-1-.53-1-.55-1-.58-1-.6-.94-.6-.93-.64-.88-.63-.87-.65-.83-.67-.82-.68-.77-.67-.73-.7-.68-.68-.67-.68-.62-.7-.56-.69-.54-.7-.48-.68-.45-.67-.4-.7-.38-.28-.14-.33-.16-.32-.14-.32-.13-.31-.12-.3-.11-.32-.1-.3-.09-.3-.08-.3-.07-.28-.06h-.29l-1-.15-1-.12-1-.08h-2zm-30.65 50.76h-.05z"/></g></svg>
|
assets/img/no-products.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg viewBox="0 0 923.65 1082.82" xmlns="http://www.w3.org/2000/svg"><g fill-rule="evenodd"><path d="m296.42 899.72h6.81l3.44.07 3.45.1h.2l.18-.1 1.48-.68 1.49-.63 1.53-.48 1.5-.5 1.5-.5 1.5-.43 1.52-.37 1.51-.35 1.52-.31 1.53-.27 1.54-.25 1.55-.23 1.53-.19 1.57-.18 1.55-.15 1.56-.12 1.57-.11 1.55-.04 1.59-.08h7.93l3.18.05 3.19.09 3.11-.06 3.15.17 3.12.18 3.07.2 3.05.22 5.83.47 5.57.46 5.15.42 2.38.18 2.23.15 2.09.14 1.88.1h11.98l8.87-.07 8.87-.12 8.86-.15 8.9-.18 8.89-.2 17.85-.45 16.88-.42 1-.08 2-.13 2.58-.15 3.05-.15 3.39-.14h11.56l2 .08h3.55l.15-.15 1.22-1 1.06-.73.95-.57 1-.53 1.24-.55 1.23-.45 1.12-.35 1.05-.27 1-.22 1-.18.93-.15 1-.15 1.75-.2 1.86-.15 1.9-.12 2-.08h12.53l4.3.13 4.27.17 4.11.2 3.85.2 3.52.21 5.53.34 1.77.1h1l3 .08 3.15.13 3.13.14 3.12.16 6.15.35 6.08.39 6 .38 6 .37 3 .15h.18l1.45-.05 6.08-.2 6.09-.2 6.1-.16 6.11-.15 6.14-.14 6.13-.1 6.15-.05h6.62l3-.2 2-.12 2.25-.08 2.41-.07h5.4l1.4.05 1.44.08 1.45.1 1.46.13 1.49.19 1.5.21 1.53.27 1.57.33 1.5.39.9.26.83.29.87.3.86.33.89.4.91.43.94.5 1 .57 1 .65 1.2.9.57.52.93-.2 1.92-.39 1.91-.35 2-.35 2-.31 2.05-.27 2-.23 1.1-.1 1.08-.07 1.08-.07h4.47l1.15.05 1.17.08 1.16.12 1.19.13 1.2.19 1.2.21 1.21.27 1.22.3 1.23.35 1.24.4 1.23.45 1.23.52 1.24.55 1.21.61 1.2.67 1.19.73 1.16.79 1.14.83 1.11.9 1.07.95 1.1 1.05.8.83.85 1.05.87 1.24.85 1.5.76 1.75.6 2 .35 2.28v2.43l-.37 2.45-.7 2.29-1 2-1.1 1.72-1.15 1.4-1.13 1.13-1.08.9-1.19.85-1.6.94-1.58.73-1.38.53-1.27.4-1.17.34-1.1.25-1.06.21-1 .19-1 .16-1 .15-1.85.24-1.82.18-1.72.17-3 .25-1.14.11-.91.1-3.54.45-3.53.42-3.42.38-3.33.35-3.27.32-3.2.3-3.18.25-3.17.23-3.16.2-3.19.19-3.23.16-3.3.14-3.37.13-3.48.1-3.6.1-3.68.08h-2.15l-2.44.14-2.6.15-2.81.2-3 .25-3.15.26-6.75.6-7.19.64-3.75.31-3.81.32-3.89.28-3.91.29-4 .25-4 .2-4 .16-2 .09-2 .05h-12l-2-.07-2-.08-1.95-.1-1.93-.14-1.93-.15-1.92-.18-1.92-.22-1.88-.23-1.88-.27-1.87-.3-1.85-.33-1.4-.28h-4.05l-2.72.12-2.71.1-5.29.17-10.11.3-4.79.16-2.28.1-2.27.12-8.5.43-8.56.42-8.59.4-3.13.13.4.05 1.27.24 1.41.33 1.5.48 1.17.49 1.2.58 1.4.87 1.62 1.26 1.8 1.9.81 1.29.82 1.5.63 1.6v.1l.48 1.83.23 1.88v1.95l-.25 1.84-.35 1.66-1.21 2.74-1.34 2-1.26 1.4-1.12 1-1 .77-.88.61-.77.45-.88.5-.87.45-1.56.79-1.64.71-1.63.67-1.64.83-1.64.52-1.6.47-1.61.41-1.59.37-1.58.32-1.55.26-1.55.24-1.52.21-1.5.17-1.48.15-1.47.13-1.43.1-1.45.09-2.75.15-2.68.1-2.59.1-2.48.1-2.42.11-1.1.07-1.11.08-1.07.09-1.13.11-4.15.44-4.24.41-4.23.4-4.22.37-4.23.37-4.22.31-4.23.32-4.22.28-4.21.29-4.22.23-4.22.23-4.21.2-4.24.19-4.21.16-4.22.15-4.22.12-4.21.18-4.22.08-4.22.07h-21.11l-4.22-.05-4.23-.1-4.24-.1-4-.1-.76.16-4.19 1-4.2.9-4.18.85-4.2.84-4.2.78-4.2.75-4.22.72-4.2.68-4.21.65-4.22.6-4.22.58-4.21.55-4.22.54-4.22.48-4.21.47-4.22.45-4.22.4-4.23.38-4.22.37-4.21.33-4.22.32-4.22.3-4.21.26-4.22.25-4.22.24-4.2.2-4.21.2-4.2.18-2.3.08-2.54.44-2.56.41-2.57.4-2.58.4-2.59.37-2.58.37-2.58.33-2.59.33-2.54.32-2.67.32-3 .4-3.25.43-3.45.45-3.61.44-1.9.21-1.9.19-2 .18-2 .17h-.47l-.63.19-1.07.26-1.08.24-1.08.2-1.09.16-1.08.14-1.08.1-1.1.06h-3.3l-1.12-.06-1.13-.1-1.14-.15-1.13-.2-1.17-.24-1.16-.3-1.17-.35-.52-.16-1-.13-1-.15h-.07l-2.38.18-2.4.15-2.42.1h-6.1l-1.21-.05h-1.24l-1.23-.08-1.23-.1-1.24-.12-1.23-.13-1.23-.17-1.24-.18-1.23-.22-1.23-.23-1.24-.27-1.23-.28-1.23-.34-1.24-.35-1.23-.4-1.22-.43-1.23-.47-1.22-.5-1.2-.56-1.21-.59-1.19-.65-1.18-.7-1.37-.86-1.48-1.12-2-2-.94-1.47-.78-1.43-.6-1.5-.45-1.3-.45-2.91.17-2.9.7-2.71 1.1-2.3 1.48-2.14 2-2 2-1.33 1.55-.77 1.25-.5 1-.33 1-.27 1.45-.32 1.43-.23 1.33-.18 1.27-.14 1.22-.11 1.16-.09 2-.13 1.5-.1 3.81-.25 3.84-.28 2.86-.22.92-.92 1.95-1.36 2.15-1 2.3-.63 2.37-.24h2.68l.63-.47.94-.67 1-.63 1-.6 1-.58 1-.55 1-.54 1-.5 1-.5 1-.46 1.05-.45 1.07-.44 1.07-.41 1.08-.4 1.1-.37 1.12-.37 1.11-.33 1.12-.32 1.13-.3 1.15-.28 1.15-.25 1.17-.23 1.18-.2 1.17-.2 1.2-.15 1.2-.14.55-.05-.37-.08-1.16-.28-1.15-.32-1.17-.32-1.15-.35-1.15-.36-1.15-.4-1.15-.42-1.23-.47-.95-.41-1.54-.79-.91-.66-1.87-1.55-1.57-1.85-1.11-1.9-.87-2-.55-2.1-.21-2.17-9.42 3.27-3.75 1.3-2.12.7-4.6 1.38-4.61 1.37-4.79 1.37-2.5.7-2.5.68-2.55.68-2.58.67-2.63.65-2.64.63-2.68.62-2.7.6-2.72.57-2.73.55-2.77.51-2.76.49-2.79.43-2.8.4-2.81.37-2.8.31-2.79.25h-.16l-1.29.08-1.41.07-1.42.07-1.42.05h-7.06l-1.4-.07-1.42-.06-1.4-.1-1.4-.17-1.4-.13-1.4-.15-1.4-.19-1.4-.2-2.08-.33-1.83-.5-1.49-.6-1-.46-1-.47-1.69-.88-1.73-1-1.73-1-1.34-.84-1.41-.16-1.2-.12h-4.95l-1.77-.08-1.77-.09-1.76-.13-1.75-.13-1.75-.17-1.74-.2-1.76-.27-1.73-.25-1.72-.29-1.72-.31-1.7-.37-1.68-.38-1.68-.44-1.67-.46-1.67-.5-1.63-.57-1.63-.6-1.64-.65-1.6-.7-1.58-.8-1.57-.81-1.75-1-1.45-1-2.06-1.87-1-1.4-1.17-2.08-.85-2.27v-.08l-.42-2-.13-2 .17-2v-.17l.4-1.86.65-1.79.89-1.68.05-.08 1.18-1.65 1.38-1.47 1.07-1 2-1.25 1.48-.68 1.32-.48 1.51-.42 1.34-.27 1.15-.16 1-.12 1-.1h.94l1-.05h3.35l3.08.22 2.69.2 2.38.22 2.15.23 1.95.23 1.78.24 1.65.23 1.52.23 2.88.45 1.45.22 1.57.23 1.72.22 2 .23 2.25.25h.6l.13-.56.58-1.32.85-1.65 1.05-1.52.1-.11 1.14-1.38 1.47-1.23 1.2-.89 2.18-1.06 1.7-.59 1.35-.33 1.12-.18 1.06-.15 1.49-.1h3.96l2.12.1 1.75.1h30.46l1.85.05 1.89.09 1.93.11 2 .15 2 .19 2.1.23 2.15.28 2 .3.86.14 1 .11 3 .29 4.48-.09 6-.15 6-.16 6-.22 6-.23h.95l-.28-.63-.6-2-.3-2.08v-2.58l.48-2.53.9-2.42 1.32-2.22 1.66-2 2-1.65 1.85-1.08 2-.82 2.07-.52 2.13-.21 1.47-.05 2 .3 1.05.23 1.21.32 1.24.36 2.56.79 2.87.86 1.42.42 1.35.4 1.21.33 1 .25.77.17h.16l1.69.22 1.76.18 1.8.17 1.82.15 1.85.12 1.87.1 1.9.08 1.68.07h51.2l.83-.08 1.09-.05h4.66l1.54.05 1.23.07 1.07.06 2.51.4 2.42.8 2.23 1.2 2 1.59 1.7 1.88 1.37 2.15.13.33h10.04zm-87.32 57.86h.17-.34z" fill="#808080"/><path d="m419.77 413.53 1.43.19 1.37.26 1.3.35 1.4.44 1.45.58 1.53.77 1.45.93 1.35 1 1.22 1.14 1.08 1.21.93 1.24.79 1.25.65 1.23.53 1.22.43 1.18.34 1.13.25 1.1.2 1.07.13 1 .08 1v1.98l-.09 1.6-.2 1.67-.26 1.58-.37 1.52-.42 1.48-.48 1.44-.55 1.41-.5 1.17-.1.22-.68 1.36-.75 1.34-.82 1.31-.9 1.32-1 1.28-1 1.19-.67.71-.63.64-.69.61-.71.62-.79.6-.81.6-.89.57-.95.55-1 .51-1.09.47-1.15.43-1.23.37-1.3.28-1.35.2-1.42.1h-1.43l-1.45-.13-1.38-.23-1.22-.3-1.15-.37-1.13-.45-1.12-.47-1.07-.6-1-.69-.93-.71-.9-.8-.82-.83-.75-.87-.67-.88-.6-.9-.51-.92-.55-1.07-.64-1.61-.51-1.74-.32-1.7-.17-1.61v-1.57l.09-1.52.16-1.46.09-.39.21-1 .4-1.38.5-1.35.25-.59v-1.81l.05-1 .12-1 .15-1 .2-1 .26-1 .32-1.07.27-.77.11-.31.49-1.1.56-1.1.67-1.12.75-1.1.87-1.12 1-1.06 1.08-1 1.22-1 1.32-.9 1.41-.8 1.49-.68 1.53-.55 1.57-.42 1.58-.28 1.57-.14h1.51zm3.38 29.8-.28.15 1.18-.61v-.22.22l.05-.64v-.48l.05.52-.09-1.07.09.5-.19-1.15.12.47-.27-1-6.35 4.41h1.14-.35l1.18-.08-.35.05 1.23-.17-.31.07 1.25-.29-.32.1 1.27-.4-.3.12zm.65-.3.25-.15zm.05-3.08.1.3zm-6.33-15.72h-.75l.48.15.9.3.58.26 1.52 2.19 5.55.13-.37-.33.19.16-1.05-.8.2.17-1.2-.75.21.13-1.31-.65.21.1-1.45-.55.24.1-1.54-.41.25.06-1.58-.26.25.05-1.6-.1z" fill="#fff"/><path d="m463.47 357.9 1.9.33 1.83.57 1.73.83h.09l1.45.93 1.33 1.1 1.2 1.34 1 1.23 1.22 2.27.55 1.45.37 1.2.28 1 .25 1 .25 1.06.45 2.12.43 2.35.44 2.55.43 2.75.42 2.93.25 1.94.43.71.73 1.45.64 1.5.48 1.4.4 1.34.33 1.31.3 1.3.25 1.3.22 1.3.2 1.34.17 1.36.15 1.39.15 1.41.11 1.44.1 1.46.1 1.5.07 1.54.07 1.55.05 1.58v6.53l-.05 3.39-.1 3.41-.15 3.44-.2 3.41-.13 1.75-.13 1.72-.14 1.72-.16 1.7-.17 1.68-.2 1.67-.2 1.66-.22 1.64-.21 1.61-.07.35-.08 1.12-.17 1.6-.18 1.58-.22 1.55-.12.79.42.8.45 1.05.42 1.1.35 1.16.26 1.2.2 1.24.14 1.25v2.51l-.12 1.24-.18 1.21-.07.3-.23.85-.39 1.12-.51 1.23-.87 1.72-.98 1.67-1.13 1.49-1.15 1.26-1.15 1.12-1.16 1-1.14.87-1.13.78-1.12.69-1.11.63-1.1.57-1.1.53-1.09.48-1.1.45-1.08.42-1.1.38-1.1.37-1.1.33-1.12.32-1.11.3-1.12.28-1.12.27-1.13.23-1.12.24-1.15.2-1.13.18-1.13.18-1.15.17-1.14.13-1.15.14-1.13.11-1.15.09-1.15.08-1.13.07-1.14.05h-5.65l-1.13-.07-1.12-.08-1.13-.12-1.12-.14-1.13-.17-1.13-.18-1.15-.24-1.15-.26-1.19-.32-1.2-.37-1.25-.46-1.27-.52-1.53-.71-1.58-.94-1.7-1.31-1.52-1.52-4.93 1.55-2.69.83-2.71.85-2.77.82-2.8.82-2.82.8-2.83.75-2.83.7-1.45.35-1.44.33-1.43.3-1.43.3-1.44.27-1.45.26-1.43.24-1.43.21-1.45.2-1.44.17-1.45.15-1.45.12-1.45.08h-4.38l-1.48-.06-1.49-.12-1.5-.17h-.28l-1.23-.17-1.52-.28-1.55-.35-1.53-.43-1.57-.5-1.45-.59-.88-.38-1.3-.62-2.1-1.31-1.19-1.12-1.11-1.25-1-1.35-.93-1.45-1.07-3-.4-2.71v-2.27l.28-1.82.43-1.7.72-1.85.8-1.55.15-.21-.32-.32-1.41-2.07-1.05-2.2-.64-2.18-.28-2-.05-1.8.13-1.58.24-1.37.3-1.18.33-1.05.35-.93.37-.84.4-.86.48-.89v-.06l-.72-1-.66-1.08-.59-1.17-.5-1.2-.4-1.23-.3-1.25-.21-1.24-.12-1.21v-1.19l.06-1.35.24-1.86.46-1.89.59-1.65.65-1.46.7-1.3.71-1.19.74-1.06.73-1 .77-.91.75-.87.76-.83.79-.79.8-.76.78-.75.82-.72.81-.7.84-.7.88-.7 1.67-1.3 1.73-1.28 1.78-1.27 1.79-1.23 1.8-1.2 1.8-1.15 1.78-1.14 1.77-1.08 1.71-1.05 1.7-1 3.12-1.81 2.8-1.6 2.32-1.3 1.68-.94.92-.53 1.65-1 .23-.14 2.55-1.48 1.45-.82 1.5-.81 1.55-.8 1.58-.79 1.59-.73.95-.38.56-.22 2.44-2 2.66-2.07 2.42-1.85 2.1-1.36 2.32-1 1.8-.42 1.36-.83 1.39-.82 1.4-.78 1.4-.77 1.4-.73 1.41-.7 1.42-.7 1.42-.67 1.41-.63 1.42-.63 1.42-.6 1.4-.59 1.41-.58 2.72-1.05 2.7-1 2.62-.92 2.51-.85 2.4-.76 2.29-.7 2.11-.64.43-1.07.65-1.33 1.18-1.85.94-1 1.6-1.48 1.8-1.24h.08l2.12-1 2.26-.65 2.35-.25h.07z" fill="#808080"/><path d="m69 892.63 12.82.17 6.5.07h19.62l3.25-.06 3.25-.09 3.23-.11 3.22-.14 3.2-.16 3.16-.19 3.15-.23 3.14-.27 3.1-.28 3.05-.33 3-.39 3-.41 1.47-.22 1.46-.23 1.47-.24 1.45-.26 1.46-.26 1.42-.28 1.4-.29 1.4-.3 1.95-.45 2-.45 2-.48 1.95-.5 4-1 4-1.06 4-1.07 4.08-1 2.07-.52 2.07-.5 2.1-.5 2.1-.48 2.11-.45 2.12-.43 2.15-.42 2.15-.38 2.17-.35 2.18-.32 2.2-.28 2.22-.24 2.23-.2 2.25-.15 2.23-.1h5.77l1.15.05 1.17.06 1.15.07 1.18.1 1.13.1 4 .4 4 .37 4 .35 4 .35 4 .31 4 .3 4 .3 4 .27 4 .27 4 .23 3.95.23 4 .2 4 .2 3.95.19 4 .16 3.95.15 3.95.14 3.95.13 3.95.12 4 .08 3.95.08 3.93.09h3.95l3.95.05h23.7l7.9-.1 7.92-.14 7.92-.18 7.93-.22 7.93-.26 7.95-.3 7.95-.34 8-.38 8-.4 8-.43 8-.47 8.05-.5 8.05-.53 8.08-.55 8.1-.57 8.13-.6 8.19-.62 1.63-.11 1.68-.09h8.35l1.67.08 1.65.08 1.67.12 1.65.13 1.63.15 1.65.17 1.63.18 1.64.2 1.65.2 3.23.47 3.23.5 3.22.53 3.2.55 3.17.57 3.16.58 5.81 1.13 3.1.55 3.08.53 3 .52 3 .47 3 .43 1.47.18 1.5.19 1.46.16 1.49.15 1.46.14 1.45.11 1.45.1 1.45.09 1.44.06h7.05l1.38-.06 1.37-.09 1.36-.11 1.37-.15 1.35-.17 1.35-.2 1.33-.22 1.4-.26 2.14-.42 2.23-.4 2.23-.4 2.25-.37 2.27-.35 2.27-.35 2.3-.31 2.28-.3 2.32-.27 2.3-.27 2.33-.25 2.33-.23 2.34-.22 2.35-.2 2.36-.18 2.37-.17 2.37-.16 2.36-.14 2.39-.13 2.4-.12 2.38-.1 2.42-.08 4.78-.13 4.83-.09 4.82-.05h9.67l4.83.08 4.83.1 4.82.15 4.82.17 4.78.2 4.77.21 4.75.25 4.71.27 4.7.28 4.65.3 4.62.32 4.57.32 9 .66 8.76.67 2.92.2 2.88.2 2.89.17 2.88.13 2.88.13 2.89.1 2.9.09 2.88.08 2.9.05h14.47l2.9-.05 2.9-.07 2.9-.06 2.9-.09 5.81-.2 5.82-.25 5.83-.3 5.82-.31 5.83-.35 5.85-.37 5.84-.4 11.71-.83 11.74-.85 11.75-.82 5.9-.4 5.9-.38 5.9-.34 5.9-.33 5.91-.28 5.94-.24 5.91-.2 3-.08 3-.07 3-.05h8.95l1.62.17 1.56.46 1.45.77 1.27 1 1 1.27.79 1.43.46 1.57.17 1.62-.15 1.63-.48 1.54-.76 1.43-1 1.27-1.26 1-1.44.78-1.54.52-1.62.15h-5.8l-2.9.05h-2.88l-2.9.07-2.89.06-5.8.2-5.8.24-5.81.28-5.82.32-5.82.35-5.83.36-5.83.39-11.72.83-11.72.85-11.76.82-5.89.4-5.91.38-5.9.35-5.92.33-5.93.3-5.94.25-5.93.22-3 .08-3 .07-3 .07h-18l-3-.07-3-.07-3-.08-3-.12-3-.13-3-.15-3-.17-3-.2-3-.21-8.77-.67-8.95-.67-4.53-.31-4.57-.3-4.58-.3-4.63-.29-4.65-.25-4.67-.25-4.68-.21-4.7-.2-4.7-.17-4.72-.13-4.72-.12-4.7-.07h-14.08l-4.65.1-4.65.14-2.3.08-2.3.08-2.28.12-2.29.12-2.28.13-2.27.15-2.25.17-2.25.18-2.23.18-2.23.2-2.22.24-2.2.23-2.18.25-2.17.27-2.17.26-2.15.3-2.13.32-2.12.33-2.1.35-2.08.37-2.07.38-2.11.4-1.62.32-1.68.28-1.7.24-1.67.21-1.68.17-1.69.15-1.68.12-1.67.06-1.68.07h-5l-1.65-.05-1.67-.06-1.65-.1-1.65-.1-1.65-.14-1.63-.16-1.65-.17-1.63-.18-1.64-.2-1.46-.09-3.23-.47-3.22-.5-3.22-.53-3.2-.55-3.16-.59-6.3-1.15-3.14-.58-3.1-.55-3.08-.55-3-.5-3-.47-3-.43-1.48-.18-1.48-.19-1.49-.16-1.48-.15-1.47-.14-1.45-.11-1.45-.1-1.45-.09-1.43-.05h-7.08l-1.39.07-1.41.1-8.15.62-8.17.6-8.15.58-8.12.55-8.11.53-8.1.5-8.07.47-8.07.45-8.06.4-8 .38-8 .34-8 .3-8 .26-8 .24-8 .18-8 .13-8 .1h-24l-4-.05-4-.06-4-.07-4-.08-4-.1-4-.1-4-.14-4-.13-4-.17-4-.16-4-.19-4-.2-4-.21-4-.24-4-.23-4-.27-4-.28-4-.3-4-.3-4-.33-4.05-.35-4-.35-4-.39-4-.4-1-.08-.94-.07-.93-.06h-7.22l-1.9.09-1.89.13-1.88.17-1.9.2-1.9.25-1.9.26-1.92.32-1.91.33-1.92.39-1.93.38-1.95.43-1.94.44-2 .46-2 .49-2 .48-4 1-4 1.05-4.05 1.07-4.07 1.05-2.06.53-2.07.5-2.08.49-2.1.48-1.55.33-1.59.34-1.58.3-1.58.3-1.59.28-1.6.27-1.61.25-1.64.25-3.21.45-3.27.4-3.3.36-3.3.32-3.32.27-3.33.23-3.35.22-3.35.16-3.37.15-3.36.12-3.37.08-3.37.07h-13.31l-6.61-.05-6.57-.06-12.82-.17-6.2-.07h-40.4l-.28.06-.28.07-.89.25-1 .32-1.1.35-1.2.4-1.25.36-.72.2-.73.19-.77.16-.82.15-.86.14-1 .06h-1.07l-.75-.07-.9-.11-.35-.07-1.06-.27-.32-.11-.88-.32-.48-.21-.45-.27-.63-.4-.14-.08-.6-.47-.13-.1-.57-.47-.1-.1-.54-.58-.1-.14-.46-.63-.09-.13-.4-.64-.25-.46-.36-.82-.27-.78-.2-.77-.1-.5-.13-1.68.17-1.64.48-1.55.78-1.43 1.05-1.27 1.27-1 1.45-.77 1.57-.47 1.61-.15 1.64.17 1.55.48 1.11.6.82-.26 1.17-.37 1.25-.4 1.33-.38.77-.2.76-.17.82-.17.87-.11 1-.1h41.28zm-52.51 7.62v-.08l-.1-.39-.13-.4z"/><path d="m365.47 647.05.85.15.85.23.8.32.76.42.74.48.66.55.62.63.53.69.47.73.38.78.3.82.22.85.12.87v1.73l-.05 1-.07 1-.08 1-.1 1-.13 1-.15.94-.19 1-.18.93-.2.93-.23.92-.24.93-.26.92-.27.93-.57 1.79-.63 1.81-.68 1.79-.72 1.76-.75 1.75-.78 1.75-.82 1.72-.83 1.72-.84 1.41-.87 1.68-.88 1.65-.88 1.64-.9 1.61-1.77 3.12-1.7 3.1-1.73 2.9-1.59 2.82-.73 1.33-.7 1.3-.67 1.27-.58 1.28-1.45 2.95-1.44 3-1.4 3-1.39 3.05-1.32 3.05-1.34 3.12-1.3 3.13-1.3 3.15-1.26 3.18-1.27 3.19-1.28 3.18-1.25 3.27-2.47 6.51-2.43 6.55-2.45 6.59-2.45 6.6-2.5 6.6-1.27 3.31-1.27 3.3-1.3 3.29-1.31 3.3-1.34 3.26-1.36 3.29-1.39 3.25-1.41 3.25-1.45 3.23-1.45 3.15-.79 1.73-.73 1.67-.72 1.7-.7 1.72-.66 1.71-.65 1.72-.63 1.75-.62 1.76-.6 1.77-.6 1.78-.57 1.8-.56 1.79-1.1 3.65-1.09 3.7-1.05 3.7-1 3.75-2.15 7.55-1.08 3.82-1.13 3.82-.59 1.91-.6 1.92-.61 1.93-.6 1.84-.07.18v.08l-.1.44-.08.45-.07.56-.06.65-.05.72v10.78l-.07 1.12-.12 1.17-.15 1.18-.21 1.22-.34 1.21-.2.72-.22.63-.25.68-.28.67-.32.68-.38.69-.43.7-.49.7-.53.68-.62.65-.68.63-.73.6-.79.54-.83.48-.87.43-.9.35-.91.27-.92.22-.9.15-.67.05h-1.73l-.87-.15-.83-.23-.82-.32-.76-.42-.74-.48-.66-.55-.6-.63-.55-.69-.47-.73-.38-.78-.3-.82-.22-.85-.15-.87v-.88l.07-.87.13-.85.24-.85.33-.8.4-.78.48-.72.57-.68.62-.6.68-.55.73-.47.79-.38.05-.57.05-.7v-9.7l.05-1.13.07-1.17.12-1.18.16-1.22.22-1.23.27-1.22.2-.7.18-.56.62-1.89.56-1.8.57-1.8.55-1.81 1.08-3.67 1.07-3.7 2.14-7.52 1.07-3.79 1.07-3.8 1.11-3.81 1.15-3.8.62-1.94.62-1.91.63-1.92.65-1.93.68-1.92.7-1.92.72-1.91.75-1.92.78-1.92.8-1.91.84-1.9.85-1.87 1.43-3.1 1.37-3.07 1.36-3.11 1.32-3.12 1.32-3.15 1.3-3.18 1.26-3.19 1.27-3.21 1.25-3.24 1.25-3.23 2.45-6.53 2.45-6.55 2.43-6.6 2.47-6.6 2.48-6.59 1.27-3.3 1.28-3.28 1.3-3.28 1.3-3.29 1.35-3.25 1.35-3.26 1.39-3.24 1.41-3.21 1.44-3.22 1.48-3.18 1.52-3.17 1.55-3.15.71-1.42.75-1.43.79-1.45.8-1.47 1.65-2.91 1.71-3 1.72-3 1.72-3.05.83-1.52.83-1.52.8-1.51.8-1.52.75-1.52.74-1.5.71-1.48.65-1.48.64-1.45.58-1.44.53-1.41.49-1.39.45-1.4.18-.63.18-.65.17-.65.17-.63.13-.64.12-.61.11-.6.1-.6.1-.65v-.56l.05-.55.05-.55v-1.14l.07-.87.15-.85.23-.85.32-.8.42-.78.48-.72.57-.66.61-.62.69-.53.73-.47.78-.38.84-.3.83-.22.87-.13h.86zm27.53 6.95.83.1.82.18.8.27.77.35.73.42.68.5.64.55.56.63.52.67.43.73.35.77.29.8.2.81.1.84v1.93l-.06 1.23-.1 1.22-.15 1.22-.19 1.2-.21 1.2-.25 1.18-.29 1.17-.31 1.16-.34 1.15-.36 1.15-.4 1.14-.42 1.13-.43 1.12-.45 1.1-.49 1.1-.48 1.1-.52 1.08-.51 1.08-.55 1.09-.55 1.06-.59 1.07-1.15 2.08-1.2 2.09-1.23 2.06-1.27 2-1.26 2-1.29 2-1.28 2-2.53 3.88-1.24 1.9-1.2 1.89-1.16 1.85-1.14 1.81-1.06 1.79-1 1.75-.95 1.71-.43.82-.42.83-.42.82-.38.8-.35.78-.35.77-.32.75-.28.75-.27.72-.26.76-1.22 3.64-1.25 3.68-2.53 7.32-2.55 7.3-2.57 7.25-5.15 14.48-2.56 7.22-2.52 7.21-2.48 7.22-1.23 3.6-1.2 3.62-1.2 3.61-1.17 3.64-1.16 3.62-1.14 3.63-1.13 3.65-1.1 3.63-1.07 3.65-1.05 3.67-1 3.67-1 3.68-1 3.68-1 3.84-.32 1.13-.41 1.3-.49 1.37-.53 1.43-.58 1.52-.65 1.61-1.37 3.42-1.55 3.68-1.67 3.92-1.66 3.95-1.65 4-1.59 3.88-.73 1.88-.72 1.82-.65 1.75-.6 1.67-.53 1.56-.48 1.45-.39 1.3-.31 1.17-.12.47-.08.43-.09.37v.11l.13.49.12.83v.85l-.05.85-.13.83-.23.8-.3.8-.39.75-.45.7-.53.67-.58.6-.65.55-.7.47-.75.4-.79.31-.8.25-.83.15-.83.09h-.85l-.84-.1-.83-.18-.8-.27-.77-.33-.73-.44-.68-.48-.64-.57-.58-.61-.5-.67-.43-.73-.14-.24-.28-.6-.25-.63-.1-.35-.15-.5-.13-.54-.07-.31-.12-.8-.06-.69v-1.91l.06-.85.12-.84.13-.81.15-.82.19-.82.2-.83.43-1.63.52-1.7.56-1.77.64-1.83.68-1.87.72-1.93.75-1.95.8-2 1.63-4 1.7-4.07 1.68-4 1.64-3.83 1.51-3.62 1.34-3.27.58-1.45.52-1.35.45-1.18.35-1 .25-.78.18-.65.95-3.72 1-3.82 1-3.8 1.07-3.78 1.08-3.78 1.1-3.75 1.14-3.74 1.15-3.73 1.16-3.72 1.19-3.7 1.21-3.7 1.22-3.68 1.23-3.67 1.24-3.68 2.51-7.28 2.55-7.29 2.57-7.25 5.15-14.48 2.55-7.22 2.53-7.23 2.5-7.25 1.22-3.62 1.23-3.68.35-1 .4-1.05.42-1 .43-1 .47-1.05.47-1 .5-1 .5-1 .53-1 .55-1 1.1-2 1.15-2 1.2-2 1.23-2 1.24-2 1.26-2 1.27-2 2.53-3.88 1.25-1.92 1.22-1.92 1.2-1.88 1.15-1.88 1.12-1.85 1.06-1.85 1-1.84.47-.86.46-.9.44-.87.43-.88.4-.87.38-.85.37-.85.35-.83.32-.82.3-.82.26-.8.27-.78.22-.78.2-.75.18-.75.17-.74.11-.71.12-.7.08-.69v-2.11l.07-.85.13-.84.24-.81.3-.79.38-.75.47-.7.53-.66.58-.6.65-.54.7-.46.75-.4.79-.32.81-.25.82-.15.85-.07zm-78.3 232.38-.05-.18-.2-.35z"/><path d="m395.53 658.87h.22l.63.09.64.13.23.07.53.15.52.2.25.08.4.18.4.2.25.14.65.38.55.35.73.58.5.42.6.6.55.63.49.7.4.74.33.78.25.8.17.83.08.84v.85l-.08.83-.18.83-.25.8-.34.79-.41.73-.49.68-.55.64-.61.58-.69.52-.13.08v.67l.05 1.11.06 1.17.17 2.52.22 2.58.23 2.63.22 2.59.18 2.48.08 1.23.07 1.17v5.5l-.05 1.62-.07 1.61-.08 1.6-.1 1.6-.22 3.15-.28 3.14-.3 3.11-.32 3.09-.33 3.05-.32 3-.31 3-.29 3-.25 3-.21 3-.1 1.45-.07 1.47-.07 1.45v13.27l-.08 4.45-.09 4.45-.11 4.43-.15 4.45-.17 4.43-.17 4.44-.2 4.43-.2 4.43-.45 8.85-.46 8.84-.5 8.85-.49 8.81-.46 8.84-.45 8.81-.2 4.4-.19 4.42-.18 4.4-.15 4.4-.15 4.42-.12 4.4-.08 4.4-.08 4.4v9.68l-.14.83-.2.82-.3.78-.38.77-.45.72-.52.66-.58.6-.63.55-.7.49-.74.4-.78.33-.8.25-.83.17-.84.08h-1.06l-.83-.08-.83-.19-.8-.25-.79-.33-.73-.42-.68-.48-.65-.55-.59-.62-.5-.66-.45-.72-.36-.77-.3-.78-.2-.82-.14-.83v-5.33l.05-4.52.06-4.5.1-4.48.12-4.49.13-4.48.17-4.48.17-4.47.2-4.45.2-4.47.45-8.88.48-8.87.48-8.85.49-8.81.48-8.8.43-8.79.2-4.38.2-4.38.17-4.37.17-4.37.13-4.36.12-4.37.1-4.35.06-4.35v-12l.05-1.65.07-1.63.08-1.62.1-1.63.24-3.17.26-3.17.3-3.13.32-3.1.33-3 .32-3 .32-3 .28-3 .27-2.93.21-2.93.09-1.44.06-1.43.07-1.43.05-1.44v-4.45l-.05-1-.07-1-.18-2.3-.22-2.52-.21-2.65-.24-2.73-.18-2.72-.08-1.37-.05-1.35v-5.2l.1-1.28.16-1.23.12-.72.15-.68.18-.74.24-.75.31-.81.42-.87.32-.53.25-.4.26-.39.14-.18.35-.43.38-.42.15-.17.47-.43.5-.4.16-.12.64-.43.65-.35.18-.1.72-.3.73-.25.2-.05.77-.18.8-.1h.93zm28.79-8.37.83.08.83.17.8.27.77.33.75.42.68.48.64.55.58.62.52.66.45.72.36.77.29.78.21.82.12.83v6.07l-.05 5.26-.1 5.25-.14 5.25-.15 5.25-.2 5.25-.2 5.25-.25 5.25-.25 5.24-.26 5.25-.3 5.25-.3 5.25-.64 10.46-.65 10.49-.66 10.48-.63 10.47-.3 5.23-.28 5.23-.27 5.25-.27 5.22-.23 5.23-.2 5.24-.18 5.23-.17 5.23-.12 5.24-.1 5.21-.06 5.24v6.78l-.07 2.35-.28 6.88-.35 9-.37 9.94-.15 5-.13 4.77-.1 4.42-.07 3.93v6.14l.17.83.1.83v.86l-.08.84-.15.83-.25.8-.34.78-.4.74-.48.7-.53.65-.62.58-.67.52-.7.45-.76.38-.79.3-.81.22-.84.13-.85.05h-.83l-.83-.12-.82-.22-.8-.28-.77-.37-.71-.43-.53-.4-.52-.45-.46-.49-.44-.51-.4-.55-.34-.6-.3-.62-.05-.13-.23-.6-.18-.64-.12-.5-.15-.86-.13-1.2-.07-1.27-.05-1.38v-5.09l.07-4.08.1-4.53.13-4.85.17-5 .37-10 .35-9 .26-6.85.09-2.2v-6.45l.05-5.33.1-5.33.13-5.34.15-5.33.18-5.32.22-5.3.23-5.3.27-5.3.27-5.28.3-5.28.3-5.27.63-10.52.65-10.5.65-10.46.63-10.44.3-5.21.29-5.2.26-5.19.27-5.18.23-5.18.2-5.17.19-5.17.16-5.16.12-5.15.1-5.14.05-5.13v-5.17l.05-.83.13-.85.22-.82.3-.78.36-.75.53-.92.52-.66.58-.62.65-.55.7-.47.74-.41.81-.29.8-.25.83-.16.84-.07zm-1.55 227.65.35.62-.19-.4-.45-.62z"/><path d="m436 653.85.83.12.82.21.78.3.77.37.71.45.67.52.6.58.55.63.48.7.42.74.33.78.25.8.17.83.08.84v.85l-.08.83-.18.83-.17.55.12.47.15.57.18.58.42 1.33.46 1.39.5 1.38.5 1.35.5 1.27.87 2.16.55 1.35.8 2 .82 1.9.83 1.9.88 1.92.9 1.9.92 1.9.95 1.92 1 1.91 2 3.87 2 3.9 2.05 3.93 2 4 1 2 1 2 1 2.05 1 2.09.95 2.1.93 2.11.92 2.14.86 2.18.85 2.18.82 2.24.77 2.25.71 2.26.35 1.19.34 1.15.33 1.16.3 1.19.3 1.18.28 1.2.27 1.2.23 1.18.59 2.82.6 2.92.63 3 .67 3.13.71 3.22.75 3.32.79 3.38.81 3.47.85 3.51.89 3.55.91 3.6.95 3.64 1 3.66 1 3.65 1.05 3.67 1.16 3.73 1.1 3.63 1.13 3.62 1.15 3.56 1.2 3.54 1.2 3.48 1.25 3.42.62 1.65.65 1.66.63 1.64.65 1.6.65 1.58.65 1.57.67 1.53.67 1.5.66 1.48.67 1.45.68 1.4.69 1.39.68 1.35.68 1.3.7 1.28.69 1.22.7 1.2.68 1.15.7 1.1.75 1.15.3.46.35.6.57 1 .53 1.1.48 1.1.47 1.12.43 1.13.42 1.14.4 1.16.8 2.32.78 2.32.79 2.3.38 1.08.4 1.07.4 1 .4 1 .38.9.4.85.39.75.38.7.15.26.17.27.15.23.15.2.11.17.55.1.8.25.79.32.73.4.7.48.65.53.58.62.54.65.45.72.38.75.3.8.22.81.13.84.07.83v.85l-.13.83-.2.82-.28.8-.37.75-.43.73-.52.67-.57.62-.63.56-.68.49-.74.41-.78.34-.8.26-.82.19-.85.1h-1.56l-1-.11-1-.22-1-.28-1-.34-.89-.41-.83-.45-.78-.49-.72-.51-.68-.55-.64-.55-.58-.57-.53-.6-.52-.58-.48-.6-.45-.6-.42-.6-.42-.62-.38-.62-.38-.65-.67-1.2-.62-1.26-.6-1.27-.55-1.27-.51-1.28-.5-1.27-.56-1.3-.45-1.29-.85-2.43-.78-2.35-.75-2.2-.35-1-.35-.94-.32-.85-.32-.75-.26-.63-.25-.5-.22-.4v-.07l-.12-.16-.78-1.22-.85-1.35-.84-1.38-.83-1.42-.82-1.45-.8-1.47-.78-1.5-.78-1.53-.77-1.57-.75-1.56-.75-1.62-.75-1.63-.73-1.65-.72-1.67-.72-1.7-.7-1.72-.7-1.73-.68-1.75-.67-1.77-.68-1.8-1.32-3.6-1.26-3.65-1.28-3.69-1.22-3.74-1.18-3.76-1.12-3.77-1.1-3.8-1.09-3.78-1-3.78-1-3.77-1-3.75-.95-3.7-.9-3.67-.88-3.6-.84-3.53-.8-3.48-.76-3.39-.74-3.3-.74-3.18-.65-3.1-.62-3-.56-2.83-.22-1-.22-1-.23-1-.25-1-.25-1-.27-1-.28-1-.28-.95-.64-2-.65-1.93-.7-1.94-.75-1.91-.76-1.92-.82-1.92-.85-1.9-.87-1.91-.9-1.92-.91-1.92-.95-1.91-1-1.92-2-3.87-2-3.9-2.05-3.93-2-4-1-2-1-2-1-2.05-1-2.07-1-2.08-.94-2.1-.91-2.13-.85-2.09-.59-1.41-.91-2.3-.55-1.44-.59-1.55-.58-1.61-.57-1.69-.53-1.66-.25-.89-.25-.85-.22-.86-.2-.89-.16-.86-.15-.92-.12-1-.07-1v-1.63l.05-.38.07-.45.1-.45v-.17l.2-.73.05-.15.15-.42.18-.42.07-.13.23-.48.29-.49.06-.11.37-.54.42-.5.08-.1.5-.53.55-.48.1-.09.63-.45.67-.4.12-.06.7-.34.73-.26h.12l.81-.21.85-.14h.84zm2.41 15.95-.8.28.64-.2.35-.18zm17.67-36.8.49.07.86.13.35.09.52.13.52.15.35.13.45.17.41.2.37.18.7.39.68.41.89.65.8.69.7.7.66.7.6.71.55.72.54.75.51.75.49.77.46.78.45.8.45.8.45.87.82 1.66.82 1.77.78 1.82.77 1.86.75 1.92.73 1.93.7 1.95.68 2 .67 2 .65 2 .62 1.95 1.16 3.73 1.07 3.52 1.75 5.93.65 2.2.48 1.53.7 2.07.74 2.13.75 2.14.76 2.13.79 2.13.81 2.15.82 2.15.82 2.14 1.71 4.33 1.75 4.33 1.8 4.35 1.84 4.37 1.88 4.37 1.9 4.4 1.93 4.41 2 4.42 3.93 8.92 4 9 2 4.5 2 4.51 1.95 4.54 1.92 4.53 1.77 4.47 1.87 4.58 1.81 4.58 1.79 4.6.86 2.34.87 2.3.85 2.31.83 2.34.82 2.31.8 2.34.78 2.33.77 2.35.75 2.33.73 2.35.7 2.35.7 2.37.67 2.35.65 2.37.63 2.38.59 2.32.3 1.1.28 1.05.33 1.08.35 1.1.37 1.12.4 1.11.42 1.15.43 1.14.47 1.16.48 1.15.5 1.19.53 1.16.54 1.17.55 1.17.58 1.18.58 1.17.6 1.16.62 1.17.63 1.15.64 1.15.65 1.13.66 1.14.67 1.11.67 1.1.68 1.09.68 1.08.7 1.05.7 1 .7 1 .7 1 .7 1 .79 1 .35.5.38.61.35.62.35.65.5 1.1.43 1.13.37 1.12.3 1.08.25 1.07.22 1 .2 1 .16 1 .29 1.86.23 1.77.25 1.76.6.3.73.48.67.55.62.62.55.66.48.74.38.78.32.82.22.83.15.87v1.75l-.13.85-.22.85-.32.81-.4.77-.46.73-.55.69-.64.61-.66.55-.74.47-.78.4-.55.25-.87.3-.56.17-.74.16h-.25l-.81.11h-2.5l-.54-.12-.48-.12-.2-.05-.47-.15-.46-.17-.19-.06-.45-.2-.41-.22-.19-.08-.76-.47-.19-.13-.66-.5-.17-.15-.58-.54-.39-.4-.56-.66-.47-.67-.4-.63-.35-.64-.32-.66-.43-1.05-.35-1.07-.28-1-.24-1-.2-1-.16-1-.15-.94-.27-1.78-.22-1.66-.25-1.63-.12-.73-.13-.69-.14-.61-.13-.55-.12-.49-.13-.36-.08-.25-.07-.15-.72-.95-.81-1.14-.82-1.15-.8-1.16-.8-1.19-.78-1.2-.79-1.23-.78-1.23-.77-1.25-.75-1.27-.75-1.27-.73-1.3-.73-1.3-.7-1.31-.7-1.32-.69-1.32-.68-1.35-.65-1.33-.63-1.35-.62-1.35-.62-1.37-.58-1.35-.57-1.35-.53-1.36-.53-1.37-.5-1.37-.49-1.35-.45-1.36-.43-1.35-.4-1.37-.38-1.35-.34-1.28-.58-2.29-.58-2.21-.62-2.22-.63-2.22-.65-2.23-.67-2.22-.7-2.23-.72-2.22-.71-2.21-.75-2.24-.77-2.21-.78-2.24-.8-2.23-.82-2.22-.82-2.23-.83-2.22-1.73-4.46-1.77-4.45-1.82-4.45-1.85-4.47-1.88-4.45-1.92-4.47-1.91-4.47-1.95-4.48-3.95-8.93-4-8.9-2-4.47-1.95-4.45-1.93-4.46-1.92-4.45-1.88-4.47-1.83-4.45-1.74-4.42-1.75-4.45-.87-2.25-.85-2.21-.83-2.24-.83-2.23-.8-2.25-.79-2.23-.76-2.24-.79-2.28-.56-1.83-.7-2.34-1.75-5.9-1-3.4-1.12-3.6-.58-1.81-.6-1.82-.62-1.83-.63-1.8-.65-1.79-.65-1.71-.65-1.69-.65-1.58-.65-1.5-.63-1.4-.65-1.28-.29-.57-.3-.53-.28-.5-.27-.45-.25-.4-.23-.34-.22-.3-.2-.06-.8-.34-.76-.43-.72-.5-.65-.57-.6-.65-.52-.68-.45-.75-.36-.8-.29-.82-.2-.85-.1-.86v-.94l.08-.86.17-.85.25-.84.35-.8.41-.76.52-.72.57-.65.63-.6.7-.52.75-.45.8-.36.82-.29.85-.2.86-.1h1.35zm-1.21 16.64h.13-.43zm-77.97-37.57h1l.33.05.34.07.31.08.32.1.33.1.3.12.32.13.3.15.3.15.28.17.29.18.28.2.27.2.25.22.25.21.25.24.23.25.22.25.21.26.2.27.19.27.18.28.17.3.15.3.15.3.11.3.14.32.1.31.08.34.08.31.07.34.05.33.05.33v2.25l-.07.7-.1.74-.23 1.23-.32 1.27-.37 1.26-.4 1.24-.51 1.31-.48 1.25-.52 1.25-.55 1.25-.58 1.27-.6 1.26-.62 1.27-.66 1.3-1.32 2.52-1.37 2.53-1.4 2.5-1.36 2.42-1.34 2.31-2.43 4.25-1 1.84-.92 1.66-.17.3-.16.29-.2.26-.2.29-.2.25-.24.25-.21.25-.25.23-.25.22-.27.21-.27.2-.26.2-.29.19-.28.16-.3.15-.3.15-.32.14-.31.11-.32.1-.32.1-.33.09-.32.06h-3l-.32-.07-.33-.08-.32-.08-.32-.12-.31-.12-.32-.13-.3-.13-.3-.15-.28-.17-.29-.18-.28-.19-.27-.21-.26-.2-.25-.24-.25-.21-.24-.25-.21-.25-.22-.25-.2-.27-.18-.28-.19-.29-.16-.28-.17-.3-.15-.3-.13-.32-.12-.31-.1-.32-.1-.32-.08-.33-.07-.32-.05-.33-.05-.33v-2.01l.05-.33.07-.32.08-.33.1-.32.1-.32.12-.31.13-.32.14-.3.16-.3 1-1.77 1.12-2 2.46-4.3 1.3-2.28 1.34-2.34 1.3-2.35 1.27-2.35 1.22-2.31.57-1.1.53-1.1.5-1 .47-1 .43-1 .4-.93.33-.87.29-.8.23-.72.18-.63.14-.5.08-.45v-1.37l.05-.33.08-.32.07-.33.1-.32.12-.31.11-.32.14-.3.13-.32.17-.28.16-.3.19-.28.18-.27.22-.27.2-.26.23-.25.23-.24.24-.23.25-.23.26-.2.27-.2.28-.2.29-.17.28-.17.3-.16.3-.14.32-.13.31-.12.32-.1.32-.1.33-.08.33-.07h1.34z"/><path d="m444.32 609.3 1.1.07 1.11.11 1.12.15 1.12.22 1.15.27 1.13.35 1.13.41 1.14.5 1.11.57 1 .63.6.4.52.39.51.41.5.42.49.45.46.47.45.46.44.5.41.52.4.53.39.54.36.55.35.56.37.64.58 1.13.54 1.22.48 1.26.42 1.3.36 1.32.32 1.38.27 1.4.23 1.45.17 1.5.13 1.54.1 1.6.07 1.63v2.6l-.06.48-.1.49-.14.48-.15.47-.18.46-.2.45-.23.44-.27.41-.28.4-.3.4-.34.37-.35.35-.36.32-.39.3-.41.28-.42.27-.43.21-.45.22-.47.17-.47.15-.48.11-.48.1-.49.07h-2l-.48-.09-.49-.11-.46-.14-.47-.16-.45-.2-.45-.22-.42-.25-.41-.27-.4-.3-.39-.31-.35-.34-.33-.36-.32-.39-.3-.4-.26-.41-.25-.42-.22-.45-.18-.45-.17-.47-.13-.48-.1-.48-.09-.49v-2.38l-.05-1.23-.07-1.15-.1-1-.1-1-.15-.88-.15-.8-.15-.7-.18-.63-.17-.54-.18-.45-.17-.38-.18-.37-.05-.08-.07-.12-.06-.1-.07-.08-.05-.07-.05-.06-.07-.07h-.1l-.17-.1-.11-.06-.15-.07-.19-.07-.23-.06-.28-.07-.34-.07-.38-.05h-3.56l-.72.05-.75.08-.78.1-.8.1-1.78.28-1.87.32-2 .37-4.25.81-2.25.44-2.35.4-2.4.4-1.25.18-1.25.17-1.28.16-1.28.14-1.32.13-1.32.12-1.33.08-1.37.07h-3.65l-.68.09-.82.13-.9.15-1 .22-1.05.21-1.1.27-2.35.58-2.41.62-2.45.65-2.4.62-2.32.56-1.15.25-1.12.24-1.11.18-1.14.17-1.11.1h-1.4l-.77-.05-.88-.11-.55-.12-.47-.12-.45-.13-.18-.07-.39-.15-.38-.15-.38-.18-.15-.08-.35-.2-.34-.2-.33-.24-.33-.23-.12-.1-.37-.32-.36-.33-.34-.37-.31-.38-.09-.1-.26-.37-.24-.35-.21-.38-.22-.38-.17-.4-.06-.14-.15-.4-.14-.4-.11-.4-.09-.41-.08-.42v-.13l-.05-.47v-1.57l.05-.48.07-.48.12-.47.05-.18.1-.37.11-.37.13-.56.08-.2.17-.38.18-.38.28-.54.49-.75.48-.65.37-.45.31-.38.35-.35.37-.33.38-.32.4-.28.42-.27.43-.23.44-.22.46-.18.47-.17.47-.13.48-.1.5-.07h1.97l.48.07.48.1.49.13.46.15.45.18.45.22.44.23.41.27.1.08.74-.18 2.25-.58 2.43-.64 2.53-.65 2.55-.65 1.32-.3 1.3-.28 1.28-.27 1.27-.23 1.28-.18 1.29-.17 1.23-.1h4.48l1.07-.09 1.07-.08 1.05-.1 1.06-.12 1.09-.13 1.06-.15 1.05-.15 2.17-.35 2.13-.38 2.15-.4 4.25-.82 2.12-.4 2.12-.37 2.08-.31 1.07-.15 1.06-.14 1.07-.1 1.05-.1 1.07-.06h2.16z"/><path d="m417.2 620.8h1.13l.39.08.36.08.35.12.37.12.35.15.35.15.33.18.34.18.31.2.32.22.3.23.28.25.29.25.26.27.25.28.25.3.22.3.22.32.2.32.18.33.17.33.15.35.15.35.11.37.1.37.09.36.08.37v1.92l.15 1.71.22 2.4.3 2.94.37 3.35.41 3.65.47 3.81.47 3.87.5 3.82.5 3.63.5 3.33.46 2.94.2 1.21.2 1.09.19.86.05.24.11.2.15.35.15.35.14.35.11.36.1.37.07.37.07.38.05.37v1.51l-.05.39-.05.36-.06.39-.1.36-.1.37-.14.35-.13.35-.17.35-.16.33-.19.34-.2.31-.21.32-.24.3-.25.3-.25.27-.26.26-.29.27-.28.23-.32.24-.3.21-.33.2-.33.19-.34.16-.35.15-.35.15-.36.12-.35.1-.39.1-.35.07-.37.05h-2.18l-.37-.07-.36-.07-.33-.09-.33-.1-.34-.11-.31-.12-.32-.15-.32-.15-.3-.17-.3-.18-.3-.18-.28-.2-.27-.22-.06-.07-.29-.23-.26-.25-.25-.25-.25-.27-.22-.28-.23-.3-.2-.3-.07-.1-.17-.25-.13-.25-.13-.25-.14-.25-.23-.48-.27-.72-.21-.67-.29-1.05-.25-1.11-.25-1.22-.25-1.32-.25-1.43-.5-3.15-.51-3.5-.52-3.77-.5-3.91-.5-4-.47-3.9-.43-3.73-.37-3.44-.31-3.06-.25-2.59-.15-2-.05-.88v-1.73l.05-.37.07-.38.08-.37.1-.37.12-.36.13-.35.15-.35.17-.34.18-.33.2-.33.2-.32.24-.3.23-.3.25-.28.27-.27.26-.27.3-.25.3-.23.3-.22.32-.2.33-.2.34-.16.35-.17.35-.15.35-.13.36-.1.37-.1.37-.09.38-.06h1.13z"/><path d="m401.65 620.8h.4l.42.07.4.07.4.1.38.11.4.12.37.17.38.16.37.19.35.2.33.23.33.23.32.25.32.29.28.28.28.3.27.3.25.33.23.34.22.35.2.35.17.36.16.39.15.38.12.38.1.4.1.4v.4l.05.42v2.97l-.07 2.33-.12 2.4-.16 2.47-.2 2.53-.25 2.55-.29 2.58-.33 2.6-.37 2.59-.41 2.58-.47 2.53-.48 2.49-.29 1.26-.28 1.22-.28 1.2-.3 1.18-.32 1.17-.33 1.15-.34 1.13-.31.95v.25l-.05.25-.05.29-.13.93-.12 1.07-.1 1.2-.08 1.26-.15 2.59-.15 2.33-.09 1.13-.13 1.12-.1.52-.07.28-.06.27-.07.26-.05.17-.12.33-.11.32-.14.33-.15.32-.16.3-.17.3-.05.1-.22.32-.21.31-.24.3-.25.3-.26.29-.27.26-.3.25-.3.25-.3.24-.33.2-.32.2-.35.18-.36.16-.37.17-.37.13-.36.12-.39.1-.38.08-.38.07-.4.05h-1.57l-.4-.05-.38-.07-.36-.08-.39-.1-.36-.12-.37-.13-.35-.15-.35-.17-.33-.18-.34-.2-.33-.2-.3-.23-.3-.25-.29-.25-.26-.25-.25-.27-.25-.28-.24-.28-.21-.3-.21-.35-.22-.35-.18-.37-.17-.37-.08-.16-.12-.29-.1-.28-.1-.3-.15-.5-.15-.6-.08-.4-.07-.4-.05-.42v-2.03l.08-.4.08-.4.12-.4.13-.38.15-.39.12-.26v-.37l.16-2.68.1-1.49.14-1.51.15-1.54.21-1.48.15-.82.15-.78.22-.82.2-.71.32-1 .26-.87.27-.9.25-.93.25-1 .23-1 .24-1 .23-1 .43-2.19.4-2.23.37-2.3.33-2.32.3-2.31.27-2.34.22-2.3.18-2.26.13-2.2.1-2.12.07-2v-2.81l.05-.4.08-.4.08-.4.12-.4.13-.39.15-.38.17-.37.2-.36.2-.35.22-.35.25-.34.25-.31.26-.3.29-.3.3-.29.31-.25.34-.25.33-.23.35-.22.35-.2.37-.18.38-.17.38-.13.39-.13.4-.1.4-.09.4-.06h1.23z"/><path d="m489.6 554.8h2l1 .07 1 .08 1 .1 1 .14 1 .15 1 .18 1 .22 1 .25 1 .26 1 .32 1 .37.95.4.95.45.95.5.94.56.9.64.9.68.86.77.82.81.77.9.71 1 .67 1 .53 1 .5 1 .42.95.4.93.37.95.35 1 .31 1 .3 1 .27 1 .23 1 .22.95.18 1 .17 1 .13 1 .1 1 .09 1 .06.95v4.81l-.1.94-.1.91-.13.92-.17.92-.17.9-.2.9-.21.9-.24.88-.26.87-.27.86-.3.87-.32.85-.33.85-.35.83-.37.84-.38.81-.4.8-.42.8-.43.8-.43.79-.47.76-.48.77-.49.75-.5.75-.51.73-.54.74-.55.71-.55.7-.56.7-.59.69-.58.68-.62.67-.6.65-.63.65-.65.66-1.75.76-1.35 1.2-1.37 1.15-1.42 1.12-1.45 1.08-1.48 1-1.52 1-1.53.93-1.58.89-1.59.85-1.63.78-1.63.73-1.67.7-1.68.64-1.67.56-.9.29-.85.25-.88.23-.87.23-.87.2-.88.2-.88.19-.89.16-.88.15-.88.14-.9.11-.89.1-.9.09-.9.06h-5.4l-.9-.05-.91-.08-.9-.1-.9-.14-.9-.13-.9-.17-.89-.16-.9-.22-.88-.22-.9-.25-.88-.26-.87-.29-.88-.31-.87-.34-.87-.36-.85-.39-.85-.4-.85-.43-.83-.45-.82-.47-.81-.5-.72-.46-.65-.47-.6-.52-.53-.58-.5-.62-.42-.66-.37-.72-.28-.73-.23-.77-.14-.77-.08-.8v-.78l.08-.8.15-.77.24-.76.3-.74.36-.7.44-.66.48-.62.55-.58.6-.52.65-.45.68-.4.74-.33.75-.25.76-.19.79-.11h1.58l.78.12.77.18.75.27.73.33.69.4.51.34.45.28.45.25.45.25.47.23.45.22.47.22.48.18.48.2.49.17.48.16.5.15.5.14.52.13.51.12.52.1.52.1.53.08.53.07.55.06h.54l.55.05h3.4l.58-.05h.58l.59-.07.58-.08.6-.08.58-.1.6-.12.59-.12.6-.13.6-.13.6-.17.6-.17.58-.16.57-.19 1.23-.41 1.18-.45 1.19-.49 1.16-.53 1.17-.55 1.13-.62 1.14-.63 1.11-.67 1.09-.7 1.06-.75 1-.76 1-.79 1-.83.95-.85.95-.9.42-.42.43-.45.42-.45.41-.46.4-.45.4-.49.39-.46.38-.47.37-.48.35-.5.33-.49.33-.48.34-.5.3-.48.3-.5.28-.5.27-.5.26-.5.25-.52.24-.5.23-.52.2-.5.22-.51.18-.5.17-.52.16-.52.15-.5.21-.48.13-.52.12-.52.1-.5.08-.51.07-.5.06-.52.05-.52v-3.1l-.05-.51-.07-.52-.06-.53-.09-.52-.1-.52-.11-.53-.14-.53-.15-.54-.16-.55-.19-.53-.2-.55-.21-.55-.24-.55-.25-.55-.23-.47-.05-.11v-.05h-.05l-.09-.06-.11-.09-.17-.08-.18-.12-.24-.1-.28-.11-.32-.14-.36-.11-.4-.12-.44-.1-.48-.1-.5-.1-.55-.08-.57-.09-.6-.06h-.63l-.65-.05h-5.13l-1.59.08-1.61.13-1.65.15-1.67.17-1.67.2-1.66.22-1.64.21-3.25.45-3.06.44-1.49.21-1.45.17-1.38.17-1.35.11-1.33.09h-24.45l-4.59.06-4.75.12-4.86.15-5 .18-2.52.12-2.53.13-2.57.15-2.58.15-2.59.19-2.58.2-2.6.2-2.6.23-2.6.25-2.6.27-2.58.28-2.59.32-2.56.33-2.55.35-2.54.38-2.51.4-2.49.42-2.46.45-2.44.48-2.4.5-2.35.52-2.33.57-2.27.56-2.27.55-2.18.63-2.14.67-2.1.7-1 .35-1 .35-1 .38-1 .37-.95.38-.93.4-.93.39-.9.41-.89.4-.86.42-.84.42-.83.43-.82.43-.78.45-.77.44-.75.45-.73.46-.7.47-.68.47-.67.46-.63.49-.64.46-.6.5-.56.49-.55.48-.54.5-.51.5-.49.5-.46.52-.45.5-.42.51-.4.52-.22.28.05.09.15.26.19.32.21.33.27.37.3.38.33.4.37.44.4.45.43.45.47.46.48.47.54.48.53.49.57.48.58.48.62.5.61.49.62.46 1.35 1 1.35 1 1.4.91 1.4.9 1.42.85 1.38.82 1.38.75 1.32.72 1.28.65 1.2.56 1.14.52 1 .43.88.35.7.25.57.17h5.58l2.6-.07 2.84-.1 5.91-.2 3-.08h7.95l1.16.07 1.17.11 1.1.17.7.13.7.17.82.27.5.2.46.21.45.24.15.08.6.37.59.43.11.08.54.49.5.51.45.57.06.1.42.63.35.65.3.69.23.71v.1l.15.64.1.65.05.63v.65l-.05.65v.12l-.1.66-.16.67-.22.63-.27.64v.11l-.38.7-.43.65-.5.62-.55.57-.62.51-.65.45-.7.39-.72.31-.75.25-.78.19-.78.1h-.8l-.79-.05-.78-.11-.77-.2-.75-.29-.71-.33-.27-.17h-6.68l-2.78.07-5.85.2-2.88.1-2.74.08h-6.9l-1.07-.08-1.05-.17-.78-.17-.73-.2-1.24-.36-1.31-.49-1.37-.53-1.42-.6-1.46-.67-1.52-.73-1.57-.8-1.61-.85-1.65-.92-1.67-1-1.68-1-1.69-1.08-1.7-1.12-1.66-1.17-1.64-1.2-.83-.63-.82-.63-.8-.64-.78-.66-.78-.67-.75-.68-.75-.69-.74-.7-.71-.71-.7-.74-.69-.75-.66-.76-.64-.79-.61-.8-.6-.83-.57-.87-.53-.88-.52-.92-.47-1-.43-1-.38-1-.32-1.1-.27-1.13-.28-1.16-.08-1.23v-1.27l.11-1.18.12-.74.13-.65.17-.63.18-.63.24-.64.25-.61.28-.6.3-.6.33-.57.34-.53.66-1 .67-.92.7-.9.72-.87.73-.85.77-.83.78-.8.82-.8.81-.77.85-.75.87-.73.88-.72.9-.7.92-.68.95-.67.95-.65 1-.63 1-.62 1-.6 1-.58 1-.58 1-.55 1.06-.55 1.07-.54 1.07-.51 1.1-.52 1.1-.48 1.11-.49 1.14-.46 1.13-.47 1.15-.45 1.17-.43 1.18-.42 1.2-.43 2.37-.79 2.43-.76 2.48-.72 2.5-.68 2.54-.64 2.55-.58 2.59-.59 2.61-.55 2.64-.5 2.66-.5 2.67-.45 2.68-.43 2.7-.4 2.72-.37 2.72-.35 2.73-.33 2.72-.3 2.73-.28 2.72-.27 2.71-.23 2.72-.22 2.7-.2 2.68-.18 2.67-.17 2.67-.15 2.63-.15 2.62-.12 5.11-.2 5-.15 4.87-.11 4.68-.07h24.7l.95-.09 1.12-.13 1.25-.15 1.36-.18 3-.44 3.32-.46 1.75-.24 1.8-.23 1.83-.22 1.88-.18 1.9-.18 1.92-.15 1.93-.1 1.95-.07h1.92z"/><path d="m389.85 479.05h.5l.52.07.5.1.48.13.48.15.47.2.47.22.45.25.43.27.4.3.4.31.37.35.36.37.32.38.32.44.26.4.24.41.21.42.2.45.15.43.15.47.1.47.1.46v2.09l-.06.51-.1.52-.14.5-.15.5-.2.48-.21.49-.25.45-.15.4-.35 1-.4 1.18-.43 1.35-.47 1.45-.45 1.52-.37 1.56-.4 1.52-.35 1.45-.3 1.35-.1.55-.08.51-.07.47v3.45l-.07 2.77-.13 2.85-.18 2.86-.24 2.9-.26 2.92-.3 2.93-.35 2.94-.39 2.93-.41 2.92-.45 2.88-.47 2.87-.5 2.81-.53 2.77-.55 2.72-.54 2.48-.06.32v.3l-.27.43v5.28l.07 1.85.11 3.72.05 1.8v2.65l-.05.9-.11 1-.12.7-.1.42-.1.4-.1.35-.15.47-.18.46v.15l-.2.42-.22.42-.07.11-.21.37-.24.35-.25.35-.08.1-.27.32-.28.31-.3.3-.32.27-.06.08-.35.27-.35.27-.39.23-.38.22-.38.2h-.09l-.45.2-.46.17-.47.13-.47.12-.48.08h-.1l-.47.06h-2l-.48-.09-.48-.11-.47-.14-.55-.16-.11-.05-.45-.19-.44-.23-.43-.23-.12-.09-.31-.2-.3-.21-.29-.22-.13-.12-.3-.25-.3-.28-.35-.37-.58-.66-.5-.7-.3-.44-.27-.45-.23-.46-.22-.47-.17-.5-.15-.5-.11-.52-.09-.51-.05-.52v-1l.05-.52.09-.51.11-.52.14-.5.18-.5.2-.47.25-.46.27-.45.28-.44.17-.23-.12-3.45-.07-2v-6l.07-1 .1-1 .15-1 .18-.92.55-2.6.52-2.52.48-2.56.47-2.64.45-2.66.41-2.7.39-2.72.36-2.73.32-2.74.28-2.71.25-2.69.2-2.66.17-2.62.12-2.55.08-2.52v-3.35l.09-.93.1-.92.11-.9.15-.88.19-.93.38-1.77.43-1.83.49-1.82.51-1.8.52-1.75.53-1.65.5-1.55.49-1.4.43-1.23.42-1.09.4-1 .35-.71.25-.44.23-.36.25-.34.25-.33.28-.33.31-.35.35-.32.37-.3.38-.26.39-.27.41-.23.42-.2.43-.19.44-.16.5-.15.49-.12.51-.08.5-.05h.5zm24.42-1.7h.48l.47.07.48.08.45.13.47.14.45.18.43.2.42.22.41.25.4.26.39.3.35.32.35.33.35.39.28.35.27.38.26.38.22.4.22.42.18.42.15.43v.07l.13.45.12.45.08.45.08.56.07.92v2.32l-.06.48-.09.48-.13.49-.15.46-.17.47-.2.42-.06.71-.32 3.37-.27 3.43-.11 1.54-.07 1.35-.05 1v3.58l-.05 1.47-.06 1.43-.09 1.43-.1 1.44-.23 2.76-.28 2.72-.3 2.68-.32 2.65-.33 2.59-.32 2.55-.32 2.53-.28 2.48-.25 2.49-.22 2.46-.08 1.2-.07 1.22-.06 1.22-.05 1.21v4.04l-.06.78-.09.83-.18 1.57-.22 1.65-.26 1.65-.27 1.63-.5 3-.13.82.05.25.06.48.05.5v.98l-.05.49-.07.5-.1.48-.13.47-.15.46-.18.47-.25.58-.24.47-.2.37-.2.35-.11.18-.25.38-.29.37-.3.37-.05.05-.28.3-.3.3-.32.26-.33.27-.35.25-.42.26-.43.24-.44.21-.46.19-.47.15-.47.13-.48.1-.48.07h-1.99l-.49-.08-.48-.1-.47-.12-.46-.16-.47-.19-.43-.2-.44-.25-.41-.25-.4-.3-.39-.3-.35-.34-.33-.33-.32-.37-.3-.38-.28-.38-.24-.42-.23-.42-.2-.45-.18-.45-.14-.45v-.1l-.13-.48-.1-.48-.07-.49v-1.98l.13-1.15.17-1.23.43-2.65.52-3 .25-1.5.21-1.47.19-1.36.15-1.22.05-.48v-3.75l.05-1.43.06-1.42.09-1.42.1-1.4.23-2.73.28-2.7.3-2.67.32-2.61.33-2.59.32-2.56.32-2.54.28-2.5.25-2.5.22-2.5.08-1.23.08-1.23v-1.25l.05-1.24v-3.63l.07-1.37.1-1.53.12-1.7.28-3.62.33-3.58.17-1.67.17-1.48.18-1.32.2-1.18.1-.5.12-.43.15-.45.05-.15.16-.42.19-.42.2-.41.23-.39.23-.38.27-.39.3-.35.32-.35.33-.31.35-.3.37-.29.4-.26.38-.24.42-.21.41-.2.44-.17.45-.15.45-.12.47-.09.48-.08h.95zm26.58 3.52.5.05.48.08.49.12.46.15.47.16.45.2.43.22.44.25.41.28.39.3.38.32.35.35.33.35.32.38.28.4.27.42.25.43.2.45.2.45.15.47.13.48.1.49.09.48.05.5v6l.05 2.78.08 2.82.1 2.83.12 2.87.15 2.87.18 2.9.22 2.9.25 2.91.26 2.92.32 2.92.35 2.9.38 2.91.42 2.9.45 2.89.65 3.71.38 2.25.42 2.45.4 2.57.37 2.6.18 1.33.15 1.32.15 1.3.12 1.3.1 1.28.06 1.25v2.49l-.05 1.25-.1 1.18-.1.72-.12.68-.17.7-.2.77-.28.8-.23.53-.15.33-.19.35-.11.2-.22.4-.27.39-.11.18-.22.3-.23.28-.25.29-.14.15-.3.31-.31.29-.34.28-.15.12-.38.3-.42.26-.41.25-.17.09-.35.18-.37.17-.36.15-.39.13h-.16l-.39.12-.38.08-.38.07-.39.06h-2.31l-.42-.07-.43-.08h-.22l-.35-.1-.35-.1-.35-.12-.23-.08-.44-.17-.41-.18-.25-.14-.23-.14-.33-.19-.52-.33-.75-.53-.5-.4-.36-.32-.37-.35-.33-.37-.3-.38-.3-.4-.25-.42-.25-.43-.2-.45-.19-.45-.16-.48-.14-.47-.1-.48-.06-.5v-1.99l.08-.48.1-.49.13-.48.15-.47.19-.45.21-.45.25-.43.27-.42.28-.4.32-.38.33-.37.35-.33.37-.33.18-.14v-.28l-.08-1-.12-1.09-.13-1.11-.15-1.15-.35-2.39-.37-2.38-.4-2.32-.37-2.21-.66-3.82-.5-3.12-.45-3.11-.42-3.12-.37-3.12-.33-3.11-.28-3.1-.27-3.1-.22-3.07-.2-3.07-.16-3-.14-3-.1-3-.08-2.95v-9.12l.05-.48.06-.5.1-.49.14-.46.15-.47.18-.47.22-.45.15-.38.27-.42.28-.4.32-.38.33-.37.35-.35.37-.31.4-.3.4-.29.43-.25.43-.23.45-.2.47-.17.47-.15.48-.11.48-.09.49-.06h1zm20.5-5.27h.65l.48.07.48.08.47.12h.13l.4.12.42.15.4.15.12.07.35.16.33.17.32.18.13.09.4.26.38.29.14.1.3.26.3.27.38.37.53.6.52.65.63 1 .54 1 .45 1 .4 1 .35 1 .31 1 .32 1 .28 1 .29 1.1.28 1.14.27 1.18.26 1.25.5 2.53.5 2.7.49 2.85.46 3 .45 3 .45 3.14.44 3.18.41 3.23.42 3.24.38 3.25.75 6.35.69 6.06.61 5.6.55 4.94.49 4.11.2 1.64.18 1.35.15 1 .13.72.07.48.05.49v1.45l-.07.48-.1.48-.12.47-.15.45-.18.45-.2.45-.23.43-.25.4-.27.4-.3.39-.32.36-.35.35-.35.32-.38.3-.4.28-.42.27-.41.23-.44.2-.45.19-.46.15-.47.13-.47.1-.48.07h-1.96l-.5-.09-.48-.1-.47-.12-.45-.15-.45-.18-.45-.2-.43-.24-.4-.25-.4-.26-.38-.3-.37-.32-.35-.35-.32-.35-.3-.38-.28-.4-.27-.42-.23-.42-.2-.43-.18-.45-.15-.47-.14-.46-.1-.47-.18-1-.2-1.35-.2-1.55-.23-1.8-.49-4.2-.56-5-.62-5.6-.68-6-.74-6.29-.38-3.16-.4-3.17-.4-3.15-.42-3.1-.43-3-.43-2.91-.45-2.79-.45-2.65-.45-2.46-.45-2.29-.24-1-.21-1-.22-.91-.22-.84-.2-.73-.2-.67-.18-.53-.35-.33-.33-.35-.32-.39-.28-.38-.27-.4-.23-.43-.22-.44-.2-.43-.17-.47-.13-.46-.12-.47-.08-.48-.05-.47v-1.47l.07-.46.08-.49.1-.46.15-.47.17-.47.18-.43.22-.43.25-.42.26-.42.29-.38.31-.37.34-.35.35-.33.38-.32.38-.28.4-.27.44-.25.43-.21.43-.19.47-.16.45-.14.48-.11.47-.09.48-.05h.49zm-1.58 16.58.6.05-.49-.06-.38-.07z"/><path d="m459.68 356.52 1.74.05 1.71.08 1.72.13 1.68.15 1.67.2 1.65.25 1.63.29 1.6.33 1.6.38 1.54.44.81.25.77.26.77.27.75.28.76.3.75.32.74.35.63.3.35.18.35.2.15.09.52.35.5.38.13.12.38.33.35.37.14.13.28.32.25.31.33.44.45.7.39.66.3.64.28.65.38 1.05.34 1.1.26 1.06.25 1.1.2 1.1.19 1.12.16 1.13.17 1.17.13 1.17.14 1.21.2 2.37.23 2.4.13 2.31.12 2.19.08 2 .05 1.8v5.73l.06.87.17 2 .23 2.22.3 2.42.34 2.6.38 2.78.42 2.9.88 6.22.95 6.55.47 3.4.45 3.41.43 3.47.4 3.48.37 3.47.33 3.45.13 1.75.14 1.7.11 1.72.1 1.7.07 1.68.07 1.67.05 1.65v4.85l-.05 1.58-.07 1.57-.1 1.53-.13 1.52-.17 1.5-.2 1.48-.25 1.45-.26 1.43-.34 1.42-.36 1.38-.44 1.39-.46 1.28-.3.72-.29.66-.31.65-.32.65-.35.65-.38.64-.4.63-.44.62-.45.61-.48.6-.5.59-.53.55-.55.51-.55.5-.57.47-.57.45-.58.42-.58.4-.62.38-.6.37-.62.33-.66.37-1.22.58-1.28.55-1.32.52-1.33.46-1.37.42-1.38.38-1.42.35-1.43.32-1.47.3-1.48.27-1.5.23-1.54.22-1.55.18-1.56.17-1.59.15-1.6.13-1.61.12-1.65.1-1.65.08-1.65.07-1.69.05h-10.18l-3.42-.06-3.38-.12-3.37-.13-3.31-.15-3.27-.19-3.2-.18-6.08-.38-5.62-.37-5-.3-2.22-.13-2-.09-1.76-.05h-13.6l-1.62.07-1.62.08-1.6.1-1.56.13-1.59.15-1.55.2-1.56.22-1.55.25-1.62.3-9.68 1.9-.7.12-.7.05h-.72l-.7-.08-.68-.12-.6-.16-.66-.25-.64-.3-.61-.35-.59-.42-.53-.45-.27-.25-.21.35-.42.57-.47.53-.51.49-.55.45-.59.4-.61.33-.65.3-.67.23-.68.19-.69.11-.71.05h-1.34l-.6-.09-.37-.05-.36-.08-.59-.13-.91-.29-.87-.35-.8-.41-.75-.47-.68-.48-.62-.52-.55-.53-.5-.58-.45-.53-.42-.53-.43-.62-.58-1-.55-1.05-.47-1-.38-1-.34-1-.3-1-.25-1-.23-1-.18-1-.17-1-.15-1-.12-1-.1-1-.06-1-.07-.95v-5.3l.06-.81.09-.8.1-.8.11-.65.22-1.2.17-1.07.15-1.12.13-1.13.1-1.18.07-1.2.06-1.24v-6.52l-.07-1.37-.08-1.4-.1-1.43-.1-1.42-.27-2.95-.31-3-.35-3-.39-3.09-.81-6.3-.82-6.36-.4-3.22-.38-3.22-.34-3.21-.28-3.2-.12-1.64-.11-1.6-.09-1.6-.08-1.6v-6.33l.05-1.58.06-1.57.09-1.57.13-1.55.17-1.55.18-1.53.23-1.53.29-1.52.3-1.52.36-1.5.4-1.5.45-1.48.5-1.45.57-1.45.6-1.43.73-1.55.3-.52.22-.37.25-.35.17-.25.23-.3.25-.3.43-.5.7-.68.7-.6.7-.52.69-.45.7-.4.68-.36.67-.32.66-.28.67-.27.67-.25.71-.23 1.3-.39 1.37-.33 1.37-.3 1.4-.27 1.41-.23 1.44-.2 1.43-.17 1.45-.16 1.45-.14 1.45-.11 1.45-.1 1.42-.09 1.43-.06 2.72-.1 2.56-.07h8.59l1.11-.05 1.17-.05 1.22-.08 1.26-.1 1.3-.12 1.37-.15 1.4-.17 1.43-.18 1.45-.18 3.07-.45 3.18-.52 3.29-.55 3.38-.6 3.47-.62 7.16-1.31 3.65-.67 3.7-.67 3.74-.65 3.73-.63 3.77-.58 3.73-.55 1.88-.27 1.87-.25 1.87-.22 1.86-.21 1.85-.2 1.85-.17 1.84-.17 1.81-.13 1.82-.12 1.8-.08 1.8-.07h3.53zm-3.3 16.65h-1.51l-1.55.05-1.59.08-1.61.1-1.64.12-1.65.15-1.68.15-1.7.18-1.72.2-1.73.22-1.75.22-1.75.25-3.57.51-3.6.57-3.61.62-3.64.63-3.63.65-3.62.65-7.16 1.32-3.54.65-3.48.6-3.42.58-3.35.53-3.26.49-1.62.21-1.6.2-1.57.19-1.53.16-1.52.14-1.5.13-1.48.08-1.45.09h-10.05l-2.37.05-2.5.1-1.25.06-1.28.07-1.27.08-1.25.12-1.23.1-1.2.13-1.15.15-1.12.15-1 .17-1 .18-.89.2-.76.19-.72.21h-.17l-.08.22-.35.88-.3.92-.3.95-.27 1-.23 1-.22 1.05-.2 1.08-.16 1.12-.15 1.15-.12 1.17-.1 1.21-.08 1.24-.05 1.26v6.69l.07 1.41.08 1.42.1 1.43.12 1.45.26 3 .32 3 .35 3.06.38 3.09.82 6.31.82 6.35.4 3.2.36 3.2.34 3.2.28 3.19.13 1.6.1 1.58.1 1.58.07 1.59.05 1.58v4.68l-.05 1.55-.06 1.55-.1 1.54-.14 1.53-.16 1.52-.2 1.51-.24 1.5-.25 1.35v5.17l.05.65.07.65.08.65.09.62.1.6.11.58.12.53.12.49.1.33h.06l.62.35.58.4.55.45.37.33.3-.47.42-.55.48-.53.52-.48.56-.44.59-.38.63-.33.65-.29.67-.21.68-.17 9.7-1.71 1.88-.35 1.94-.31 1.91-.27 1.89-.23 1.88-.19 1.87-.15 1.85-.11 1.83-.1 1.83-.07 1.82-.05h12.68l2 .06 2.2.1 2.35.12 5.1.32 5.61.36 6 .39 3.1.18 3.18.17 3.2.15 3.25.13 3.23.1 3.24.07h9.56l1.53-.05 1.5-.05 1.48-.08 1.45-.09 1.44-.1 1.4-.11 1.36-.12 1.34-.15 1.28-.17 1.25-.16 1.22-.2 1.15-.2 1.1-.22 1.06-.23 1-.25.93-.27.88-.27.8-.28.73-.32.67-.28.61-.32.22-.1.23-.13.27-.17.18-.14.18-.11.15-.12.14-.1.11-.1.1-.08.07-.07.05-.05.05-.07.07-.06.06-.1.09-.12.08-.13.1-.15.1-.19.1-.2.1-.23.12-.25.08-.22.23-.66.22-.69.22-.76.18-.85.18-.9.17-1 .13-1.05.12-1.1.12-1.16.06-1.22.07-1.25v-6.92l-.07-1.48-.07-1.52-.08-1.53-.12-1.57-.11-1.58-.14-1.58-.3-3.27-.35-3.28-.38-3.32-.42-3.33-.43-3.34-.47-3.3-.91-6.5-.9-6.21-.44-3-.38-2.87-.37-2.75-.31-2.61-.25-2.49-.2-2.31-.09-1.14-.05-1.1v-5.07l-.05-1.67-.07-1.86-.1-2-.13-2.12-.15-2.11-.2-2.12-.1-1-.12-.95-.12-.92-.13-.85-.12-.78-.06-.3-.44-.12-.45-.15-1-.28-1.05-.25-1.1-.24-1.15-.2-1.18-.16-1.25-.15-1.3-.14-1.33-.08-1.39-.08h-4.35zm-108.21 111.18h-.24z"/><path d="m422.05 401.57 1.3.05 1.22.11.71.09.67.11.68.14.74.18.76.25.84.32.51.26.39.2.38.22.18.12.3.18.29.2.26.22.17.13.25.22.25.21.25.25.22.25.13.14.25.3.25.31.23.34.2.33.1.15.19.32.16.33.07.17.88.26 1.14.39 1.08.43 1.08.45 1 .48 1 .52 1 .55.95.6.91.62.89.65.85.7.81.71.79.75.73.79.68.8.67.85.6.85.57.88.53.9.47.92.43 1 .4.93.33 1 .3 1 .25 1 .22 1 .18 1 .14 1 .08 1 .07 1v1.93l-.05 1-.09 1-.11.95-.15 1-.17.95-.2.93-.23.93-.25.94-.29.9-.3.91-.33.9-.35.9-.38.89-.4.88-.42.87-.43.85-.47.85-.48.85-.5.83-.54.82-.53.81-.57.8-.58.8-.6.79-.62.76-.63.77-.65.73-.67.74-.7.73-.7.7-.71.7-.75.68-.75.67-.77.65-.78.65-.8.62-.82.6-.83.58-.85.58-.87.55-.88.54-.89.51-.91.49-.92.48-.95.45-.95.42-.95.41-1 .39-1 .35-1 .33-1 .3-1 .28-1 .25-1.05.22-1.06.18-1.07.17-1.08.13-1.1.09-1.09.06h-3.35l-1.11-.08-1.14-.12-1.13-.15-1.13-.2-1.14-.23-1.13-.27-1.13-.32-1.14-.36-1.11-.39-1.12-.45-1.12-.46-1.11-.54-1.1-.55-1.1-.6-1.09-.65-1.06-.68-1.07-.72-1.07-.76-1-.8-1-.85-1-.89-1-.93-1-1-.7-.73-.68-.83-.62-.85-.57-.89-.51-.9-.44-.91-.4-.92-.33-.93-.28-.94-.25-.91-.2-.94-.15-.93-.12-.92-.08-.91-.05-.9v-2.69l.05-.88.08-.87.12-.88.12-.87.15-.85.15-.86.18-.85.18-.84.22-.83.23-.88.47-1.62.53-1.62.57-1.6.62-1.56.65-1.55.66-1.5.7-1.47.7-1.42.74-1.38.75-1.33.75-1.27.75-1.22.76-1.16.77-1.12.78-1.05.79-1 .81-.93.85-.9.64-.62.66-.55.65-.5.67-.47.67-.41.66-.4.69-.37.68-.35.68-.32.72-.33 1.35-.53 1.42-.52 1.43-.45 1.45-.43 1.45-.37 1.47-.35 1.48-.3 1.47-.27 1.45-.21 1.45-.2 1.41-.15 1.4-.14 1.37-.08h1.33zm-10.18 17.91-1 .27-1 .28-.9.3-.85.3-.78.32-.29.13-.28.14-.27.13-.21.12-.19.11-.13.09-.1.06-.21.24-.34.38-.4.52-.46.63-.52.73-.52.8-.55.89-.56.95-.55 1-.57 1.05-.55 1.1-.53 1.11-.5 1.15-.49 1.17-.46 1.17-.42 1.16-.38 1.15-.34 1.19-.15.51-.13.55-.12.55-.11.54-.1.51-.09.5-.06.49-.05.48-.05.45v2.23l.05.29v.26l.05.22.05.18.05.17v.13l.05.12.07.15.08.12.08.08.62.6.67.6.65.58.65.54.66.5.64.46.65.44.63.41.63.37.62.35.63.32.6.28.62.27.62.23.6.2.58.2.6.17.6.13.58.13.59.1.58.09.58.05.59.05h2.31l.59-.05.58-.07.58-.1.57-.1.58-.11.59-.14.56-.16.59-.17.56-.18.59-.22.56-.22.57-.25.57-.25.56-.26.55-.29.55-.3.55-.31.55-.34.54-.35.53-.35.53-.36.52-.4.52-.39.5-.41.48-.42.5-.43.47-.44.46-.45.45-.45.45-.46.44-.47.41-.48.4-.5.4-.49.39-.5.36-.5.35-.5.34-.51.33-.5.3-.52.3-.52.28-.5.25-.51.25-.5.24-.52.21-.5.19-.5.18-.48.17-.49.15-.48.13-.47.1-.46.1-.45.08-.45.07-.42.05-.42v-2.25l-.05-.31-.05-.32-.07-.3-.06-.28-.1-.29-.09-.26-.11-.25-.1-.25-.14-.24-.13-.23-.15-.23-.17-.24-.09-.2-.18-.23-.22-.22-.25-.23-.25-.24-.28-.23-.32-.23-.35-.24-.37-.23-.41-.23-.45-.22-.47-.23-.53-.22-.55-.22-.6-.2-.64-.2-.68-.18-.73-.18-.77-.15-.8-.15-.85-.14-.9-.11-1-.09-1-.08-1-.05h-3.15l-.41-.07-.42-.08-.42-.1-.41-.12-.4-.15-.4-.16-.39-.19-.38-.21-.37-.22-.35-.25-.33-.25-.33-.28-.32-.3-.28-.3-.29-.34zm233.56-183.11 1 .18 1 .3.95.43.88.55.82.65.73.77.62.83.51.92.4 1 .29 1 .13 1v1.05l-.12 1-.25 1-.37 1-.48.94-.62.85-.7.76-.8.69-.86.56-1 .47-1 .33-1 .22-1 .07h-.56l-.7.07-.74.08-.78.14-.87.16-.91.22-1 .27-1 .3-1.06.35-1.12.38-1.15.43-1.18.49-1.24.51-1.25.55-1.28.59-1.32.61-1.33.67-1.35.7-1.38.72-1.4.75-1.42.78-1.43.82-1.45.83-1.47.85-1.47.88-1.46.9-3 1.87-3 1.92-3 2-3 2-3 2.07-3 2.08-2.95 2.09-2.91 2.1-2.85 2.08-2.8 2.05-2.72 2-5.2 3.9-4.81 3.7-4.3 3.27-3.78 2.88-2.62 1.95-2.62 2-2.63 1.92-2.65 1.91-2.65 1.92-2.67 1.9-2.68 1.88-2.68 1.89-2.7 1.86-2.7 1.85-2.72 1.85-2.73 1.85-2.74 1.84-2.75 1.81-5.51 3.57-5.55 3.58-5.57 3.55-5.62 3.5-5.63 3.49-5.67 3.43-5.7 3.42-5.7 3.38-5.73 3.33-5.7 3.32-5.77 3.28-5.78 3.27-5.8 3.22-5.8 3.2-5.85 3.11-5.81 3.14-5.84 3.11-5.83 3.09-5.83 3.05-5.84 3-5.83 3-5.82 3-5.83 3-5.8 2.93-5.77 2.89-.56.28-.59.32-1.45.8-1.68 1-1.92 1.15-2.11 1.28-2.29 1.4-5.05 3.17-11.4 7.18-6.06 3.8-3.1 1.92-3.09 1.92-3.08 1.88-3 1.83-3 1.8-2.95 1.72-2.9 1.65-2.8 1.57-2.7 1.46-1.33.7-1.3.65-1.27.64-1.23.6-1.22.56-1.18.54-1.15.5-1.13.46-1.12.44-1.1.38-1.08.35-1.12.3-1.13.25-1.19.2-1.18.1h-1.52l-.82-.09-.87-.15-.53-.13-.75-.23-.18-.07-1-.42-.9-.53-.83-.63-.74-.74-.65-.83-.53-.9-.42-1-.3-1-.16-1v-1l.1-1.05.22-1 .37-1 .46-.94.59-.86.7-.8.78-.69.85-.6.93-.46 1-.37 1-.23 1-.1h1.05l.5.08.43-.11.54-.19.65-.21.71-.29.82-.33.88-.38.94-.42 1-.47 1.05-.51 1.11-.55 1.15-.59 1.17-.61 2.52-1.37 2.63-1.47 2.73-1.56 2.85-1.65 2.9-1.74 3-1.78 3-1.85 3-1.87 3-1.88 6-3.78 11.41-7.19 5.12-3.2 2.37-1.46 2.21-1.35 2.07-1.24 1.9-1.1 1.72-.95.83-.45.75-.38 5.8-2.92 5.78-2.9 5.77-2.95 5.78-2.95 5.79-3 5.78-3 5.78-3 5.79-3.07 5.76-3.07 5.77-3.11 5.75-3.14 5.73-3.15 5.74-3.18 5.7-3.22 5.7-3.23 5.66-3.28 5.65-3.29 5.64-3.33 5.6-3.37 5.56-3.38 5.55-3.42 5.52-3.45 5.48-3.48 5.45-3.52 5.42-3.56 2.7-1.77 2.67-1.8 2.68-1.8 2.67-1.82 2.65-1.81 2.63-1.84 2.63-1.83 2.62-1.85 2.6-1.87 2.6-1.86 2.58-1.87 2.57-1.88 2.57-1.89 2.55-1.9 3.68-2.78 4.28-3.27 4.84-3.66 5.38-3.95 2.78-2.07 2.87-2.1 2.93-2.13 3-2.15 3-2.17 3.1-2.17 3.14-2.13 3.15-2.12 3.16-2.08 3.19-2 3.15-2 1.6-1 1.58-1 1.58-.94 1.59-.9 1.56-.88 1.57-.87 1.55-.83 1.55-.82 1.53-.78 1.54-.75 1.51-.73 1.52-.69 1.5-.66 1.48-.64 1.49-.58 1.48-.55 1.45-.52 1.45-.48 1.45-.43 1.45-.39 1.43-.33 1.44-.28 1.41-.24 1.44-.18 1.38-.1h1.38zm-339.21 199.33-.19-.07-.36-.08z"/><path d="m580.5 154 .88.14.82.18.77.23.7.25.66.29.62.3.58.31.6.35 1 .62.95.7.9.73.85.74.82.75.78.78.77.78.73.8.72.8.71.82.7.82 1.3 1.56 1.22 1.54 1.13 1.43 1 1.27.85 1.05.69.8.16.2.2.21 1 1 1.2 1.27 1.35 1.46 1.47 1.62 1.61 1.8 1.74 2 1.83 2.08 1.92 2.24 2 2.33 2.07 2.43 2.13 2.54 2.17 2.61 2.2 2.67 2.22 2.72 2.21 2.75 2.2 2.76 2.19 2.79 2.15 2.78 2.03 2.7 2 2.72 1.95 2.68 1.89 2.63 1.75 2.55.85 1.25.81 1.24.79 1.21.76 1.19.72 1.16.68 1.15.65 1.14.62 1.1.58 1.08.54 1.07.51 1.06.45 1.05.44 1.05.38 1.07.33 1.12.29 1.18.18 1.18.07.77v1.57l-.18 1.08-.32 1-.45 1-.56.92-.7.85-.8.73-.89.64-1 .51-1 .39-1.07.25-1.08.1h-1.08l-1.09-.18-1-.32-1-.45-.92-.58-.85-.68-.73-.8-.63-.89-.52-1-.38-1-.25-1.07-.09-.83v-.07l-.08-.23-.13-.37-.19-.48-.25-.57-.31-.66-.37-.72-.43-.8-.47-.85-.53-.9-.57-.95-.6-1-.67-1-.68-1.07-.73-1.1-.77-1.13-1.63-2.37-1.75-2.45-1.85-2.53-1.94-2.64-2-2.64-2.06-2.68-2.14-2.68-2.13-2.69-2.15-2.68-2.15-2.63-2.15-2.6-2.12-2.55-2.1-2.45-2-2.4-2-2.27-1.87-2.17-1.76-2-1.67-1.87-1.48-1.69-1.4-1.53-1.24-1.32-1.05-1.15-.93-1-.45-.49-.53-.6-1-1.13-1-1.25-1-1.32-1.1-1.38-1.12-1.38-1.15-1.39-.55-.65-.55-.63-.55-.62-.53-.56-.5-.54-.49-.46-.18-.17-3.85 1.93-6.8 3.49-6.78 3.51-6.77 3.64-6.7 3.6-6.75 3.65-6.73 3.68-6.72 3.72-6.8 3.77-6.7 3.78-6.65 3.8-6.7 3.85-6.68 3.89-6.67 3.91-6.67 3.95-6.66 4-6.67 4-6.65 4-6.67 4.05-6.65 4-6.63 4.12-6.65 4.1-13.35 8.21-13.31 8.29-13.32 8.31-26.72 16.7-1.45.9-1.5.9-1.5.9-1.53.89-1.55.88-1.57.88-3.15 1.72-3.21 1.72-3.19 1.68-3.3 1.67-3.34 1.66-3.36 1.67-3.39 1.65-6.8 3.28-6.8 3.3-3.38 1.67-3.37 1.67-3.35 1.66-3.3 1.7-3.28 1.72-3.22 1.72-3.21 1.78-1.55.88-1.55.88-1.52.9-1.51.9-1.49.9-1.48.9-1.45.92-1.43.93-1.4.94-1.39.93-1.36.93-1.34.95-1.31 1-1.29 1-1.25 1-1.23 1-1.2 1-1.17 1-1.13 1-1.1 1-1.08 1-.14.13v1.37l.06.7.12.78.13.87.19.93.2 1 .25 1 .28 1.1.3 1.15.35 1.18.37 1.24.4 1.26.41 1.3.45 1.34.49 1.35.48 1.38.52 1.4 1.08 2.87 1.15 2.93 1.22 3 1.23 3 1.27 3 1.3 3 1.32 2.76 2.57 5.74 2.45 5.4 2.23 4.95 1 2.28.93 2.12.85 2 .75 1.8.63 1.64.3.8.2.58.19.5.21.48.29.64.38.71.43.82.5.87.54.93.58.95 1.28 2 1.34 2.07 2.7 4.07 1.25 1.91 1.13 1.79.53.86.49.85.46.87.47 1 .28.71.25.72.05.18.19.75v.15l.1.64v1.7l-.13.95v.1l-.25.95-.35.91-.45.87v.07l-.53.78-.62.72-.7.63-.75.55-.06.05-1 .55-1.05.4-1.1.27h-.09l-1.13.12-1.13-.05h-.12l-.7-.1-.7-.16h-.15l-.88-.3-.47-.2-.72-.35-.65-.38-.78-.5-.87-.65-.78-.77-.67-.86-.56-.94-.42-1-.3-1-.15-1.08v-1.13l-.83-1.29-2.72-4.11-1.45-2.22-1.4-2.23-.71-1.17-.67-1.13-.63-1.14-.62-1.13-.58-1.13-.55-1.15-.5-1.17-.39-1-.2-.57-.16-.5-.52-1.3-.65-1.55-.78-1.81-.89-2-1-2.2-2.22-5.13-2.45-5.43-2.6-5.82-1.34-3-1.31-3.07-1.32-3.1-1.3-3.1-1.27-3.12-1.21-3.1-1.12-3.09-.57-1.54-.53-1.51-.53-1.5-.5-1.49-.49-1.46-.45-1.45-.43-1.44-.4-1.41-.38-1.4-.35-1.39-.32-1.36-.28-1.34-.25-1.33-.22-1.3-.17-1.3-.13-1.3-.08-1.28v-2.52l.05-.72.09-.66.08-.69.12-.66.16-.69.19-.7.21-.71.27-.72.32-.72.36-.73.44-.72.5-.71.55-.7.53-.59 1.37-1.33 1.3-1.22 1.31-1.21 1.35-1.19 1.39-1.16 1.4-1.15 1.41-1.14 1.45-1.11 1.47-1.12 1.48-1.08 1.5-1.07 1.54-1.05 1.53-1.05 1.57-1 1.56-1 1.59-1 1.6-1 1.61-1 1.64-1 1.65-.95 1.65-.95 1.66-.95 3.35-1.84 3.39-1.81 3.4-1.79 3.43-1.75 3.43-1.73 3.45-1.72 3.45-1.68 6.84-3.32 6.78-3.28 3.33-1.62 3.3-1.63 3.24-1.62 3.18-1.61 3.13-1.62 3-1.62 3-1.63 1.43-.82 1.43-.81 1.42-.82 1.38-.82 1.37-.81 1.35-.84 26.67-16.68 13.35-8.33 13.33-8.3 13.33-8.24 6.69-4.11 6.68-4.09 6.68-4.08 6.69-4.05 6.7-4 6.7-4 6.7-4 6.71-4 6.74-4 6.73-3.91 6.75-3.89 6.75-3.86 6.77-3.84 6.78-3.78 6.78-3.77 6.82-3.71 6.82-3.7 6.83-3.65 6.85-3.6 6.87-3.57 6.88-3.53 7.08-3.57.42-.18.83-.32.24-.07.81-.21.25-.05.82-.12h1.65z"/><path d="m596.1 112.83h1.17l1.15.06 1.16.1 1.15.12 1.14.15 1.13.18 1.13.2 1.12.22 1.12.25 1.11.28 1.1.29 1.1.31 1.09.35 1.06.37 1.09.38 1.05.4 1.03.51 1 .45 1 .46 1 .49 1 .5 1 .51 1 .55 1 .55 1 .59 1 .58 1 .6 1 .63 1 .64 1 .65.93.66.94.69.91.7.92.71.92.72.9.73.88.75.88.77.89.78.86.79.89.81 1.66 1.6 1.67 1.69 1.63 1.7 1.6 1.75 1.59 1.8 1.53 1.81 1.52 1.85 1.46 1.89 1.45 1.9 1.42 1.93 1.38 2 1.35 2 1.32 2 1.28 2 1.25 2 1.22 2.05 1.18 2.05 1.15 2 1.12 2.06 1.08 2.09 1.05 2.06 1 2.09 1 2.06.93 2.07.9 2.07.87 2.05.83 2 .8 2 .75 2 .72 2 .66 2 .64 2 .6 2 .55 1.93.51 1.92.47 1.88.43 1.87.35 1.68v.15l.17.57.27.78.36 1 .45 1.17.54 1.33 1.23 3.07 1.38 3.43 1.47 3.74.77 2 .75 2 .75 2 .71 2.05.7 2.06.67 2.07.62 2.07.56 2 .27 1 .25 1 .23 1 .22 1 .18 1 .19 1 .15 1 .11 1 .1 1 .07 1v2l-.05 1-.06 1.35-.17 1.08-.25 1.1-.33 1.14-.32.8-.13.35-.17.35-.36.73-.4.67-.39.56-.43.59-.47.55-.51.51-.54.52-.6.48-.61.44-.65.4-.62.33-.82.38-.78.34-.78.3-.8.26-.79.22-.78.18-.8.17-.78.12-.77.1-.77.06-.76.05h-2.22l-.73-.05-.75-.06-1.35-.17-1.35-.22-1.32-.28-1.28-.3-1.25-.33-1.22-.37-1.18-.38-1.17-.39-2.18-.78-2.09-.77-2-.73-.9-.32-.87-.3-.83-.26-.77-.22-.71-.2-.64-.15-.58-.12-.55-.06h-1.45l-.65-.1-.65-.13-.62-.18-.61-.25-.59-.29-.56-.31-.54-.39-.51-.41-.47-.45-.43-.49-.4-.51-.35-.55-.32-.59-.27-.6-.21-.61-.17-.64-.12-.63-.06-.65v-.67l.05-.65.08-.65.14-.63.18-.63.25-.6.28-.6.32-.57.38-.53.42-.5.45-.49.48-.43.52-.4.55-.35.58-.3.6-.27.62-.21.63-.17.64-.12.66-.06h1.9l.69.05.71.08 1.24.19 1.25.23 1.21.28 1.19.32 1.16.35 1.12.37 1.12.36 1.08.39 2.1.67 2 .75 2 .7.9.3.88.29.87.26.83.22.78.18.74.15.68.12.68.08h1.02v-.48l-.07-.57-.1-.61-.12-.67-.13-.68-.15-.74-.17-.76-.2-.77-.2-.8-.46-1.7-.54-1.75-.58-1.8-.62-1.83-.65-1.87-.68-1.87-.7-1.86-.72-1.84-1.43-3.61-1.37-3.4-1.25-3.12-.56-1.45-.54-1.35-.46-1.27-.42-1.21-.35-1.12-.17-.68-.13-.54-.35-1.65-.35-1.55-.4-1.6-.51-1.6-.49-1.67-.51-1.7-.55-1.73-.6-1.75-.64-1.78-.66-1.79-.72-1.81-.73-1.84-.79-1.85-.8-1.85-.85-1.85-.88-1.86-.9-1.87-.95-1.88-1-1.85-1-1.87-1-1.85-1.06-1.85-1.09-1.83-1.11-1.82-1.15-1.8-1.19-1.78-1.2-1.75-1.21-1.74-1.25-1.71-1.29-1.67-1.28-1.65-1.32-1.62-1.33-1.58-1.37-1.55-1.36-1.5-1.4-1.45-1.4-1.42-1.45-1.38-.7-.65-.72-.65-.72-.65-.73-.62-.73-.61-.74-.6-.73-.59-.73-.58-.75-.55-.74-.55-.75-.53-.75-.5-.75-.5-.75-.49-.75-.48-.75-.45-.75-.43-.75-.42-.76-.42-.75-.38-.77-.37-.75-.36-.75-.34-.77-.33-.75-.3-.76-.28-.75-.29-.77-.25-.75-.23-.77-.23-.75-.2-.76-.19-.75-.16-.77-.15-.77-.14-.75-.11-.76-.1-.77-.09-.75-.06h-4.62l-.76.06-.79.1-.78.1-.78.12-.8.15-.79.17-.78.2-.32.06-.26.09-.25.08-.25.1-.2.08-.2.09-.19.08-.16.08-.15.1-.14.09-.13.08-.12.08-.1.09-.1.08-.1.08-.08.09-.08.08-.09.1-.06.1-.09.08-.06.12-.09.12-.06.11-.09.14-.06.13-.07.15-.07.15-.05.12-.15.43-.13.42-.1.46-.1.5-.08.57-.07.6v3.55l.07.8.08.83.1.85.13.87.14.87.16.9.19.9.18.91.2.89.47 1.86.48 1.85.5 1.82.53 1.8.52 1.75 1 3.35.46 1.58.44 1.54.36 1.45.17.78.15.75.13.78.1.85v2.84l-.08.58-.13.6-.07.25-.18.58-.24.57v.12l-.22.43-.23.43v.1l-.32.5-.35.49-.06.06-.44.5-.45.47-.08.07-.5.41-.52.39-.56.35-.59.28-.6.25-.61.22-.65.15-.64.1-.66.05h-.65l-.65-.05-.65-.12-.64-.15-.69-.2-.6-.25-.59-.3-.56-.33-.54-.4-.48-.42-.47-.47-.43-.5-.38-.51-.34-.57-.3-.58-.31-.67-.2-.64-.15-.63-.1-.65-.05-.65v-.65l.05-.65.1-.65v-.1l-.27-1-.33-1.22-.42-1.41-1-3.3-.55-1.84-.57-1.95-.56-2-.57-2.12-.52-2.16-.26-1.14-.24-1.13-.21-1.13-.22-1.15-.18-1.17-.19-1.18-.15-1.19-.11-1.2-.1-1.2-.07-1.2v-3.68l.08-1.25.14-1.23.18-1.27.25-1.25.3-1.27.38-1.26.42-1.2.28-.67.29-.63.28-.62.32-.62.35-.6.36-.6.39-.6.41-.58.44-.58.46-.55.49-.55.5-.54.53-.51.55-.5.57-.49.58-.46.62-.45.63-.42.63-.4.67-.37.68-.36.69-.34.71-.31.72-.29.73-.26.74-.25.75-.22.76-.2 1.2-.28 1.19-.27 1.2-.22 1.18-.18 1.18-.17 1.19-.13 1.18-.1 1.18-.07h3.52zm-21.3 51.55-.22.29.17-.2.45-.45z"/><path d="m674.83 51.18.54.07.53.08.52.14.51.16.5.19.49.21.46.27.45.28.44.3.41.35.39.37.36.38.35.42.3.43.3.45.25.47.22.48.2.5.17.5.11.52.1.53.07.54v1.63l-.05.37-.06.53-.2.87-.25.8-.3.75-.2.43-.2.35-.2.37-.22.33-.23.38-.27.37-.27.35-.23.28-.25.29-.52.56-.78.72-.75.62-.75.56-.75.5-.73.45-.72.44-.73.4-.75.38-1.37.68-1.38.62-1.32.57-2.32 1-.93.4-.7.3-.38.2-1.69 1.05-1.83 1.18-3.63 2.33-3.69 2.3-3.7 2.25-3.68 2.25-3.7 2.22-7.37 4.42-3.63 2.21-3.62 2.22-3.55 2.25-1.77 1.12-1.76 1.13-1.74 1.14-1.73 1.15-1.72 1.15-1.7 1.16-1.68 1.15-1.65 1.18-1.65 1.19-1.6 1.2-1.37 1.05-2.33 1.83-1.38 1.1-1.52 1.22-1.5 1.25-1.5 1.28-1.41 1.25-1.32 1.22-.55.53-.52.5-.43.47-.14.5-.18.5-.22.5-.25.47-.28.47-.3.43-.33.42-.35.4-.39.36-.41.35-.42.32-.45.3-.47.25-.48.23-.5.2-.5.19-.52.13-.51.1-.54.07h-1.6l-.53-.07-.53-.1-.52-.13-.5-.17-.5-.2-.48-.23-.47-.25-.4-.31-.44-.32-.41-.35-.39-.37-.35-.4-.08-.08-.33-.42-.3-.43-.29-.45-.25-.47v-.11l-.2-.45-.18-.49-.15-.48-.12-.48v-.12l-.07-.42-.05-.4v-1.86l.05-.44v-.15l.1-.51.12-.5.05-.15.12-.39.13-.38.18-.47.39-.8.58-1 .67-.94.63-.81.67-.79.68-.73.72-.73.73-.74.78-.75 1.57-1.45 1.65-1.45 1.67-1.43 1.66-1.4 1.6-1.3 1.5-1.22 2.36-1.94 1.55-1.18 1.78-1.32 1.78-1.28 1.79-1.28 1.8-1.25 1.81-1.25 1.82-1.22 1.83-1.22 1.84-1.18 1.83-1.18 1.87-1.19 3.68-2.3 3.72-2.28 3.71-2.25 7.39-4.43 3.66-2.2 3.64-2.2 3.6-2.22 3.55-2.22 3.5-2.23 1.71-1.12 1.85-1.21.55-.35.67-.37 1.07-.5 1.1-.5 1.1-.46 2.25-.94 1.09-.46 1-.47 1-.48.38-.2.37-.2.26-.15v-.1l.23-.49.28-.45.29-.45.33-.41.35-.4.38-.39.4-.35.42-.33.45-.3.45-.27.48-.25.49-.2.51-.18.5-.13.54-.12.51-.08h1.6zm-81.3 67.14v-.17zm-1.15-2.14.3.44.2.33-.21-.47-.62-.71zm199.62 76.5.57.07.57.12.55.15.53.2.52.21.5.27.5.28.46.34.44.36.41.39.4.41.35.44.34.46.3.49.26.5.22.51.2.55.15.54.12.56.08.57v1.7l-.07.57-.11.55-.15.55-.14.53-.23.53-.25.5-.3.49-.33.46-.35.45-.39.42-.41.38-.45.37-.45.33-.5.3-.5.25-.52.24-.53.2-.55.15-.55.11-.57.09h-1.27l-.33.06-.43.12-.5.15-.59.2-.63.23-.7.29-.75.31-.78.35-.84.39-.86.43-.9.47-.94.48-1 .53-1 .55-1 .57-2.12 1.25-2.18 1.33-2.25 1.42-2.3 1.48-2.35 1.55-2.37 1.6-2.38 1.64-2.4 1.66-2.4 1.69-2.37 1.7-2.35 1.68-4.6 3.35-4.38 3.2-4.09 3-3.71 2.72-1.7 1.33-1.6 1.15-1.48 1-1.35.93-2.85 1.92-2.89 1.83-2.91 1.82-2.92 1.78-2.92 1.77-2.9 1.73-5.73 3.44-.57.31-.68.37-1.48.78-1.67.89-1.68.9-1.52.83-.52.3-.1.1-.41.4-.45.35-.47.33-.48.29-.52.26-.52.22-.53.2-.5.1-.55.12-.57.06h-1.71l-.55-.08-.62-.1-.55-.15-.53-.2-.52-.23-.5-.25-.48-.3-.47-.33-.45-.37-.4-.38-.4-.42-.35-.45-.3-.43-.26-.43-.25-.45-.22-.47-.18-.48-.15-.5-.14-.5-.1-.55-.06-.53v-1.1l.05-.54.08-.55.12-.53.15-.52v-.08l.2-.53.21-.5.27-.5.28-.47.32-.47.07-.08.26-.33.3-.38.3-.3.11-.11.35-.32.37-.28.58-.47.9-.6.85-.52.87-.5 1.78-1 1.84-1 1.68-.88 1.37-.72.41-.25.29-.15 5.61-3.35 2.87-1.71 2.85-1.72 2.82-1.73 2.78-1.74 2.72-1.73 2.65-1.73 1.15-.79 1.33-.93 1.5-1.07 1.63-1.16 3.65-2.67 4.09-3 4.41-3.22 4.65-3.4 2.42-1.71 2.45-1.75 2.45-1.74 2.48-1.73 2.5-1.7 2.49-1.68 2.48-1.64 2.45-1.58 2.43-1.53 2.4-1.47 2.34-1.37 1.16-.68 1.15-.63 1.15-.62 1.12-.58 1.12-.54 1.1-.55 1.08-.52 1.08-.48 1.07-.45 1.07-.42 1.06-.4 1.05-.35 1.07-.33 1.08-.27 1.09-.25 1.13-.18 1.17-.12h1.45z"/><path d="m714 0 1.83.07 1.82.12 1.8.16 1.8.2 1.78.25 1.77.29 1.76.31 1.74.37 1.73.4 1.72.45 1.71.47 1.69.51 1.68.55 1.67.59 1.65.63 1.63.65 1.63.68 1.6.72 1.6.75 1.59.78 1.56.82 1.55.85 1.54.87 1.53.9 1.5.93 1.5 1 1.48 1 1.47 1 1.45 1 1.45 1.06 1.43 1.07 1.4 1.12 1.42 1.11 1.38 1.15 1.39 1.17 1.37 1.2 1.38 1.2 1.33 1.23 1.33 1.25 1.3 1.29 1.3 1.28 1.3 1.3 1.27 1.33 1.27 1.34 1.25 1.35 1.23 1.38 1.22 1.38 1.21 1.4 1.2 1.42 1.2 1.43 1.17 1.44 1.17 1.46 1.16 1.47 1.09 1.47 1.13 1.5 1.13 1.5 1.1 1.51 1.1 1.52 1.09 1.53 1.08 1.54 1.07 1.55 1 1.55 1.05 1.58 2 3.13 2 3.17 2 3.2 1.92 3.2 1.88 3.22 1.83 3.23 1.8 3.22 1.87 3.23 1.7 3.23 1.68 3.22 1.64 3.22 1.58 3.2 1.55 3.13 1.5 3.15 1.47 3.14 1.43 3.1 1.38 3 1.35 3 1.3 3 1.27 2.93 1.22 2.88 1.2 2.84 1.13 2.76 1.1 2.72 1.07 2.63 2.6 6.45 1.41 3.6.74 1.9.73 1.94.73 2 .74 2 .73 2.06.7 2.09.7 2.13.68 2.15.65 2.18.62 2.2.58 2.22.54 2.25.5 2.25.45 2.23.2 1.15.2 1.14.16 1.15.17 1.13.15 1.13.12 1.15.11 1.14.09 1.15.06 1.13v5.72l.02 1.21-.1 1.13-.12 1.14-.15 1.13-.18 1.13-.2 1.12-.25 1.13-.28 1.1-.3 1.12-.37 1.15-.4 1.08-.47 1.09-.53 1.06-.6 1-.67 1-.73.93-.8.89-.85.8-.92.75-.95.67-1 .6-1 .52-1 .43-1 .37-1 .3-1 .21-1 .17-1 .12-1 .05h-2.95l-.92-.1-.91-.13-.9-.17-.89-.18-.88-.2-.87-.24-.85-.23-.85-.27-.81-.28-.84-.3-.8-.32-.83-.33-1.53-.67-1.54-.71-1.48-.77-1.43-.77-1.4-.8-1.32-.8-1.28-.8-1.2-.8-1.07-.73-.47.4-.66.47-.72.4-.75.31-.78.25-.8.19-.82.08h-.82l-.81-.07-.8-.15-.79-.23-.76-.3-.72-.37-.68-.45-.65-.5-.59-.58-.53-.62-.47-.67-.38-.71-.33-.75-.25-.79-.17-.8-.1-.81v-.82l.07-.82.15-.8.21-.78.3-.77.39-.71v-.19l-.07-.4-.08-.47-.1-.52-.13-.56-.17-.62-.18-.67-.22-.7-.23-.71-.25-.77-.29-.78-.3-.79-.66-1.71-.75-1.75-.8-1.82-.85-1.85-.9-1.87-1-1.86-1-1.89-1-1.85-1-1.81-1-1.79-1-1.73-1-1.65-.95-1.57-.93-1.46-.87-1.35-.83-1.24-.75-1.08-.67-.92-.55-.71-.43-.52-.08-.1-.14-.13-.66-.69-.75-.8-.72-.8-.7-.81-.68-.82-.67-.83-.65-.85-.63-.85-.64-.85-.6-.87-.58-.87-.58-.88-1.1-1.73-1.01-1.7-1-1.78-1-1.79-1-1.8-.92-1.78-.9-1.78-.86-1.79-1.7-3.5-1.67-3.45-.82-1.68-.83-1.65-.82-1.62-.83-1.56-.83-1.54-.85-1.5-.87-1.43-.88-1.42-.44-.65-.43-.66-.45-.65-.47-.64-.45-.61-.46-.6-.47-.59-.47-.56-.48-.55-.48-.54-.49-.51-.5-.52-1.71-1.68-1.75-1.69-1.8-1.65-1.85-1.65-1.87-1.61-1.92-1.62-2-1.6-2-1.58-2-1.57-2-1.55-2.06-1.53-2.1-1.52-2.12-1.48-2.13-1.49-2.17-1.46-2.18-1.44-2.2-1.43-2.22-1.4-2.22-1.38-2.25-1.39-2.25-1.33-2.25-1.33-2.26-1.32-2.27-1.28-2.27-1.29-2.28-1.25-2.2-1.28-2.26-1.2-2.27-1.2-2.27-1.17-2.25-1.15-2.35-1.18-1-.52-1-.65-1-.68-1-.72-.92-.78-.85-.8-.82-.85-.76-.87-.74-.9-.66-.91-.65-.95-.6-1-.55-1-.54-1-.48-1-.45-1-.42-1-.38-1-.35-1.07-.33-1.06-.29-1.09-.26-1.08-.24-1.1-.2-1.1-.16-1.1-.15-1.12-.12-1.1-.08-1.11-.07-1.14v-3.35l.05-1.11.08-1.12.1-1.12.13-1.11.15-1.1.19-1.12.21-1.1.25-1.08.27-1.09.3-1.06.33-1.09.37-1.05.4-1.05.43-1 .47-1 .52-1 .53-1 .58-1 .62-1 .65-.93.7-.9.75-.9.78-.85.84-.84.88-.78.89-.8 1-.72 1-.66 1.07-.6 1.1-.55 1.15-.5 1.1-.42 2-.65 1.95-.57 1.94-.53 1.93-.48 1.92-.44 1.91-.38 1.92-.33 1.9-.3 1.9-.24 1.88-.2 1.93-.15 1.88-.1 1.85-.08h1.85zm-3.35 16.65-1.45.05-1.49.09-1.46.11-1.5.15-1.5.2-1.52.24-1.52.26-1.55.3-1.55.35-1.56.4-1.57.42-1.6.48-1.53.49-.35.13-.27.12-.27.13-.26.15-.27.17-.25.2-.28.21-.27.24-.27.26-.26.3-.27.32-.27.35-.26.38-.27.4-.27.45-.25.45-.23.5-.25.5-.22.55-.21.55-.2.59-.19.6-.18.61-.15.64-.15.66-.13.67-.12.67-.1.68-.07.7-.06.7v4.35l.07.71.07.7.1.69.1.68.13.67.13.66.15.65.17.62.18.62.2.58.22.58.22.55.23.52.23.5.25.48.25.44.27.43.27.38.26.37.27.33.28.32.27.28.27.25.26.22.27.22.27.18.26.15.39.2 2.2 1.12 2.33 1.2 2.35 1.21 2.37 1.24 2.36 1.26 2.37 1.29 2.37 1.3 2.36 1.28 2.39 1.35 2.34 1.35 2.37 1.4 2.37 1.41 2.36 1.44 2.35 1.46 2.34 1.49 2.33 1.51 2.32 1.54 2.3 1.55 2.28 1.58 2.25 1.62 2.23 1.62 2.23 1.65 2.2 1.66 2.19 1.69 2.15 1.71 2.11 1.75 2.09 1.75 2.06 1.8 2 1.8 2 1.84 2 1.86 1.91 1.9.74.75.73.79.72.78.68.8.68.82.65.81.64.84.63.83.6.85.6.85.57.85.58.88 1.07 1.72 1 1.75 1 1.77 1 1.76.94 1.79.91 1.76.89 1.79.86 1.76 1.69 3.49 1.66 3.45.84 1.68.83 1.65.83 1.62.84 1.6.85 1.55.86 1.5.94 1.48.92 1.45.43.65.45.68.47.65.46.65.47.63.48.62.49.6.48.58.5.57.5.55.5.55.62.62.38.41.48.54.84 1 .88 1.15.9 1.23.93 1.35 1 1.45 1 1.57 1 1.65 1.07 1.73 1.06 1.82 1.1 1.9 1.1 1.93 1.09 2 1.08 2 1.08 2.07 1 2.08 1 2.09 1 2.1.93 2.08.87 2.08.8 2 .38 1 .37 1 .33 1 .34 1 .3 1v.1h.07l.77.25.75.33.71.4.67.49.62.53.36.33.37.34.5.41.62.49.71.53.79.58.86.59.94.61 1 .62 1 .62 1.05.6 1.08.58 1.05.57 1.06.52 1.12.48.5.2.52.2.5.19.5.16.48.15.48.15.45.12.44.1.41.08.39.07.36.05h1.62l.05-.08.07-.14.08-.2.12-.3.16-.53.17-.62.17-.63.13-.65.13-.65.1-.7.1-.7.07-.73.07-.74v-4.81l-.05-.85-.06-.87-.09-.87-.1-.9-.1-.88-.13-.92-.13-.91-.17-.92-.17-.92-.36-1.91-.44-1.9-.46-1.92-.5-1.93-.55-1.95-.59-2-.6-1.94-.63-1.93-.65-1.92-.68-1.91-.69-1.89-.6-1.75-.7-1.83-.68-1.8-1.39-3.5-2.58-6.4-1-2.6-1.15-2.65-1.11-2.7-1.15-2.75-1.19-2.8-1.23-2.85-1.27-2.9-1.3-2.92-1.35-3-1.36-3-1.42-3-1.45-3-1.5-3.06-1.53-3.07-1.57-3.08-1.57-3.09-1.63-3.08-1.69-3.1-1.68-3.1-1.75-3.07-1.79-3.05-1.83-3-1.85-3-1.9-3-1.93-3-1-1.46-1-1.45-1-1.45-1-1.44-1-1.43-1-1.42-1-1.4-1-1.4-1.05-1.36-1.07-1.37-1.05-1.35-1.18-1.37-1.08-1.32-1.09-1.31-1.1-1.29-1.1-1.28-1.11-1.25-1.12-1.25-1.13-1.22-1.14-1.21-1.15-1.19-1.15-1.16-1.15-1.15-1.16-1.14-1.19-1.1-1.18-1.1-1.18-1.06-1.2-1-1.2-1-1.2-1-1.22-1-1.23-1-1.22-.92-1.23-.92-1.25-.83-1.25-.87-1.25-.82-1.25-.81-1.27-.77-1.28-.73-1.27-.73-1.28-.7-1.3-.67-1.29-.63-1.3-.62-1.31-.65-1.32-.55-1.32-.54-1.31-.5-1.34-.41-1.33-.44-1.35-.41-1.35-.37-1.35-.35-1.37-.32-1.36-.28-1.37-.3-1.38-.21-1.38-.19-1.44-.13-1.4-.12-1.42-.1-1.43-.05h-1.43zm91.55 180.67-.13.16.21-.23zm-542.03 178.3.71.06.65.12.7.13 1.07.29 1.05.35 1 .4.9.4.85.43.82.43.8.45 1.4.84 1.28.81h.6l.55.05.53.07.53.12.54.13.51.18.5.2.49.25.48.27.45.32.43.33.4.35.39.4.36.4.32.43.3.47.28.47.24.48.21.52.17.51.13.52.1.4.09.43.06.44v2.35l-.06.46-.09.47-.11.45v.1l-.13.43-.17.42-.18.42-.2.4-.05.08-.22.38-.25.37-.25.35-.28.35-.3.32-.05.06-.32.32-.33.3-.35.27-.37.26-.38.24-.07.05-.45.25-.45.21-.46.19-.49.16h-.08l-.4.1-.42.1-.4.06-.41.05h-1.9l-.45-.06-.44-.09-.25-.05-.36-.1-.37-.1-.35-.11-.63-.24-.87-.4-.73-.38-.65-.37-.62-.38-1.12-.7-1.11-.72-1.07-.68-1-.62-.44-.25-.26-.13-.29.15-.75.43-1.58.92-1.58 1-1.6 1-1.64 1.08-1.63 1.15-1.63 1.18-1.67 1.22-1.67 1.27-1.68 1.31-1.7 1.34-1.7 1.36-1.7 1.39-3.47 2.86-3.48 2.9-3.5 3-3.55 2.95-3.55 2.92-1.8 1.45-1.8 1.43-1.82 1.42-1.93 1.39-1.84 1.37-1.83 1.33-1.85 1.3-1.88 1.29-.64.4-.68.41-1.37.8-1.5.84-1.6.88-1.65.92-1.68.95-1.67 1-1.65 1-.75.48-.75.47-.7.48-.65.45-.6.43-.53.42-.47.38-.38.35-.22.2-.13.49-.18.51-.22.5-.25.49-.28.46-.3.45-.35.44-.37.4-.38.38-.42.35-.43.32-.47.3-.47.26-.5.24-.5.2-.51.16-.54.14-.53.1-.55.06h-1.63l-.54-.09-.53-.11-.53-.15-.52-.19-.5-.21-.48-.25-.47-.29-.45-.3-.42-.33-.41-.37-.37-.4-.37-.41-.31-.44-.3-.45-.27-.48-.23-.5-.2-.5-.17-.52-.13-.53-.1-.53-.07-.55v-2.09l.08-.61.2-.9.27-.85.3-.79.33-.71.37-.67.36-.63.4-.57.44-.6.76-.93.84-.9.86-.82.87-.78.9-.74.9-.7.93-.68.94-.67 1-.63.95-.62 1-.61 1.9-1.14 1.9-1.1 1.82-1 1.71-.95 1.55-.87 1.34-.75 1.08-.63.37-.22.3-.18 1.6-1.1 1.65-1.15 1.65-1.2 1.66-1.24 1.67-1.28 1.68-1.32 1.7-1.35 1.7-1.36 3.45-2.84 3.47-2.88 3.5-2.93 3.53-3 3.55-2.92 1.79-1.46 1.8-1.44 1.8-1.43 1.81-1.4 1.82-1.38 1.83-1.35 1.85-1.34 1.85-1.28 1.87-1.25 1.87-1.22 1.9-1.16 1.88-1.1 1-.55.95-.52 1-.52 1.11-.56.42-.19.35-.15.37-.13.21-.07.31-.17.35-.1.55-.12.87-.15.85-.07h.78zm25.7 44.06h.86l.42.07.43.08.42.1.4.13h.1l.43.16.44.19.43.21.4.24.4.26.38.29.35.3.35.31.07.07.32.35.31.35.29.38.26.39.24.41.21.42.2.43.17.44v.1l.15.48.12.48.1.5.05.5v1.5l-.07.5-.08.5-.12.49-.15.48-.18.48-.2.45-.24.45-.26.44-.29.41-.3.4-.33.37-.35.37-.38.33-.4.3-.42.3-.42.25-.45.25-.46.2-.47.18-.48.15-.49.12h-.06l-.52.36-.72.54-.8.6-1.83 1.41-2 1.62-2.1 1.73-2.15 1.79-2.1 1.78-3.92 3.33-3.1 2.62-1.17 1-.56.45-.55.38-1.55 1.15-1.57 1-1.61 1-1.67 1-1.7 1-1.73 1-1.77 1-1.8 1-3.65 1.73-3.7 1.94-3.7 1.95-3.68 1.93-3.64 1.95-1.75 1-1.73 1-1.68 1-1.65 1-1.6.95-1.54 1-1.46.94-1.4.95-1.34.91-1.23.92-1.18.9-.52.43-.52.42-.48.43-.47.42-.43.4-.47.47-.36.33-.4.33-.4.29-.44.26-.43.25-.47.22-.46.18-.47.17-.5.12-.48.1-.5.08h-1.5l-.52-.05-.48-.09-.5-.1-.49-.15-.46-.16-.47-.2-.45-.22-.43-.25-.42-.28-.4-.3-.38-.34-.37-.35-.35-.36-.32-.4-.28-.4-.28-.44-.24-.43-.21-.45-.19-.47-.16-.48-.14-.48-.1-.5-.06-.5v-1.5l.05-.5.07-.5.11-.5.15-.49.17-.46.2-.47.22-.45.25-.43.28-.42.3-.4.33-.38.35-.37.59-.58.68-.64.7-.63.72-.62.73-.61.75-.62 1.5-1.17 1.58-1.15 1.62-1.13 1.67-1.12 1.71-1.1 1.75-1.08 1.8-1.25 1.8-1.06 1.83-1.05 1.85-1 1.88-1 3.75-2 3.77-2 3.73-2 3.65-1.92 3.55-1.86 1.7-.94 1.67-.9 1.62-.9 1.53-.88 1.48-.87 1.42-.85 1.33-.83 1.14-.75.16-.12.9-.75 3-2.51 3.91-3.34 2.17-1.83 2.16-1.84 2.21-1.82 2.17-1.75 2-1.58 1-.75.95-.7.91-.65.92-.6.92-.58.95-.52.68-.32.75-.3.5-.15.33-.1.34-.08.35-.07h.15l.4-.07h1.18z"/><path d="m148.25 408.62.6.08.6.12.6.16.17.07h1.71l.62.06.62.1.6.17.6.2.56.25.55.28.54.34.5.36.48.4.43.44.42.48.37.5.33.52.3.55.25.56.22.59v.1l1.75 1.25 3.44 2.5 3.16 2.3 2.54 1.83 1.63 1.18 1.67 1.25 1.7 1.32 1.69 1.42 1.7 1.42 1.68 1.45 1.67 1.5 1.63 1.53.82.82.82.8.8.81.78.84.78.83.77.85.75.87.73.88.74.88.71.9.7.92.67.93.67.94.65.95.61 1 .6 1 .67 1.11.65 1.15.65 1.19.65 1.21.65 1.27.65 1.3.65 1.33.63 1.37.64 1.4.63 1.42.62 1.46.61 1.49.6 1.5.59 1.53.58 1.57.57 1.58.55 1.6.51 1.62.52 1.65.5 1.65.47 1.66.45 1.7.43 1.7.4 1.7.37 1.74.35 1.71.33 1.74.28 1.75.25 1.75.24 1.75.18 1.76.15 1.75.1 1.77.08 1.75v3.52l-.06 1.75-.12 1.73-.2 1.65-.21 1.68-.15.9-.15.87-.15.85-.19.87-.2.83-.2.85-.23.85-.25.85-.27.82-.28.83-.3.83-.32.82-.33.82-.35.8-.38.8-.39.8-.41.8-.45.76-.45.77-.49.77-.5.75-.51.73-.55.73-.57.72-.58.7-.62.68-.62.67-.66.67-.67.63-.7.63-.72.62-.73.58-.75.59-.78.55-.8.53-.82.52-.83.5-.87.48-.87.45-.9.43-.9.42-.93.4-.95.38-1 .35-1 .34-1 .3-1 .3-1.09.28-.85.2-.91.15-.92.13-.92.1-.91.07-.94.05h-2.95l-1-.06-1-.1-1-.14-1-.16-1-.2-1-.22-1-.27-1-.3-1-.35-1-.38-1-.43-1-.49-1-.53-1-.6-.95-.67-.93-.73-.92-.8-.86-.9-.77-.92-.45-.58-.37-.55-.35-.57-.35-.6-.3-.6-.3-.63-.26-.63-.22-.64-.23-.73-.24-.75-.35-1.37-.3-1.38-.23-1.37-.2-1.35-.13-1.31-.12-1.3-.08-1.29v-13.23l-.07-.91-.1-.89-.1-.85-.13-.83-.15-.8-.18-.75-.22-.8-.1-.32-.12-.35-.13-.35-.13-.35-.15-.33-.15-.35-.17-.33-.17-.34-.18-.33-.2-.33-.67-1.1-.73-1.15-.8-1.2-.87-1.25-.9-1.29-.95-1.33-1-1.35-1-1.38-2.16-2.89-2.27-2.95-4.7-6.15-2.4-3.16-2.37-3.19-1.16-1.63-1.17-1.62-1.13-1.63-.89-1.72-1-1.64-1.07-1.63-1-1.63-1-1.65-1-1.65-.93-1.67-.87-1.65-.83-1.67-.75-1.63-.38-.87-.35-.83-.34-.85-.31-.84-.29-.85-.28-.85-.27-.85-.25-.86-.21-.89-.2-.86-.17-.87-.15-.9-.13-.9-.09-.9-.06-.9v-2.77l.08-.93.12-.93.16-.95.2-.94.25-.93.3-.93.35-.92.4-.92.45-.9.5-.86.55-.85.59-.82.63-.8.67-.77.71-.71.75-.7.79-.67.81-.63.85-.59.87-.56.9-.54.93-.5 1-.46 1-.44 1-.41 1-.39 1-.36 1.09-.34 1.1-.3 1.13-.3 1.17-.26 1.18-.24 1.22-.23 1.18-.18 1.28-.18 1.32-.17 1.33-.13 1.38-.14 1.42-.1h.5l.4-.15.57-.18.58-.15.58-.1.6-.07h.61zm-3.4 17.3-1.15.08-1.12.1-1.06.12-1 .11-1 .15-.91.15-.89.15-.83.17-.78.18-.74.2-.68.19-.65.2-.6.2-.55.21-.5.2-.47.22-.41.2-.39.22-.33.18-.3.2-.27.18-.23.19-.2.16-.17.15-.13.15-.13.14-.1.13-.09.13-.08.12-.07.12-.06.11-.05.14v.13l-.05.13v.17l-.05.17v2.18l.05.37.06.4.09.43.1.43.13.47.13.48.15.5.17.52.18.53.22.55.22.57.23.57.25.56.58 1.25.64 1.27.68 1.32.75 1.33.8 1.37.85 1.41.9 1.42.95 1.45 1 1.47 1 1.48 1.05 1.5 1.01 1.5 1.1 1.52 2.27 3.06 2.32 3.05 4.68 6.12 2.3 3 2.23 3 1.1 1.47 1.07 1.46 1 1.45 1 1.44 1 1.43.93 1.4.9 1.4.85 1.4.42.7.38.72.38.71.34.72.33.73.3.72.28.72.27.71.25.74.23.76.39 1.37.33 1.42.27 1.4.21 1.36.17 1.35.13 1.34.1 1.3.07 1.28v12.18l.05.92.08.88.1.85.1.8.15.78.15.75.2.75.1.3v.2l.13.12.12.1.18.12.22.13.25.15.3.13.35.15.37.15.4.14.41.13.45.12.47.1.47.1.5.08.48.07.48.05h3l.3-.05h.25l.25-.07.62-.15.63-.18.62-.2.58-.2.59-.22.55-.22.53-.21.5-.24.5-.25.48-.25.45-.25.45-.26.42-.27.42-.28.4-.29.38-.28.37-.3.35-.3.35-.32.33-.31.32-.34.31-.33.3-.33.3-.35.29-.37.26-.35.27-.38.25-.39.25-.4.25-.4.23-.41.22-.42.22-.43.2-.44.2-.45.2-.46.18-.49.17-.48.16-.48.17-.52.15-.52.13-.51.15-.54.12-.55.12-.55.1-.56.1-.59.1-.55.15-1.21.11-1.24.09-1.25.05-1.28v-2.73l-.05-1.35-.09-1.38-.13-1.4-.15-1.42-.17-1.42-.21-1.43-.25-1.45-.27-1.45-.28-1.47-.32-1.45-.35-1.46-.37-1.45-.38-1.45-.42-1.45-.41-1.44-.45-1.43-.47-1.42-.48-1.4-.3-1.38-.51-1.37-.5-1.35-.54-1.31-.53-1.3-.55-1.29-.53-1.23-.57-1.22-.55-1.18-.55-1.13-.55-1.12-.55-1.07-.55-1-.55-1-.53-.94-.52-.88-.42-.67-.43-.66-.45-.69-.47-.66-.5-.69-.51-.66-.54-.69-.56-.68-.57-.67-.58-.68-.6-.67-.64-.66-.63-.67-.63-.67-.67-.66-.65-.64-1.4-1.3-1.4-1.26-1.43-1.25-1.45-1.2-1.47-1.19-1.48-1.13-1.47-1.1-1.5-1.1-2.53-1.82-3.19-2.31-3.43-2.5-3.32-2.38-2.12-1.5z"/><path d="m381.28 343.38.6.1.6.15.59.19.56.23.55.28.52.32.52.35.46.38.45.44.42.45.37.48.35.52.3.53.26.55.22.58.18.59.14.6.08.6.05.61v.67l-.05.62-.08.6-.14.6-.18.6-.22.56-.26.55-.3.54-.35.51-.37.49-.42.45-.45.43-.75.65.1.33.05.3 1.42-.8 4.83-2.81 4.5-2.62 5.09-2.95 5-2.88 2.27-1.27.3-.22.88-.53.65-.33.47-.22h.1l1.61-.87 1.5-.78.77-.37.52-.22.4-.16.41-.14.22-.06.58-.17.59-.1.58-.08h1.27l.61.07.6.1.6.15.59.18.58.25.55.27.52.31 2.01-1.98 1-1 1-.91 1-.89 1-.86 1-.84 1-.78 1-.77 1-.68.65-.38.62-.34.67-.33.73-.32.83-.28.57-.17.37-.08.36-.07.25-.05.45-.06.45-.05h1.97l.43.07.42.06.2.05.47.12.45.15.45.17.2.06.46.22.45.23.44.27.16.1.44.3.4.3.38.35.15.15.33.33.34.35.28.39.13.18.25.33.24.35.2.37.11.22.24.48.21.5.09.25.15.43.13.44.07.3.1.36.06.37.1.62.09.93v1.82l-.1.85-.15.78-.2.74-.23.66-.29.7-.5 1-.58 1-.63.91-.64.85-.68.8-.7.79-.73.76-.75.74-.8.75-.82.73-.85.73-.88.75-.9.74-.95.73-1 .77-2 1.48-2.12 1.52-2.14 1.59-2.28 1.52-2.32 1.52-2.4 1.51-2.4 1.5-2.42 1.49-2.43 1.46-2.42 1.44-2.41 1.43-2.35 1.35-2.3 1.28-2.22 1.24-2.13 1.13-2.05 1.08-1.92 1-1.8.93-1.67.83-1.51.75-1.37.67-1.23.55-1 .42-1.36.56-1.4.64-1.54.7-1.61.78-1.69.82-1.66.85-3.32 1.68-3 1.57-2.41 1.3-2.24 1.21-.55.29-.56.23-.6.18-.6.15-.62.1h-.4l-.72.45-1 .6-1 .55-1 .53-1.09.58-1 .48-1 .47-1 .43-.43.17-1.18.78-1.37.9-1.38.87-1.4.83-1.4.82-1.42.8-.32.16h-.06l-1.4 1.05-1.42 1-1.47 1-1.48 1-1.79 1.24-.86.46-.9.44-1.84.83-1 .43-.34.37-2.21 2.42-1.1 1.18-.59.62-.6.58-.61.6-.69.6-.78.63-.62.4-.38.25-.4.24-.32.16-.46.22-.47.2h-.15l-.42.15-.43.13h-.13l-.55.11-.59.1h-.04l-.49.05h-1.06l-.55-.05-.57-.08-.55-.13h-.1l-.47-.13-.45-.17-.43-.18-.42-.22-.1-.05-.53-.3-.52-.35-.48-.38-.08-.07-.44-.4-.4-.42-.36-.45-.09-.1-.26-.38-.25-.4-.24-.4-.06-.12-.25-.51-.22-.54-.05-.15-.15-.45-.13-.46-.12-.52-.18-.76-.06-.76v-1.84l.06-.48v-.15l.08-.42.12-.41v-.15l.12-.39.15-.36.18-.49.37-.73.25-.43.2-.32.2-.3.23-.32.25-.33.27-.33.5-.55.73-.74.73-.63.49-.37-.24-.16-.33-.25-.1-.09-.38-.33-.35-.35-.09-.1-.38-.42-.35-.45-.07-.1-.33-.5-.3-.51-.05-.1-.2-.4-.17-.4-.15-.4v-.1l-.13-.42-.1-.43-.09-.42v-.12l-.07-.41v-1.54l.05-.56v-.12l.08-.53.12-.54v-.11l.13-.44.14-.41.05-.12.21-.52.24-.48.13-.25.28-.5.34-.47.18-.26.25-.32.27-.33.54-.54.68-.65.58-.5-.08-.81v-2.04l.12-.59.13-.58.2-.55v-.15l.15-.4.19-.4.2-.37.1-.16.23-.4.25-.39.32-.43.51-.62.55-.58.85-.8.92-.75.92-.7 1-.7 1-.68 1.06-.7 1.1-.72 1.17-.72 1.22-.73 2.46-1.45 2.57-1.48.2-.1.12-.3.18-.4.22-.4.13-.24.27-.41.26-.4.32-.39.17-.2.38-.43.43-.4.1-.08.3-.27.34-.25.23-.18 4.75-3.19 5.23-3.55 5.5-3.76 5.35-3.69 8.79-6.05 3.61-2.5.52-.33.55-.28.55-.25.58-.22.59-.17.61-.11.6-.09h1.24zm20.54 83.62.66-1.07.8-1 .89-.95 1.81-1.3 1.07-.48 3.35 1.08 1.28-1.72 1.64-1.55 1.88-1.23 2.07-.9 2.18-.52 2.25-.13 2.23.27 2.15.63 2 1 1.8 1.33 1.53 1.63 1.25 1.89.89 2.06.51 2.19.15.91.09 1.47.16 1.3-.56.55-.25 1.15-.42 1.7-.27 1.05-.05.19-.18.93-.27 1.18-.3 1.25-.36 1.3-.44 1.37-.5 1.42-.56 1.38-.39.82-.36.75-.42.78-.45.78-.48.79-.55.8-.6.81-.67.82-.75.82-.82.8h-.05l-.85.75-1 .75-1.1.72-1.17.66-1.26.59-1.35.48-1.4.38-1.45.27-1.47.13h-1.47l-1.43-.1-1.42-.2-1.36-.32-1.49-.45-1.38-.55-1.38-.78-1.19-.85-1.2-1.07-1.31-1.55-1-1.63-.7-1.48-.48-1.32-.33-1.23-.25-1.14-.15-1.08-.12-1.05-.05-1v-2l.05-.85v-.15l.15-1 .18-1 .24-1 .28-1.05.37-1.08.45-1.13.55-1.17.7-1.23.71-1.07.42-1.25.55-1.18zm7.33 19.7-.22-.07.34.12-.69-.3-.16-.05zm-3.42-2.49.47.42-.57-.57-.08-.08zm11.09-2.86-.22.16.8-.5-.37-.36zm13.11-4.95 2.37.5 1.6-4.4zm4-4 .14-.38v-.35z" fill="#fff"/><path d="m579.92 998.37h1.11l1.59.05 1.58.1 1.62.15 1.63.2 1.58.27.92.18.88.18.89.24.91.26.94.3 1 .37 1 .43 1 .52 1.1.62 1.13.73 1.18.88 1.19 1.07 1.16 1.28 1 1.34.75 1.21.62 1.19.57 1.3.46 1.43.37 1.52.22 1.61v1.67l-.12 1.67-.28 1.65-.44 1.55-.55 1.45-.66 1.31-.7 1.19-.77 1-.77.93-.76.8-.75.72-.87.73-1.28 1-1.37.85-1.28.68-1.24.59-1.18.5-1.15.43-1.12.38-1.1.34-1.06.31-1.07.29-1.07.26-2 .44-1.73.46-1.8.33-1.62.3-2.68.47-2.88.53-3.25.57-3.5.57-3.67.55-1.82.26v.14h.35l2.5.72 2.34 1.11 2.1 1.54 1.81 1.85 1.45 2.15 1.07 2.36.65 2.5.2 2.6-.23 2.59-.7 2.5-1.1 2.33-1.5 2.13-1.85 1.82-2.14 1.48-2.35 1.1-2.5.67h-.31l-.05.13-.62 1.54-1.5 2.16-1.13 1.25-.9.85-.82.7-.85.64-.83.58-.85.53-.95.52-1.37.65-1.32.5-1 .33-.9.27-.27.08.5-.18.5-.22.37-.2.43-.25.47-.31.48-.35.45-.4.44-.42.36-.42.34-.4.26-.36.2-.34.09-.15-6 1.84h1.09-.5l-1.14.16h-.21l-12.35 3.8-1-3.14-14.78.12-11.19.08h-8.71l-2.52-.23-2.47-.65-2.3-1.07-2.08-1.45-1.8-1.8-.85-1.22-.67-.21-.88-.34-.92-.4-.95-.48-1-.55-1.05-.68-1.06-.82-1.09-1-1.08-1.15-1-1.32-.95-1.51-.15-.3h-30.47l-2.21.15-1.34.09-1.46.08h-4.25l-1-.07-1-.1-1.13-.15-1.23-.25-1.39-.35-1.55-.51-1.73-.79-1.68-1-1.22-.91-1-.92-1-1.07-1-1.25-.88-1.38-.74-1.52-.58-1.6-.4-1.63-.22-1.6-.05-1.55.09-1.45.18-1.35.28-1.23.37-1.24.58-1.51.77-1.55.88-1.45 1-1.34 1.07-1.2 1.12-1.06 1.13-.92 1.12-.78 1.1-.69 1.06-.56 1-.49 1-.4.93-.33.89-.3.85-.23.88-.24 1.4-.31 1.35-.25 1.2-.19 1-.15.56-.1.35-1.73.42-1.62 1.35-2.6 1.42-1.86 1.51-1.54 1.84-1.36 1.53-.85 1-.5.82-.35.82-.34.88-.33 1.5-.5 1.57-.47 1.55-.38 1.55-.35 1.55-.3 1.55-.27 1.55-.23 1.56-.22 1.57-.2 1.57-.16 1.56-.15 1.59-.15 2.11-.17 1-.07 3.05-.2 2.95-.16 5.48-.3 2.42-.15 2.15-.17.88-.07.82-.08.68-.08.6-.09 3.94-.61 4-.65 4-.69 4.05-.71 4.06-.74 4.09-.75 8.21-1.51 4.15-.77 4.17-.75 4.18-.73 4.2-.72 4.24-.68 4.25-.67 4.26-.62 4.2-.56 1.84-.25 1.66-.22 2-.23 2.37-.27 2.62-.23 2.76-.22 1.49-.1 1.5-.07 1.51-.06h3.54z" fill="#808080"/></g></svg>
|
{images → assets/img}/payment-methods/alipay.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/amex.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/bancontact.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/diners.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/discover.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/eps.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/giropay.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/ideal.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/jcb.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/laser.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/maestro.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/mastercard.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/multibanco.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/p24.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/sepa.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/sofort.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/unionpay.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/visa.svg
RENAMED
File without changes
|
{images → assets/img}/payment-methods/wechat.svg
RENAMED
File without changes
|
{images/previews → assets/img}/pennant.jpg
RENAMED
File without changes
|
assets/img/single-product-preview.svg
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 230 100">
|
2 |
+
<g fill="#E1E3E6" fill-rule="nonzero">
|
3 |
+
<path d="M76 0h11v6H76zM76 11h88v11H76zM76 27h28v6H76zM76 44h154v28H76zM76 83h22v17H76zM104 83h44v17h-44zM0 0h66v66H0z"/>
|
4 |
+
</g>
|
5 |
+
</svg>
|
assets/js/atomic/utils/index.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
-
export * from './get-block-map';
|
2 |
-
export * from './create-blocks-from-template';
|
3 |
-
export * from './render-parent-block';
|
|
|
4 |
export * from './block-styling.js';
|
5 |
-
export * from './render-standalone-blocks';
|
1 |
+
export * from './get-block-map.js';
|
2 |
+
export * from './create-blocks-from-template.js';
|
3 |
+
export * from './render-parent-block.js';
|
4 |
+
export * from './render-inner-blocks.js';
|
5 |
export * from './block-styling.js';
|
6 |
+
export * from './render-standalone-blocks.js';
|
assets/js/atomic/utils/render-inner-blocks.js
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import { Suspense, cloneElement, isValidElement } from '@wordpress/element';
|
5 |
+
import parse from 'html-react-parser';
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Internal dependencies
|
9 |
+
*/
|
10 |
+
import { getBlockMap } from './get-block-map';
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Replaces saved block HTML markup with Inner Block Components.
|
14 |
+
*
|
15 |
+
* @param {Object} props Render props.
|
16 |
+
* @param {Array} props.children Children/inner blocks to render.
|
17 |
+
* @param {string} props.blockName Parent Block Name used to get the block map and for keys.
|
18 |
+
* @param {number} [props.depth] Depth of inner blocks being rendered.
|
19 |
+
*/
|
20 |
+
export const renderInnerBlocks = ( {
|
21 |
+
children,
|
22 |
+
blockName: parentBlockName,
|
23 |
+
depth = 1,
|
24 |
+
} ) => {
|
25 |
+
const blockMap = getBlockMap( parentBlockName );
|
26 |
+
|
27 |
+
return Array.from( children ).map( ( el, index ) => {
|
28 |
+
const componentProps = {
|
29 |
+
...el.dataset,
|
30 |
+
key: `${ parentBlockName }_${ depth }_${ index }`,
|
31 |
+
};
|
32 |
+
|
33 |
+
const componentChildren =
|
34 |
+
el.children && el.children.length
|
35 |
+
? renderInnerBlocks( {
|
36 |
+
children: el.children,
|
37 |
+
blockName: parentBlockName,
|
38 |
+
depth: depth + 1,
|
39 |
+
} )
|
40 |
+
: null;
|
41 |
+
|
42 |
+
const LayoutComponent =
|
43 |
+
componentProps.blockName && blockMap[ componentProps.blockName ]
|
44 |
+
? blockMap[ componentProps.blockName ]
|
45 |
+
: null;
|
46 |
+
|
47 |
+
if ( ! LayoutComponent ) {
|
48 |
+
const element = parse( el.outerHTML );
|
49 |
+
|
50 |
+
if ( isValidElement( element ) ) {
|
51 |
+
return componentChildren
|
52 |
+
? cloneElement( element, componentProps, componentChildren )
|
53 |
+
: cloneElement( element, componentProps );
|
54 |
+
}
|
55 |
+
return null;
|
56 |
+
}
|
57 |
+
|
58 |
+
return (
|
59 |
+
<Suspense
|
60 |
+
key={ `${ parentBlockName }_${ depth }_${ index }_suspense` }
|
61 |
+
fallback={ <div className="wc-block-placeholder" /> }
|
62 |
+
>
|
63 |
+
<LayoutComponent { ...componentProps }>
|
64 |
+
{ componentChildren }
|
65 |
+
</LayoutComponent>
|
66 |
+
</Suspense>
|
67 |
+
);
|
68 |
+
} );
|
69 |
+
};
|
assets/js/atomic/utils/render-parent-block.js
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import { renderFrontend } from '@woocommerce/base-utils';
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Internal dependencies
|
8 |
+
*/
|
9 |
+
import { renderInnerBlocks } from './render-inner-blocks';
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Renders a block component in the place of a specified set of selectors.
|
13 |
+
*
|
14 |
+
* @param {Object} props Render props.
|
15 |
+
* @param {Function} props.Block React component to use as a replacement.
|
16 |
+
* @param {string} props.selector CSS selector to match the elements to replace.
|
17 |
+
* @param {string} [props.blockName] Optional Block Name. Used for inner block component mapping.
|
18 |
+
* @param {Function} [props.getProps] Function to generate the props object for the block.
|
19 |
+
*/
|
20 |
+
export const renderParentBlock = ( {
|
21 |
+
Block,
|
22 |
+
selector,
|
23 |
+
blockName = '',
|
24 |
+
getProps = () => {},
|
25 |
+
} ) => {
|
26 |
+
const getPropsWithChildren = ( el, i ) => {
|
27 |
+
const children =
|
28 |
+
el.children && el.children.length
|
29 |
+
? renderInnerBlocks( {
|
30 |
+
blockName,
|
31 |
+
children: el.children,
|
32 |
+
} )
|
33 |
+
: null;
|
34 |
+
return { ...getProps( el, i ), children };
|
35 |
+
};
|
36 |
+
renderFrontend( {
|
37 |
+
Block,
|
38 |
+
selector,
|
39 |
+
getProps: getPropsWithChildren,
|
40 |
+
} );
|
41 |
+
};
|
assets/js/atomic/utils/render-parent-block.tsx
DELETED
@@ -1,126 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { renderFrontend } from '@woocommerce/base-utils';
|
5 |
-
import {
|
6 |
-
Fragment,
|
7 |
-
Suspense,
|
8 |
-
cloneElement,
|
9 |
-
isValidElement,
|
10 |
-
} from '@wordpress/element';
|
11 |
-
import parse from 'html-react-parser';
|
12 |
-
|
13 |
-
interface renderBlockProps {
|
14 |
-
// Parent Block Name. Used for inner block component mapping.
|
15 |
-
blockName: string;
|
16 |
-
// Map of block names to block components for children.
|
17 |
-
blockMap: Record< string, React.ReactNode >;
|
18 |
-
// Wrapper for inner components.
|
19 |
-
blockWrapper?: React.ReactNode;
|
20 |
-
}
|
21 |
-
|
22 |
-
interface renderParentBlockProps extends renderBlockProps {
|
23 |
-
// React component to use as a replacement.
|
24 |
-
Block: React.FunctionComponent;
|
25 |
-
// CSS selector to match the elements to replace.
|
26 |
-
selector: string;
|
27 |
-
// Function to generate the props object for the block.
|
28 |
-
getProps: ( el: Element, i: number ) => Record< string, unknown >;
|
29 |
-
}
|
30 |
-
|
31 |
-
interface renderInnerBlockProps extends renderBlockProps {
|
32 |
-
children: HTMLCollection;
|
33 |
-
depth?: number;
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Replaces saved block HTML markup with Inner Block Components.
|
38 |
-
*/
|
39 |
-
const renderInnerBlocks = ( {
|
40 |
-
blockName: parentBlockName,
|
41 |
-
blockMap,
|
42 |
-
blockWrapper,
|
43 |
-
depth = 1,
|
44 |
-
children,
|
45 |
-
}: renderInnerBlockProps ): ( JSX.Element | null )[] | null => {
|
46 |
-
return Array.from( children ).map( ( el: Element, index: number ) => {
|
47 |
-
const { blockName = '', ...componentProps } = {
|
48 |
-
key: `${ parentBlockName }_${ depth }_${ index }`,
|
49 |
-
...( el instanceof HTMLElement ? el.dataset : {} ),
|
50 |
-
};
|
51 |
-
|
52 |
-
const componentChildren =
|
53 |
-
el.children && el.children.length
|
54 |
-
? renderInnerBlocks( {
|
55 |
-
children: el.children,
|
56 |
-
blockName: parentBlockName,
|
57 |
-
blockMap,
|
58 |
-
depth: depth + 1,
|
59 |
-
blockWrapper,
|
60 |
-
} )
|
61 |
-
: null;
|
62 |
-
|
63 |
-
const LayoutComponent =
|
64 |
-
blockName && blockMap[ blockName ]
|
65 |
-
? ( blockMap[ blockName ] as React.ElementType )
|
66 |
-
: null;
|
67 |
-
|
68 |
-
if ( ! LayoutComponent ) {
|
69 |
-
const element = parse( el.outerHTML );
|
70 |
-
|
71 |
-
if ( isValidElement( element ) ) {
|
72 |
-
return componentChildren
|
73 |
-
? cloneElement( element, componentProps, componentChildren )
|
74 |
-
: cloneElement( element, componentProps );
|
75 |
-
}
|
76 |
-
return null;
|
77 |
-
}
|
78 |
-
|
79 |
-
const LayoutComponentWrapper = ( blockWrapper
|
80 |
-
? blockWrapper
|
81 |
-
: Fragment ) as React.ElementType;
|
82 |
-
|
83 |
-
return (
|
84 |
-
<Suspense
|
85 |
-
key={ `${ parentBlockName }_${ depth }_${ index }_suspense` }
|
86 |
-
fallback={ <div className="wc-block-placeholder" /> }
|
87 |
-
>
|
88 |
-
<LayoutComponentWrapper>
|
89 |
-
<LayoutComponent { ...componentProps }>
|
90 |
-
{ componentChildren }
|
91 |
-
</LayoutComponent>
|
92 |
-
</LayoutComponentWrapper>
|
93 |
-
</Suspense>
|
94 |
-
);
|
95 |
-
} );
|
96 |
-
};
|
97 |
-
|
98 |
-
/**
|
99 |
-
* Renders a block component in the place of a specified set of selectors.
|
100 |
-
*/
|
101 |
-
export const renderParentBlock = ( {
|
102 |
-
Block,
|
103 |
-
selector,
|
104 |
-
blockName,
|
105 |
-
getProps = () => ( {} ),
|
106 |
-
blockMap,
|
107 |
-
blockWrapper,
|
108 |
-
}: renderParentBlockProps ): void => {
|
109 |
-
const getPropsWithChildren = ( el: Element, i: number ) => {
|
110 |
-
const children =
|
111 |
-
el.children && el.children.length
|
112 |
-
? renderInnerBlocks( {
|
113 |
-
blockName,
|
114 |
-
blockMap,
|
115 |
-
children: el.children,
|
116 |
-
blockWrapper,
|
117 |
-
} )
|
118 |
-
: null;
|
119 |
-
return { ...getProps( el, i ), children };
|
120 |
-
};
|
121 |
-
renderFrontend( {
|
122 |
-
Block,
|
123 |
-
selector,
|
124 |
-
getProps: getPropsWithChildren,
|
125 |
-
} );
|
126 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/block-error-boundary/block-error.js
CHANGED
@@ -2,11 +2,11 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
|
|
5 |
import PropTypes from 'prop-types';
|
6 |
-
import { WC_BLOCKS_IMAGE_URL } from '@woocommerce/block-settings';
|
7 |
|
8 |
const BlockError = ( {
|
9 |
-
imageUrl = `${
|
10 |
header = __( 'Oops!', 'woo-gutenberg-products-block' ),
|
11 |
text = __(
|
12 |
'There was an error loading the content.',
|
@@ -14,7 +14,6 @@ const BlockError = ( {
|
|
14 |
),
|
15 |
errorMessage,
|
16 |
errorMessagePrefix = __( 'Error:', 'woo-gutenberg-products-block' ),
|
17 |
-
button,
|
18 |
} ) => {
|
19 |
return (
|
20 |
<div className="wc-block-error wc-block-components-error">
|
@@ -42,11 +41,6 @@ const BlockError = ( {
|
|
42 |
{ errorMessage }
|
43 |
</p>
|
44 |
) }
|
45 |
-
{ button && (
|
46 |
-
<p className="wc-block-error__button wc-block-components-error__button">
|
47 |
-
{ button }
|
48 |
-
</p>
|
49 |
-
) }
|
50 |
</div>
|
51 |
</div>
|
52 |
);
|
@@ -79,10 +73,6 @@ BlockError.propTypes = {
|
|
79 |
* Text preceeding the error message.
|
80 |
*/
|
81 |
errorMessagePrefix: PropTypes.string,
|
82 |
-
/**
|
83 |
-
* Button cta.
|
84 |
-
*/
|
85 |
-
button: PropTypes.node,
|
86 |
};
|
87 |
|
88 |
export default BlockError;
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
|
6 |
import PropTypes from 'prop-types';
|
|
|
7 |
|
8 |
const BlockError = ( {
|
9 |
+
imageUrl = `${ WC_BLOCKS_ASSET_URL }img/block-error.svg`,
|
10 |
header = __( 'Oops!', 'woo-gutenberg-products-block' ),
|
11 |
text = __(
|
12 |
'There was an error loading the content.',
|
14 |
),
|
15 |
errorMessage,
|
16 |
errorMessagePrefix = __( 'Error:', 'woo-gutenberg-products-block' ),
|
|
|
17 |
} ) => {
|
18 |
return (
|
19 |
<div className="wc-block-error wc-block-components-error">
|
41 |
{ errorMessage }
|
42 |
</p>
|
43 |
) }
|
|
|
|
|
|
|
|
|
|
|
44 |
</div>
|
45 |
</div>
|
46 |
);
|
73 |
* Text preceeding the error message.
|
74 |
*/
|
75 |
errorMessagePrefix: PropTypes.string,
|
|
|
|
|
|
|
|
|
76 |
};
|
77 |
|
78 |
export default BlockError;
|
assets/js/base/components/block-error-boundary/index.js
CHANGED
@@ -40,7 +40,6 @@ class BlockErrorBoundary extends Component {
|
|
40 |
text,
|
41 |
errorMessagePrefix,
|
42 |
renderError,
|
43 |
-
button,
|
44 |
} = this.props;
|
45 |
const { errorMessage, hasError } = this.state;
|
46 |
|
@@ -55,7 +54,6 @@ class BlockErrorBoundary extends Component {
|
|
55 |
imageUrl={ imageUrl }
|
56 |
text={ text }
|
57 |
errorMessagePrefix={ errorMessagePrefix }
|
58 |
-
button={ button }
|
59 |
/>
|
60 |
);
|
61 |
}
|
40 |
text,
|
41 |
errorMessagePrefix,
|
42 |
renderError,
|
|
|
43 |
} = this.props;
|
44 |
const { errorMessage, hasError } = this.state;
|
45 |
|
54 |
imageUrl={ imageUrl }
|
55 |
text={ text }
|
56 |
errorMessagePrefix={ errorMessagePrefix }
|
|
|
57 |
/>
|
58 |
);
|
59 |
}
|
assets/js/base/components/block-error-boundary/style.scss
CHANGED
@@ -1,34 +1,37 @@
|
|
1 |
.wc-block-components-error {
|
2 |
display: flex;
|
3 |
-
|
4 |
-
|
|
|
5 |
align-items: center;
|
6 |
justify-content: center;
|
7 |
flex-direction: column;
|
8 |
color: $gray-700;
|
9 |
-
text-align: center;
|
10 |
}
|
|
|
11 |
.wc-block-components-error__header {
|
12 |
@include font-size(larger);
|
|
|
13 |
margin: 0;
|
14 |
-
color: $studio-gray-50;
|
15 |
}
|
|
|
16 |
.wc-block-components-error__image {
|
17 |
-
width: 25%;
|
18 |
-
margin: 0 0 $gap-large 0;
|
19 |
}
|
20 |
.wc-block-components-error__text {
|
21 |
-
margin:
|
22 |
-
color: $studio-gray-30;
|
23 |
-
@include font-size(large);
|
24 |
-
max-width: 60ch;
|
25 |
}
|
26 |
.wc-block-components-error__message {
|
27 |
-
margin: 1em 0 0;
|
28 |
font-style: italic;
|
29 |
-
color: $studio-gray-30;
|
30 |
-
max-width: 60ch;
|
31 |
}
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
1 |
.wc-block-components-error {
|
2 |
display: flex;
|
3 |
+
background-color: $gray-100;
|
4 |
+
border-left: 4px solid $gray-300;
|
5 |
+
padding: $gap-larger $gap;
|
6 |
align-items: center;
|
7 |
justify-content: center;
|
8 |
flex-direction: column;
|
9 |
color: $gray-700;
|
|
|
10 |
}
|
11 |
+
|
12 |
.wc-block-components-error__header {
|
13 |
@include font-size(larger);
|
14 |
+
font-weight: bold;
|
15 |
margin: 0;
|
|
|
16 |
}
|
17 |
+
|
18 |
.wc-block-components-error__image {
|
19 |
+
max-width: 25%;
|
|
|
20 |
}
|
21 |
.wc-block-components-error__text {
|
22 |
+
margin: 0;
|
|
|
|
|
|
|
23 |
}
|
24 |
.wc-block-components-error__message {
|
25 |
+
margin: 1em 0 0 0;
|
26 |
font-style: italic;
|
|
|
|
|
27 |
}
|
28 |
+
|
29 |
+
@include breakpoint(">480px") {
|
30 |
+
.wc-block-components-error {
|
31 |
+
flex-direction: row;
|
32 |
+
}
|
33 |
+
|
34 |
+
.wc-block-components-error__image + .wc-block-components-error__content {
|
35 |
+
margin-left: $gap-large;
|
36 |
+
}
|
37 |
}
|
assets/js/base/components/button/index.tsx
CHANGED
@@ -4,8 +4,6 @@
|
|
4 |
import { Button as WPButton } from 'wordpress-components';
|
5 |
import type { ReactNode } from 'react';
|
6 |
import classNames from 'classnames';
|
7 |
-
import Spinner from '@woocommerce/base-components/spinner';
|
8 |
-
|
9 |
/**
|
10 |
* Internal dependencies
|
11 |
*/
|
@@ -37,7 +35,12 @@ const Button = ( {
|
|
37 |
|
38 |
return (
|
39 |
<WPButton className={ buttonClassName } { ...props }>
|
40 |
-
{ showSpinner &&
|
|
|
|
|
|
|
|
|
|
|
41 |
<span className="wc-block-components-button__text">
|
42 |
{ children }
|
43 |
</span>
|
4 |
import { Button as WPButton } from 'wordpress-components';
|
5 |
import type { ReactNode } from 'react';
|
6 |
import classNames from 'classnames';
|
|
|
|
|
7 |
/**
|
8 |
* Internal dependencies
|
9 |
*/
|
35 |
|
36 |
return (
|
37 |
<WPButton className={ buttonClassName } { ...props }>
|
38 |
+
{ showSpinner && (
|
39 |
+
<span
|
40 |
+
className="wc-block-components-button__spinner"
|
41 |
+
aria-hidden="true"
|
42 |
+
/>
|
43 |
+
) }
|
44 |
<span className="wc-block-components-button__text">
|
45 |
{ children }
|
46 |
</span>
|
assets/js/base/components/button/style.scss
CHANGED
@@ -29,7 +29,45 @@
|
|
29 |
fill: currentColor;
|
30 |
}
|
31 |
}
|
32 |
-
.wc-block-components-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
visibility: hidden;
|
34 |
}
|
35 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
fill: currentColor;
|
30 |
}
|
31 |
}
|
32 |
+
.wc-block-components-button__spinner {
|
33 |
+
width: 1em;
|
34 |
+
height: 1em;
|
35 |
+
position: absolute;
|
36 |
+
top: 50%;
|
37 |
+
left: 0;
|
38 |
+
width: 100%;
|
39 |
+
height: 100%;
|
40 |
+
margin-top: -0.5em;
|
41 |
+
color: inherit;
|
42 |
+
box-sizing: content-box;
|
43 |
+
|
44 |
+
&::after {
|
45 |
+
content: " ";
|
46 |
+
display: inline-block;
|
47 |
+
margin: 0 auto;
|
48 |
+
width: 1em;
|
49 |
+
height: 1em;
|
50 |
+
box-sizing: border-box;
|
51 |
+
transform-origin: 50% 50%;
|
52 |
+
transform: translateZ(0) scale(0.5);
|
53 |
+
backface-visibility: hidden;
|
54 |
+
border-radius: 50%;
|
55 |
+
border: 0.2em solid currentColor;
|
56 |
+
border-left-color: transparent;
|
57 |
+
animation: wc-block-components-button__spinner__animation 1s infinite linear;
|
58 |
+
}
|
59 |
+
}
|
60 |
+
.wc-block-components-button__spinner + .wc-block-components-button__text {
|
61 |
visibility: hidden;
|
62 |
}
|
63 |
}
|
64 |
+
|
65 |
+
@keyframes wc-block-components-button__spinner__animation {
|
66 |
+
0% {
|
67 |
+
animation-timing-function: cubic-bezier(0.5856, 0.0703, 0.4143, 0.9297);
|
68 |
+
transform: rotate(0deg);
|
69 |
+
}
|
70 |
+
100% {
|
71 |
+
transform: rotate(360deg);
|
72 |
+
}
|
73 |
+
}
|
assets/js/base/components/cart-checkout/address-form/{address-form.tsx → address-form.js}
RENAMED
@@ -16,13 +16,7 @@ import { useEffect, useMemo } from '@wordpress/element';
|
|
16 |
import { __ } from '@wordpress/i18n';
|
17 |
import { withInstanceId } from '@woocommerce/base-hocs/with-instance-id';
|
18 |
import { useShallowEqual } from '@woocommerce/base-hooks';
|
19 |
-
import {
|
20 |
-
AddressField,
|
21 |
-
AddressFields,
|
22 |
-
AddressType,
|
23 |
-
defaultAddressFields,
|
24 |
-
EnteredAddress,
|
25 |
-
} from '@woocommerce/settings';
|
26 |
|
27 |
/**
|
28 |
* Internal dependencies
|
@@ -32,11 +26,11 @@ import prepareAddressFields from './prepare-address-fields';
|
|
32 |
// If it's the shipping address form and the user starts entering address
|
33 |
// values without having set the country first, show an error.
|
34 |
const validateShippingCountry = (
|
35 |
-
values
|
36 |
-
setValidationErrors
|
37 |
-
clearValidationError
|
38 |
-
hasValidationError
|
39 |
-
)
|
40 |
if (
|
41 |
! hasValidationError &&
|
42 |
! values.country &&
|
@@ -57,15 +51,6 @@ const validateShippingCountry = (
|
|
57 |
}
|
58 |
};
|
59 |
|
60 |
-
interface AddressFormProps {
|
61 |
-
id: string;
|
62 |
-
instanceId: string;
|
63 |
-
fields: ( keyof AddressFields )[];
|
64 |
-
fieldConfig: Record< keyof AddressFields, Partial< AddressField > >;
|
65 |
-
onChange: ( newValue: EnteredAddress ) => void;
|
66 |
-
type: AddressType;
|
67 |
-
values: EnteredAddress;
|
68 |
-
}
|
69 |
/**
|
70 |
* Checkout address form.
|
71 |
*
|
@@ -80,15 +65,13 @@ interface AddressFormProps {
|
|
80 |
*/
|
81 |
const AddressForm = ( {
|
82 |
id,
|
83 |
-
fields =
|
84 |
-
|
85 |
-
) as unknown ) as ( keyof AddressFields )[],
|
86 |
-
fieldConfig = {} as Record< keyof AddressFields, Partial< AddressField > >,
|
87 |
instanceId,
|
88 |
onChange,
|
89 |
type = 'shipping',
|
90 |
values,
|
91 |
-
}
|
92 |
const {
|
93 |
getValidationError,
|
94 |
setValidationErrors,
|
@@ -97,12 +80,8 @@ const AddressForm = ( {
|
|
97 |
|
98 |
const currentFields = useShallowEqual( fields );
|
99 |
|
100 |
-
const countryValidationError =
|
101 |
-
'shipping-missing-country'
|
102 |
-
) || {} ) as {
|
103 |
-
message: string;
|
104 |
-
hidden: boolean;
|
105 |
-
};
|
106 |
|
107 |
const addressFormFields = useMemo( () => {
|
108 |
return prepareAddressFields(
|
@@ -118,7 +97,7 @@ const AddressForm = ( {
|
|
118 |
values,
|
119 |
setValidationErrors,
|
120 |
clearValidationError,
|
121 |
-
|
122 |
! countryValidationError.hidden
|
123 |
);
|
124 |
}
|
@@ -216,7 +195,7 @@ const AddressForm = ( {
|
|
216 |
value={ values[ field.key ] }
|
217 |
autoCapitalize={ field.autocapitalize }
|
218 |
autoComplete={ field.autocomplete }
|
219 |
-
onChange={ ( newValue
|
220 |
onChange( {
|
221 |
...values,
|
222 |
[ field.key ]: newValue,
|
16 |
import { __ } from '@wordpress/i18n';
|
17 |
import { withInstanceId } from '@woocommerce/base-hocs/with-instance-id';
|
18 |
import { useShallowEqual } from '@woocommerce/base-hooks';
|
19 |
+
import { defaultAddressFields } from '@woocommerce/settings';
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
/**
|
22 |
* Internal dependencies
|
26 |
// If it's the shipping address form and the user starts entering address
|
27 |
// values without having set the country first, show an error.
|
28 |
const validateShippingCountry = (
|
29 |
+
values,
|
30 |
+
setValidationErrors,
|
31 |
+
clearValidationError,
|
32 |
+
hasValidationError
|
33 |
+
) => {
|
34 |
if (
|
35 |
! hasValidationError &&
|
36 |
! values.country &&
|
51 |
}
|
52 |
};
|
53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
/**
|
55 |
* Checkout address form.
|
56 |
*
|
65 |
*/
|
66 |
const AddressForm = ( {
|
67 |
id,
|
68 |
+
fields = Object.keys( defaultAddressFields ),
|
69 |
+
fieldConfig = {},
|
|
|
|
|
70 |
instanceId,
|
71 |
onChange,
|
72 |
type = 'shipping',
|
73 |
values,
|
74 |
+
} ) => {
|
75 |
const {
|
76 |
getValidationError,
|
77 |
setValidationErrors,
|
80 |
|
81 |
const currentFields = useShallowEqual( fields );
|
82 |
|
83 |
+
const countryValidationError =
|
84 |
+
getValidationError( 'shipping-missing-country' ) || {};
|
|
|
|
|
|
|
|
|
85 |
|
86 |
const addressFormFields = useMemo( () => {
|
87 |
return prepareAddressFields(
|
97 |
values,
|
98 |
setValidationErrors,
|
99 |
clearValidationError,
|
100 |
+
countryValidationError.message &&
|
101 |
! countryValidationError.hidden
|
102 |
);
|
103 |
}
|
195 |
value={ values[ field.key ] }
|
196 |
autoCapitalize={ field.autocapitalize }
|
197 |
autoComplete={ field.autocomplete }
|
198 |
+
onChange={ ( newValue ) =>
|
199 |
onChange( {
|
200 |
...values,
|
201 |
[ field.key ]: newValue,
|
assets/js/base/components/cart-checkout/address-form/{index.ts → index.js}
RENAMED
File without changes
|
assets/js/base/components/cart-checkout/address-form/{prepare-address-fields.ts → prepare-address-fields.js}
RENAMED
@@ -3,17 +3,8 @@
|
|
3 |
/**
|
4 |
* External dependencies
|
5 |
*/
|
6 |
-
import {
|
7 |
-
AddressField,
|
8 |
-
AddressFields,
|
9 |
-
CountryAddressFields,
|
10 |
-
defaultAddressFields,
|
11 |
-
getSetting,
|
12 |
-
KeyedAddressField,
|
13 |
-
LocaleSpecificAddressField,
|
14 |
-
} from '@woocommerce/settings';
|
15 |
import { __, sprintf } from '@wordpress/i18n';
|
16 |
-
import { isNumber, isString } from '@woocommerce/types';
|
17 |
|
18 |
/**
|
19 |
* This is locale data from WooCommerce countries class. This doesn't match the shape of the new field data blocks uses,
|
@@ -21,7 +12,7 @@ import { isNumber, isString } from '@woocommerce/types';
|
|
21 |
*
|
22 |
* This supports new properties such as optionalLabel which are not used by core (yet).
|
23 |
*/
|
24 |
-
const coreLocale = getSetting
|
25 |
|
26 |
/**
|
27 |
* Gets props from the core locale, then maps them to the shape we require in the client.
|
@@ -31,10 +22,8 @@ const coreLocale = getSetting< CountryAddressFields >( 'countryLocale', {} );
|
|
31 |
* @param {Object} localeField Locale fields from WooCommerce.
|
32 |
* @return {Object} Supported locale fields.
|
33 |
*/
|
34 |
-
const getSupportedCoreLocaleProps = (
|
35 |
-
|
36 |
-
): Partial< AddressField > => {
|
37 |
-
const fields: Partial< AddressField > = {};
|
38 |
|
39 |
if ( localeField.label !== undefined ) {
|
40 |
fields.label = localeField.label;
|
@@ -57,22 +46,17 @@ const getSupportedCoreLocaleProps = (
|
|
57 |
}
|
58 |
|
59 |
if ( localeField.priority ) {
|
60 |
-
|
61 |
-
fields.index = localeField.priority;
|
62 |
-
}
|
63 |
-
if ( isString( localeField.priority ) ) {
|
64 |
-
fields.index = parseInt( localeField.priority, 10 );
|
65 |
-
}
|
66 |
}
|
67 |
|
68 |
-
if ( localeField.hidden ) {
|
69 |
fields.required = false;
|
70 |
}
|
71 |
|
72 |
return fields;
|
73 |
};
|
74 |
|
75 |
-
const countryAddressFields
|
76 |
.map( ( [ country, countryLocale ] ) => [
|
77 |
country,
|
78 |
Object.entries( countryLocale )
|
@@ -81,15 +65,11 @@ const countryAddressFields: CountryAddressFields = Object.entries( coreLocale )
|
|
81 |
getSupportedCoreLocaleProps( localeField ),
|
82 |
] )
|
83 |
.reduce( ( obj, [ key, val ] ) => {
|
84 |
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
85 |
-
// @ts-ignore - Ignoring because it should be fine as long as the data from the server is correct. TS won't catch it anyway if it's not.
|
86 |
obj[ key ] = val;
|
87 |
return obj;
|
88 |
}, {} ),
|
89 |
] )
|
90 |
.reduce( ( obj, [ key, val ] ) => {
|
91 |
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
92 |
-
// @ts-ignore - Ignoring because it should be fine as long as the data from the server is correct. TS won't catch it anyway if it's not.
|
93 |
obj[ key ] = val;
|
94 |
return obj;
|
95 |
}, {} );
|
@@ -102,15 +82,11 @@ const countryAddressFields: CountryAddressFields = Object.entries( coreLocale )
|
|
102 |
* @param {string} addressCountry Address country code. If unknown, locale fields will not be merged.
|
103 |
* @return {CountryAddressFields} Object containing address fields.
|
104 |
*/
|
105 |
-
const prepareAddressFields = (
|
106 |
-
|
107 |
-
fieldConfigs: Record< string, Partial< AddressField > >,
|
108 |
-
addressCountry = ''
|
109 |
-
): KeyedAddressField[] => {
|
110 |
-
const localeConfigs: AddressFields =
|
111 |
addressCountry && countryAddressFields[ addressCountry ] !== undefined
|
112 |
? countryAddressFields[ addressCountry ]
|
113 |
-
:
|
114 |
|
115 |
return fields
|
116 |
.map( ( field ) => {
|
3 |
/**
|
4 |
* External dependencies
|
5 |
*/
|
6 |
+
import { defaultAddressFields, getSetting } from '@woocommerce/settings';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
import { __, sprintf } from '@wordpress/i18n';
|
|
|
8 |
|
9 |
/**
|
10 |
* This is locale data from WooCommerce countries class. This doesn't match the shape of the new field data blocks uses,
|
12 |
*
|
13 |
* This supports new properties such as optionalLabel which are not used by core (yet).
|
14 |
*/
|
15 |
+
const coreLocale = getSetting( 'countryLocale', {} );
|
16 |
|
17 |
/**
|
18 |
* Gets props from the core locale, then maps them to the shape we require in the client.
|
22 |
* @param {Object} localeField Locale fields from WooCommerce.
|
23 |
* @return {Object} Supported locale fields.
|
24 |
*/
|
25 |
+
const getSupportedCoreLocaleProps = ( localeField ) => {
|
26 |
+
const fields = {};
|
|
|
|
|
27 |
|
28 |
if ( localeField.label !== undefined ) {
|
29 |
fields.label = localeField.label;
|
46 |
}
|
47 |
|
48 |
if ( localeField.priority ) {
|
49 |
+
fields.index = parseInt( localeField.priority, 10 );
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
|
52 |
+
if ( localeField.hidden === true ) {
|
53 |
fields.required = false;
|
54 |
}
|
55 |
|
56 |
return fields;
|
57 |
};
|
58 |
|
59 |
+
const countryAddressFields = Object.entries( coreLocale )
|
60 |
.map( ( [ country, countryLocale ] ) => [
|
61 |
country,
|
62 |
Object.entries( countryLocale )
|
65 |
getSupportedCoreLocaleProps( localeField ),
|
66 |
] )
|
67 |
.reduce( ( obj, [ key, val ] ) => {
|
|
|
|
|
68 |
obj[ key ] = val;
|
69 |
return obj;
|
70 |
}, {} ),
|
71 |
] )
|
72 |
.reduce( ( obj, [ key, val ] ) => {
|
|
|
|
|
73 |
obj[ key ] = val;
|
74 |
return obj;
|
75 |
}, {} );
|
82 |
* @param {string} addressCountry Address country code. If unknown, locale fields will not be merged.
|
83 |
* @return {CountryAddressFields} Object containing address fields.
|
84 |
*/
|
85 |
+
const prepareAddressFields = ( fields, fieldConfigs, addressCountry = '' ) => {
|
86 |
+
const localeConfigs =
|
|
|
|
|
|
|
|
|
87 |
addressCountry && countryAddressFields[ addressCountry ] !== undefined
|
88 |
? countryAddressFields[ addressCountry ]
|
89 |
+
: {};
|
90 |
|
91 |
return fields
|
92 |
.map( ( field ) => {
|
assets/js/base/components/cart-checkout/order-summary/index.js
CHANGED
@@ -23,7 +23,7 @@ const OrderSummary = ( { cartItems = [] } ) => {
|
|
23 |
<Panel
|
24 |
className="wc-block-components-order-summary"
|
25 |
initialOpen={ isLarge }
|
26 |
-
hasBorder={
|
27 |
title={
|
28 |
<span className="wc-block-components-order-summary__button-text">
|
29 |
{ __( 'Order summary', 'woo-gutenberg-products-block' ) }
|
23 |
<Panel
|
24 |
className="wc-block-components-order-summary"
|
25 |
initialOpen={ isLarge }
|
26 |
+
hasBorder={ true }
|
27 |
title={
|
28 |
<span className="wc-block-components-order-summary__button-text">
|
29 |
{ __( 'Order summary', 'woo-gutenberg-products-block' ) }
|
assets/js/base/components/cart-checkout/order-summary/order-summary-item.js
CHANGED
@@ -8,13 +8,13 @@ import ProductName from '@woocommerce/base-components/product-name';
|
|
8 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
9 |
import {
|
10 |
__experimentalApplyCheckoutFilter,
|
|
|
11 |
mustContain,
|
12 |
} from '@woocommerce/blocks-checkout';
|
13 |
import PropTypes from 'prop-types';
|
14 |
import Dinero from 'dinero.js';
|
15 |
import { getSetting } from '@woocommerce/settings';
|
16 |
import { useCallback, useMemo } from '@wordpress/element';
|
17 |
-
import { useStoreCart } from '@woocommerce/base-context/hooks';
|
18 |
|
19 |
/**
|
20 |
* Internal dependencies
|
@@ -41,13 +41,8 @@ const OrderSummaryItem = ( { cartItem } ) => {
|
|
41 |
extensions = {},
|
42 |
} = cartItem;
|
43 |
|
44 |
-
// Prepare props to pass to the __experimentalApplyCheckoutFilter filter.
|
45 |
-
// We need to pluck out receiveCart.
|
46 |
-
// eslint-disable-next-line no-unused-vars
|
47 |
-
const { receiveCart, ...cart } = useStoreCart();
|
48 |
-
|
49 |
const productPriceValidation = useCallback(
|
50 |
-
( value ) => mustContain( value, '<price/>' ),
|
51 |
[]
|
52 |
);
|
53 |
|
@@ -55,9 +50,8 @@ const OrderSummaryItem = ( { cartItem } ) => {
|
|
55 |
() => ( {
|
56 |
context: 'summary',
|
57 |
cartItem,
|
58 |
-
cart,
|
59 |
} ),
|
60 |
-
[ cartItem
|
61 |
);
|
62 |
|
63 |
const priceCurrency = getCurrencyFromPriceResponse( prices );
|
@@ -67,6 +61,7 @@ const OrderSummaryItem = ( { cartItem } ) => {
|
|
67 |
defaultValue: initialName,
|
68 |
extensions,
|
69 |
arg,
|
|
|
70 |
} );
|
71 |
|
72 |
const regularPriceSingle = Dinero( {
|
8 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
9 |
import {
|
10 |
__experimentalApplyCheckoutFilter,
|
11 |
+
mustBeString,
|
12 |
mustContain,
|
13 |
} from '@woocommerce/blocks-checkout';
|
14 |
import PropTypes from 'prop-types';
|
15 |
import Dinero from 'dinero.js';
|
16 |
import { getSetting } from '@woocommerce/settings';
|
17 |
import { useCallback, useMemo } from '@wordpress/element';
|
|
|
18 |
|
19 |
/**
|
20 |
* Internal dependencies
|
41 |
extensions = {},
|
42 |
} = cartItem;
|
43 |
|
|
|
|
|
|
|
|
|
|
|
44 |
const productPriceValidation = useCallback(
|
45 |
+
( value ) => mustBeString( value ) && mustContain( value, '<price/>' ),
|
46 |
[]
|
47 |
);
|
48 |
|
50 |
() => ( {
|
51 |
context: 'summary',
|
52 |
cartItem,
|
|
|
53 |
} ),
|
54 |
+
[ cartItem ]
|
55 |
);
|
56 |
|
57 |
const priceCurrency = getCurrencyFromPriceResponse( prices );
|
61 |
defaultValue: initialName,
|
62 |
extensions,
|
63 |
arg,
|
64 |
+
validation: mustBeString,
|
65 |
} );
|
66 |
|
67 |
const regularPriceSingle = Dinero( {
|
assets/js/base/components/cart-checkout/order-summary/style.scss
CHANGED
@@ -1,15 +1,3 @@
|
|
1 |
-
.wc-block-components-order-summary {
|
2 |
-
|
3 |
-
.wc-block-components-panel__button {
|
4 |
-
padding-top: 0;
|
5 |
-
margin-top: 0;
|
6 |
-
}
|
7 |
-
|
8 |
-
.wc-block-components-panel__content {
|
9 |
-
margin-bottom: 0;
|
10 |
-
}
|
11 |
-
}
|
12 |
-
|
13 |
.wc-block-components-order-summary__content {
|
14 |
display: table;
|
15 |
width: 100%;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.wc-block-components-order-summary__content {
|
2 |
display: table;
|
3 |
width: 100%;
|
assets/js/base/components/cart-checkout/payment-method-icons/common-icons.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
-
import {
|
5 |
|
6 |
/**
|
7 |
* Array of common assets.
|
@@ -10,97 +10,97 @@ export const commonIcons = [
|
|
10 |
{
|
11 |
id: 'alipay',
|
12 |
alt: 'Alipay',
|
13 |
-
src:
|
14 |
},
|
15 |
{
|
16 |
id: 'amex',
|
17 |
alt: 'American Express',
|
18 |
-
src:
|
19 |
},
|
20 |
{
|
21 |
id: 'bancontact',
|
22 |
alt: 'Bancontact',
|
23 |
-
src:
|
24 |
},
|
25 |
{
|
26 |
id: 'diners',
|
27 |
alt: 'Diners Club',
|
28 |
-
src:
|
29 |
},
|
30 |
{
|
31 |
id: 'discover',
|
32 |
alt: 'Discover',
|
33 |
-
src:
|
34 |
},
|
35 |
{
|
36 |
id: 'eps',
|
37 |
alt: 'EPS',
|
38 |
-
src:
|
39 |
},
|
40 |
{
|
41 |
id: 'giropay',
|
42 |
alt: 'Giropay',
|
43 |
-
src:
|
44 |
},
|
45 |
{
|
46 |
id: 'ideal',
|
47 |
alt: 'iDeal',
|
48 |
-
src:
|
49 |
},
|
50 |
{
|
51 |
id: 'jcb',
|
52 |
alt: 'JCB',
|
53 |
-
src:
|
54 |
},
|
55 |
{
|
56 |
id: 'laser',
|
57 |
alt: 'Laser',
|
58 |
-
src:
|
59 |
},
|
60 |
{
|
61 |
id: 'maestro',
|
62 |
alt: 'Maestro',
|
63 |
-
src:
|
64 |
},
|
65 |
{
|
66 |
id: 'mastercard',
|
67 |
alt: 'Mastercard',
|
68 |
-
src:
|
69 |
},
|
70 |
{
|
71 |
id: 'multibanco',
|
72 |
alt: 'Multibanco',
|
73 |
-
src:
|
74 |
},
|
75 |
{
|
76 |
id: 'p24',
|
77 |
alt: 'Przelewy24',
|
78 |
-
src:
|
79 |
},
|
80 |
{
|
81 |
id: 'sepa',
|
82 |
alt: 'Sepa',
|
83 |
-
src:
|
84 |
},
|
85 |
{
|
86 |
id: 'sofort',
|
87 |
alt: 'Sofort',
|
88 |
-
src:
|
89 |
},
|
90 |
{
|
91 |
id: 'unionpay',
|
92 |
alt: 'Union Pay',
|
93 |
-
src:
|
94 |
},
|
95 |
{
|
96 |
id: 'visa',
|
97 |
alt: 'Visa',
|
98 |
-
src:
|
99 |
},
|
100 |
{
|
101 |
id: 'wechat',
|
102 |
alt: 'WeChat',
|
103 |
-
src:
|
104 |
},
|
105 |
];
|
106 |
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
+
import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
|
5 |
|
6 |
/**
|
7 |
* Array of common assets.
|
10 |
{
|
11 |
id: 'alipay',
|
12 |
alt: 'Alipay',
|
13 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/alipay.svg',
|
14 |
},
|
15 |
{
|
16 |
id: 'amex',
|
17 |
alt: 'American Express',
|
18 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/amex.svg',
|
19 |
},
|
20 |
{
|
21 |
id: 'bancontact',
|
22 |
alt: 'Bancontact',
|
23 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/bancontact.svg',
|
24 |
},
|
25 |
{
|
26 |
id: 'diners',
|
27 |
alt: 'Diners Club',
|
28 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/diners.svg',
|
29 |
},
|
30 |
{
|
31 |
id: 'discover',
|
32 |
alt: 'Discover',
|
33 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/discover.svg',
|
34 |
},
|
35 |
{
|
36 |
id: 'eps',
|
37 |
alt: 'EPS',
|
38 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/eps.svg',
|
39 |
},
|
40 |
{
|
41 |
id: 'giropay',
|
42 |
alt: 'Giropay',
|
43 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/giropay.svg',
|
44 |
},
|
45 |
{
|
46 |
id: 'ideal',
|
47 |
alt: 'iDeal',
|
48 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/ideal.svg',
|
49 |
},
|
50 |
{
|
51 |
id: 'jcb',
|
52 |
alt: 'JCB',
|
53 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/jcb.svg',
|
54 |
},
|
55 |
{
|
56 |
id: 'laser',
|
57 |
alt: 'Laser',
|
58 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/laser.svg',
|
59 |
},
|
60 |
{
|
61 |
id: 'maestro',
|
62 |
alt: 'Maestro',
|
63 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/maestro.svg',
|
64 |
},
|
65 |
{
|
66 |
id: 'mastercard',
|
67 |
alt: 'Mastercard',
|
68 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/mastercard.svg',
|
69 |
},
|
70 |
{
|
71 |
id: 'multibanco',
|
72 |
alt: 'Multibanco',
|
73 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/multibanco.svg',
|
74 |
},
|
75 |
{
|
76 |
id: 'p24',
|
77 |
alt: 'Przelewy24',
|
78 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/p24.svg',
|
79 |
},
|
80 |
{
|
81 |
id: 'sepa',
|
82 |
alt: 'Sepa',
|
83 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/sepa.svg',
|
84 |
},
|
85 |
{
|
86 |
id: 'sofort',
|
87 |
alt: 'Sofort',
|
88 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/sofort.svg',
|
89 |
},
|
90 |
{
|
91 |
id: 'unionpay',
|
92 |
alt: 'Union Pay',
|
93 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/unionpay.svg',
|
94 |
},
|
95 |
{
|
96 |
id: 'visa',
|
97 |
alt: 'Visa',
|
98 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/visa.svg',
|
99 |
},
|
100 |
{
|
101 |
id: 'wechat',
|
102 |
alt: 'WeChat',
|
103 |
+
src: WC_BLOCKS_ASSET_URL + 'img/payment-methods/wechat.svg',
|
104 |
},
|
105 |
];
|
106 |
|
assets/js/base/components/cart-checkout/place-order-button/index.js
CHANGED
@@ -11,7 +11,6 @@ const PlaceOrderButton = () => {
|
|
11 |
submitButtonText,
|
12 |
onSubmit,
|
13 |
isCalculating,
|
14 |
-
isDisabled,
|
15 |
waitingForProcessing,
|
16 |
waitingForRedirect,
|
17 |
} = useCheckoutSubmit();
|
@@ -21,10 +20,7 @@ const PlaceOrderButton = () => {
|
|
21 |
className="wc-block-components-checkout-place-order-button"
|
22 |
onClick={ onSubmit }
|
23 |
disabled={
|
24 |
-
isCalculating ||
|
25 |
-
isDisabled ||
|
26 |
-
waitingForProcessing ||
|
27 |
-
waitingForRedirect
|
28 |
}
|
29 |
showSpinner={ waitingForProcessing }
|
30 |
>
|
11 |
submitButtonText,
|
12 |
onSubmit,
|
13 |
isCalculating,
|
|
|
14 |
waitingForProcessing,
|
15 |
waitingForRedirect,
|
16 |
} = useCheckoutSubmit();
|
20 |
className="wc-block-components-checkout-place-order-button"
|
21 |
onClick={ onSubmit }
|
22 |
disabled={
|
23 |
+
isCalculating || waitingForProcessing || waitingForRedirect
|
|
|
|
|
|
|
24 |
}
|
25 |
showSpinner={ waitingForProcessing }
|
26 |
>
|
assets/js/base/components/cart-checkout/product-details/index.tsx
CHANGED
@@ -37,7 +37,7 @@ const ProductDetails = ( {
|
|
37 |
: '';
|
38 |
return (
|
39 |
<li
|
40 |
-
key={ detail.name + ( detail.display || detail.
|
41 |
className={ className }
|
42 |
>
|
43 |
{ detail.name && (
|
37 |
: '';
|
38 |
return (
|
39 |
<li
|
40 |
+
key={ detail.name + ( detail.display || detail.name ) }
|
41 |
className={ className }
|
42 |
>
|
43 |
{ detail.name && (
|
assets/js/base/components/cart-checkout/product-summary/index.tsx
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
|
|
4 |
import Summary from '@woocommerce/base-components/summary';
|
5 |
import { blocksConfig } from '@woocommerce/block-settings';
|
6 |
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
+
import PropTypes from 'prop-types';
|
5 |
import Summary from '@woocommerce/base-components/summary';
|
6 |
import { blocksConfig } from '@woocommerce/block-settings';
|
7 |
|
assets/js/base/components/cart-checkout/shipping-rates-control-package/index.tsx
CHANGED
@@ -4,10 +4,11 @@
|
|
4 |
import classNames from 'classnames';
|
5 |
import { _n, sprintf } from '@wordpress/i18n';
|
6 |
import { decodeEntities } from '@wordpress/html-entities';
|
|
|
|
|
7 |
import type { ReactElement } from 'react';
|
8 |
import type { PackageRateOption } from '@woocommerce/type-defs/shipping';
|
9 |
import { Panel } from '@woocommerce/blocks-checkout';
|
10 |
-
import Label from '@woocommerce/base-components/label';
|
11 |
import { useSelectShippingRate } from '@woocommerce/base-context/hooks';
|
12 |
import type { CartShippingPackageShippingRate } from '@woocommerce/type-defs/cart';
|
13 |
|
@@ -76,9 +77,12 @@ export const ShippingRatesControlPackage = ( {
|
|
76 |
const header = (
|
77 |
<>
|
78 |
{ ( showItems || collapsible ) && (
|
79 |
-
<
|
|
|
|
|
|
|
80 |
{ packageData.name }
|
81 |
-
</
|
82 |
) }
|
83 |
{ showItems && (
|
84 |
<ul className="wc-block-components-shipping-rates-control__package-items">
|
4 |
import classNames from 'classnames';
|
5 |
import { _n, sprintf } from '@wordpress/i18n';
|
6 |
import { decodeEntities } from '@wordpress/html-entities';
|
7 |
+
import Label from '@woocommerce/base-components/label';
|
8 |
+
import Title from '@woocommerce/base-components/title';
|
9 |
import type { ReactElement } from 'react';
|
10 |
import type { PackageRateOption } from '@woocommerce/type-defs/shipping';
|
11 |
import { Panel } from '@woocommerce/blocks-checkout';
|
|
|
12 |
import { useSelectShippingRate } from '@woocommerce/base-context/hooks';
|
13 |
import type { CartShippingPackageShippingRate } from '@woocommerce/type-defs/cart';
|
14 |
|
77 |
const header = (
|
78 |
<>
|
79 |
{ ( showItems || collapsible ) && (
|
80 |
+
<Title
|
81 |
+
className="wc-block-components-shipping-rates-control__package-title"
|
82 |
+
headingLevel="3"
|
83 |
+
>
|
84 |
{ packageData.name }
|
85 |
+
</Title>
|
86 |
) }
|
87 |
{ showItems && (
|
88 |
<ul className="wc-block-components-shipping-rates-control__package-items">
|
assets/js/base/components/cart-checkout/shipping-rates-control-package/style.scss
CHANGED
@@ -6,6 +6,12 @@
|
|
6 |
padding-top: em($gap-small);
|
7 |
}
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
// Remove panel padding because we are adding bottom padding to `.wc-block-components-radio-control`
|
10 |
// and `.wc-block-components-radio-control__option-layout` in the next ruleset.
|
11 |
.wc-block-components-panel__content {
|
@@ -14,7 +20,7 @@
|
|
14 |
|
15 |
.wc-block-components-radio-control,
|
16 |
.wc-block-components-radio-control__option-layout {
|
17 |
-
padding-bottom:
|
18 |
}
|
19 |
|
20 |
.wc-block-components-radio-control .wc-block-components-radio-control__option-layout {
|
6 |
padding-top: em($gap-small);
|
7 |
}
|
8 |
|
9 |
+
.wc-block-components-shipping-rates-control__package-title {
|
10 |
+
@include text-heading();
|
11 |
+
font-weight: bold;
|
12 |
+
margin: 0;
|
13 |
+
}
|
14 |
+
|
15 |
// Remove panel padding because we are adding bottom padding to `.wc-block-components-radio-control`
|
16 |
// and `.wc-block-components-radio-control__option-layout` in the next ruleset.
|
17 |
.wc-block-components-panel__content {
|
20 |
|
21 |
.wc-block-components-radio-control,
|
22 |
.wc-block-components-radio-control__option-layout {
|
23 |
+
padding-bottom: em($gap);
|
24 |
}
|
25 |
|
26 |
.wc-block-components-radio-control .wc-block-components-radio-control__option-layout {
|
assets/js/base/components/cart-checkout/totals/coupon/index.js
CHANGED
@@ -29,6 +29,7 @@ const TotalsCoupon = ( {
|
|
29 |
const [ couponValue, setCouponValue ] = useState( '' );
|
30 |
const currentIsLoading = useRef( false );
|
31 |
const { getValidationError, getValidationErrorId } = useValidationContext();
|
|
|
32 |
const validationError = getValidationError( 'coupon' );
|
33 |
|
34 |
useEffect( () => {
|
@@ -45,16 +46,16 @@ const TotalsCoupon = ( {
|
|
45 |
return (
|
46 |
<Panel
|
47 |
className="wc-block-components-totals-coupon"
|
48 |
-
hasBorder={
|
49 |
initialOpen={ initialOpen }
|
50 |
title={
|
51 |
<Label
|
52 |
label={ __(
|
53 |
-
'Coupon
|
54 |
'woo-gutenberg-products-block'
|
55 |
) }
|
56 |
screenReaderLabel={ __(
|
57 |
-
'
|
58 |
'woo-gutenberg-products-block'
|
59 |
) }
|
60 |
htmlFor={ textInputId }
|
29 |
const [ couponValue, setCouponValue ] = useState( '' );
|
30 |
const currentIsLoading = useRef( false );
|
31 |
const { getValidationError, getValidationErrorId } = useValidationContext();
|
32 |
+
|
33 |
const validationError = getValidationError( 'coupon' );
|
34 |
|
35 |
useEffect( () => {
|
46 |
return (
|
47 |
<Panel
|
48 |
className="wc-block-components-totals-coupon"
|
49 |
+
hasBorder={ true }
|
50 |
initialOpen={ initialOpen }
|
51 |
title={
|
52 |
<Label
|
53 |
label={ __(
|
54 |
+
'Coupon Code?',
|
55 |
'woo-gutenberg-products-block'
|
56 |
) }
|
57 |
screenReaderLabel={ __(
|
58 |
+
'Introduce Coupon Code',
|
59 |
'woo-gutenberg-products-block'
|
60 |
) }
|
61 |
htmlFor={ textInputId }
|
assets/js/base/components/cart-checkout/totals/coupon/style.scss
CHANGED
@@ -1,19 +1,7 @@
|
|
1 |
-
.wc-block-components-totals-coupon {
|
2 |
-
|
3 |
-
.wc-block-components-panel__button {
|
4 |
-
margin-top: 0;
|
5 |
-
padding-top: 0;
|
6 |
-
}
|
7 |
-
|
8 |
-
.wc-block-components-panel__content {
|
9 |
-
padding-bottom: 0;
|
10 |
-
}
|
11 |
-
}
|
12 |
-
|
13 |
.wc-block-components-totals-coupon__form {
|
14 |
display: flex;
|
|
|
15 |
width: 100%;
|
16 |
-
margin-bottom: 0;
|
17 |
|
18 |
.wc-block-components-totals-coupon__input {
|
19 |
margin-bottom: 0;
|
@@ -29,10 +17,6 @@
|
|
29 |
padding-right: $gap-large;
|
30 |
white-space: nowrap;
|
31 |
}
|
32 |
-
|
33 |
-
.wc-block-components-totals-coupon__button.no-margin {
|
34 |
-
margin: 0;
|
35 |
-
}
|
36 |
}
|
37 |
|
38 |
.wc-block-components-totals-coupon__content {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.wc-block-components-totals-coupon__form {
|
2 |
display: flex;
|
3 |
+
margin-bottom: 0.5em;
|
4 |
width: 100%;
|
|
|
5 |
|
6 |
.wc-block-components-totals-coupon__input {
|
7 |
margin-bottom: 0;
|
17 |
padding-right: $gap-large;
|
18 |
white-space: nowrap;
|
19 |
}
|
|
|
|
|
|
|
|
|
20 |
}
|
21 |
|
22 |
.wc-block-components-totals-coupon__content {
|
assets/js/base/components/cart-checkout/totals/discount/index.js
CHANGED
@@ -5,10 +5,7 @@ import { __, sprintf } from '@wordpress/i18n';
|
|
5 |
import LoadingMask from '@woocommerce/base-components/loading-mask';
|
6 |
import { RemovableChip } from '@woocommerce/base-components/chip';
|
7 |
import PropTypes from 'prop-types';
|
8 |
-
import {
|
9 |
-
__experimentalApplyCheckoutFilter,
|
10 |
-
TotalsItem,
|
11 |
-
} from '@woocommerce/blocks-checkout';
|
12 |
import { getSetting } from '@woocommerce/settings';
|
13 |
|
14 |
/**
|
@@ -41,20 +38,12 @@ const TotalsDiscount = ( {
|
|
41 |
? discountValue + discountTaxValue
|
42 |
: discountValue;
|
43 |
|
44 |
-
const filteredCartCoupons = __experimentalApplyCheckoutFilter( {
|
45 |
-
arg: {
|
46 |
-
context: 'summary',
|
47 |
-
},
|
48 |
-
filterName: 'coupons',
|
49 |
-
defaultValue: cartCoupons,
|
50 |
-
} );
|
51 |
-
|
52 |
return (
|
53 |
<TotalsItem
|
54 |
className="wc-block-components-totals-discount"
|
55 |
currency={ currency }
|
56 |
description={
|
57 |
-
|
58 |
<LoadingMask
|
59 |
screenReaderLabel={ __(
|
60 |
'Removing coupon…',
|
@@ -64,36 +53,34 @@ const TotalsDiscount = ( {
|
|
64 |
showSpinner={ false }
|
65 |
>
|
66 |
<ul className="wc-block-components-totals-discount__coupon-list">
|
67 |
-
{
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
);
|
96 |
-
} ) }
|
97 |
</ul>
|
98 |
</LoadingMask>
|
99 |
)
|
5 |
import LoadingMask from '@woocommerce/base-components/loading-mask';
|
6 |
import { RemovableChip } from '@woocommerce/base-components/chip';
|
7 |
import PropTypes from 'prop-types';
|
8 |
+
import { TotalsItem } from '@woocommerce/blocks-checkout';
|
|
|
|
|
|
|
9 |
import { getSetting } from '@woocommerce/settings';
|
10 |
|
11 |
/**
|
38 |
? discountValue + discountTaxValue
|
39 |
: discountValue;
|
40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
return (
|
42 |
<TotalsItem
|
43 |
className="wc-block-components-totals-discount"
|
44 |
currency={ currency }
|
45 |
description={
|
46 |
+
cartCoupons.length !== 0 && (
|
47 |
<LoadingMask
|
48 |
screenReaderLabel={ __(
|
49 |
'Removing coupon…',
|
53 |
showSpinner={ false }
|
54 |
>
|
55 |
<ul className="wc-block-components-totals-discount__coupon-list">
|
56 |
+
{ cartCoupons.map( ( cartCoupon ) => (
|
57 |
+
<RemovableChip
|
58 |
+
key={ 'coupon-' + cartCoupon.code }
|
59 |
+
className="wc-block-components-totals-discount__coupon-list-item"
|
60 |
+
text={ cartCoupon.code }
|
61 |
+
screenReaderText={ sprintf(
|
62 |
+
/* translators: %s Coupon code. */
|
63 |
+
__(
|
64 |
+
'Coupon: %s',
|
65 |
+
'woo-gutenberg-products-block'
|
66 |
+
),
|
67 |
+
cartCoupon.code
|
68 |
+
) }
|
69 |
+
disabled={ isRemovingCoupon }
|
70 |
+
onRemove={ () => {
|
71 |
+
removeCoupon( cartCoupon.code );
|
72 |
+
} }
|
73 |
+
radius="large"
|
74 |
+
ariaLabel={ sprintf(
|
75 |
+
/* translators: %s is a coupon code. */
|
76 |
+
__(
|
77 |
+
'Remove coupon "%s"',
|
78 |
+
'woo-gutenberg-products-block'
|
79 |
+
),
|
80 |
+
cartCoupon.code
|
81 |
+
) }
|
82 |
+
/>
|
83 |
+
) ) }
|
|
|
|
|
84 |
</ul>
|
85 |
</LoadingMask>
|
86 |
)
|
assets/js/base/components/cart-checkout/totals/discount/style.scss
CHANGED
@@ -3,7 +3,3 @@
|
|
3 |
margin: 0;
|
4 |
padding: 0;
|
5 |
}
|
6 |
-
|
7 |
-
.wc-block-components-totals-discount .wc-block-components-totals-item__value {
|
8 |
-
color: $discount-color;
|
9 |
-
}
|
3 |
margin: 0;
|
4 |
padding: 0;
|
5 |
}
|
|
|
|
|
|
|
|
assets/js/base/components/cart-checkout/totals/footer-item/index.js
CHANGED
@@ -7,6 +7,7 @@ import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-mone
|
|
7 |
import PropTypes from 'prop-types';
|
8 |
import {
|
9 |
__experimentalApplyCheckoutFilter,
|
|
|
10 |
TotalsItem,
|
11 |
} from '@woocommerce/blocks-checkout';
|
12 |
import { useStoreCart } from '@woocommerce/base-context/hooks';
|
@@ -17,26 +18,21 @@ import { getSetting } from '@woocommerce/settings';
|
|
17 |
*/
|
18 |
import './style.scss';
|
19 |
|
20 |
-
const
|
21 |
-
|
22 |
-
|
23 |
-
getSetting( 'displayCartPricesIncludingTax', false );
|
24 |
|
|
|
25 |
const { total_price: totalPrice, total_tax: totalTax } = values;
|
26 |
-
|
27 |
-
// Prepare props to pass to the __experimentalApplyCheckoutFilter filter.
|
28 |
-
// We need to pluck out receiveCart.
|
29 |
-
// eslint-disable-next-line no-unused-vars
|
30 |
-
const { receiveCart, ...cart } = useStoreCart();
|
31 |
const label = __experimentalApplyCheckoutFilter( {
|
32 |
filterName: 'totalLabel',
|
33 |
defaultValue: __( 'Total', 'woo-gutenberg-products-block' ),
|
34 |
-
extensions
|
35 |
-
|
|
|
36 |
} );
|
37 |
|
38 |
-
const parsedTaxValue = parseInt( totalTax, 10 );
|
39 |
-
|
40 |
return (
|
41 |
<TotalsItem
|
42 |
className="wc-block-components-totals-footer-item"
|
@@ -44,8 +40,7 @@ const TotalsFooterItem = ( { currency, values } ) => {
|
|
44 |
label={ label }
|
45 |
value={ parseInt( totalPrice, 10 ) }
|
46 |
description={
|
47 |
-
SHOW_TAXES &&
|
48 |
-
parsedTaxValue !== 0 && (
|
49 |
<p className="wc-block-components-totals-footer-item-tax">
|
50 |
{ createInterpolateElement(
|
51 |
__(
|
@@ -57,7 +52,7 @@ const TotalsFooterItem = ( { currency, values } ) => {
|
|
57 |
<FormattedMonetaryAmount
|
58 |
className="wc-block-components-totals-footer-item-tax-value"
|
59 |
currency={ currency }
|
60 |
-
value={
|
61 |
/>
|
62 |
),
|
63 |
}
|
7 |
import PropTypes from 'prop-types';
|
8 |
import {
|
9 |
__experimentalApplyCheckoutFilter,
|
10 |
+
mustBeString,
|
11 |
TotalsItem,
|
12 |
} from '@woocommerce/blocks-checkout';
|
13 |
import { useStoreCart } from '@woocommerce/base-context/hooks';
|
18 |
*/
|
19 |
import './style.scss';
|
20 |
|
21 |
+
const SHOW_TAXES =
|
22 |
+
getSetting( 'taxesEnabled', true ) &&
|
23 |
+
getSetting( 'displayCartPricesIncludingTax', false );
|
|
|
24 |
|
25 |
+
const TotalsFooterItem = ( { currency, values } ) => {
|
26 |
const { total_price: totalPrice, total_tax: totalTax } = values;
|
27 |
+
const { extensions } = useStoreCart();
|
|
|
|
|
|
|
|
|
28 |
const label = __experimentalApplyCheckoutFilter( {
|
29 |
filterName: 'totalLabel',
|
30 |
defaultValue: __( 'Total', 'woo-gutenberg-products-block' ),
|
31 |
+
extensions,
|
32 |
+
// Only accept strings.
|
33 |
+
validation: mustBeString,
|
34 |
} );
|
35 |
|
|
|
|
|
36 |
return (
|
37 |
<TotalsItem
|
38 |
className="wc-block-components-totals-footer-item"
|
40 |
label={ label }
|
41 |
value={ parseInt( totalPrice, 10 ) }
|
42 |
description={
|
43 |
+
SHOW_TAXES && (
|
|
|
44 |
<p className="wc-block-components-totals-footer-item-tax">
|
45 |
{ createInterpolateElement(
|
46 |
__(
|
52 |
<FormattedMonetaryAmount
|
53 |
className="wc-block-components-totals-footer-item-tax-value"
|
54 |
currency={ currency }
|
55 |
+
value={ parseInt( totalTax, 10 ) }
|
56 |
/>
|
57 |
),
|
58 |
}
|
assets/js/base/components/cart-checkout/totals/footer-item/test/__snapshots__/index.js.snap
DELETED
@@ -1,79 +0,0 @@
|
|
1 |
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2 |
-
|
3 |
-
exports[`TotalsFooterItem Does not show the "including %s of tax" line if tax is 0 1`] = `
|
4 |
-
<div>
|
5 |
-
<div
|
6 |
-
class="wc-block-components-totals-item wc-block-components-totals-footer-item"
|
7 |
-
>
|
8 |
-
<span
|
9 |
-
class="wc-block-components-totals-item__label"
|
10 |
-
>
|
11 |
-
Total
|
12 |
-
</span>
|
13 |
-
<span
|
14 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
15 |
-
>
|
16 |
-
£85.00
|
17 |
-
</span>
|
18 |
-
<div
|
19 |
-
class="wc-block-components-totals-item__description"
|
20 |
-
/>
|
21 |
-
</div>
|
22 |
-
</div>
|
23 |
-
`;
|
24 |
-
|
25 |
-
exports[`TotalsFooterItem Does not show the "including %s of tax" line if tax is disabled 1`] = `
|
26 |
-
<div>
|
27 |
-
<div
|
28 |
-
class="wc-block-components-totals-item wc-block-components-totals-footer-item"
|
29 |
-
>
|
30 |
-
<span
|
31 |
-
class="wc-block-components-totals-item__label"
|
32 |
-
>
|
33 |
-
Total
|
34 |
-
</span>
|
35 |
-
<span
|
36 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
37 |
-
>
|
38 |
-
£85.00
|
39 |
-
</span>
|
40 |
-
<div
|
41 |
-
class="wc-block-components-totals-item__description"
|
42 |
-
/>
|
43 |
-
</div>
|
44 |
-
</div>
|
45 |
-
`;
|
46 |
-
|
47 |
-
exports[`TotalsFooterItem Shows the "including %s of tax" line if tax is greater than 0 1`] = `
|
48 |
-
<div>
|
49 |
-
<div
|
50 |
-
class="wc-block-components-totals-item wc-block-components-totals-footer-item"
|
51 |
-
>
|
52 |
-
<span
|
53 |
-
class="wc-block-components-totals-item__label"
|
54 |
-
>
|
55 |
-
Total
|
56 |
-
</span>
|
57 |
-
<span
|
58 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
59 |
-
>
|
60 |
-
£85.00
|
61 |
-
</span>
|
62 |
-
<div
|
63 |
-
class="wc-block-components-totals-item__description"
|
64 |
-
>
|
65 |
-
<p
|
66 |
-
class="wc-block-components-totals-footer-item-tax"
|
67 |
-
>
|
68 |
-
Including
|
69 |
-
<span
|
70 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-footer-item-tax-value"
|
71 |
-
>
|
72 |
-
£1.00
|
73 |
-
</span>
|
74 |
-
in taxes
|
75 |
-
</p>
|
76 |
-
</div>
|
77 |
-
</div>
|
78 |
-
</div>
|
79 |
-
`;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/cart-checkout/totals/footer-item/test/index.js
DELETED
@@ -1,81 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { render } from '@testing-library/react';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import TotalsFooterItem from '../index';
|
10 |
-
import { allSettings } from '../../../../../../settings/shared/settings-init';
|
11 |
-
|
12 |
-
describe( 'TotalsFooterItem', () => {
|
13 |
-
beforeEach( () => {
|
14 |
-
allSettings.taxesEnabled = true;
|
15 |
-
allSettings.displayCartPricesIncludingTax = true;
|
16 |
-
} );
|
17 |
-
const currency = {
|
18 |
-
code: 'GBP',
|
19 |
-
decimalSeparator: '.',
|
20 |
-
minorUnit: 2,
|
21 |
-
prefix: '£',
|
22 |
-
suffix: '',
|
23 |
-
symbol: '£',
|
24 |
-
thousandSeparator: ',',
|
25 |
-
};
|
26 |
-
|
27 |
-
const values = {
|
28 |
-
currency_code: 'GBP',
|
29 |
-
currency_decimal_separator: '.',
|
30 |
-
currency_minor_unit: 2,
|
31 |
-
currency_prefix: '£',
|
32 |
-
currency_suffix: '',
|
33 |
-
currency_symbol: '£',
|
34 |
-
currency_thousand_separator: ',',
|
35 |
-
tax_lines: [],
|
36 |
-
length: 2,
|
37 |
-
total_discount: '0',
|
38 |
-
total_discount_tax: '0',
|
39 |
-
total_fees: '0',
|
40 |
-
total_fees_tax: '0',
|
41 |
-
total_items: '7100',
|
42 |
-
total_items_tax: '0',
|
43 |
-
total_price: '8500',
|
44 |
-
total_shipping: '0',
|
45 |
-
total_shipping_tax: '0',
|
46 |
-
total_tax: '0',
|
47 |
-
};
|
48 |
-
|
49 |
-
it( 'Does not show the "including %s of tax" line if tax is 0', () => {
|
50 |
-
const { container } = render(
|
51 |
-
<TotalsFooterItem currency={ currency } values={ values } />
|
52 |
-
);
|
53 |
-
expect( container ).toMatchSnapshot();
|
54 |
-
} );
|
55 |
-
|
56 |
-
it( 'Does not show the "including %s of tax" line if tax is disabled', () => {
|
57 |
-
allSettings.taxesEnabled = false;
|
58 |
-
/* This shouldn't ever happen if taxes are disabled, but this is to test whether the taxesEnabled setting works */
|
59 |
-
const valuesWithTax = {
|
60 |
-
...values,
|
61 |
-
total_tax: '100',
|
62 |
-
total_items_tax: '100',
|
63 |
-
};
|
64 |
-
const { container } = render(
|
65 |
-
<TotalsFooterItem currency={ currency } values={ valuesWithTax } />
|
66 |
-
);
|
67 |
-
expect( container ).toMatchSnapshot();
|
68 |
-
} );
|
69 |
-
|
70 |
-
it( 'Shows the "including %s of tax" line if tax is greater than 0', () => {
|
71 |
-
const valuesWithTax = {
|
72 |
-
...values,
|
73 |
-
total_tax: '100',
|
74 |
-
total_items_tax: '100',
|
75 |
-
};
|
76 |
-
const { container } = render(
|
77 |
-
<TotalsFooterItem currency={ currency } values={ valuesWithTax } />
|
78 |
-
);
|
79 |
-
expect( container ).toMatchSnapshot();
|
80 |
-
} );
|
81 |
-
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/cart-checkout/totals/shipping/index.tsx
CHANGED
@@ -9,7 +9,6 @@ import { TotalsItem } from '@woocommerce/blocks-checkout';
|
|
9 |
import type { Currency } from '@woocommerce/price-format';
|
10 |
import type { ReactElement } from 'react';
|
11 |
import { getSetting, EnteredAddress } from '@woocommerce/settings';
|
12 |
-
import { ShippingVia } from '@woocommerce/base-components/cart-checkout/totals/shipping/shipping-via';
|
13 |
|
14 |
/**
|
15 |
* Internal dependencies
|
@@ -147,14 +146,6 @@ const TotalsShipping = ( {
|
|
147 |
setIsShippingCalculatorOpen,
|
148 |
};
|
149 |
|
150 |
-
const selectedShippingRates = shippingRates.flatMap(
|
151 |
-
( shippingPackage ) => {
|
152 |
-
return shippingPackage.shipping_rates
|
153 |
-
.filter( ( rate ) => rate.selected )
|
154 |
-
.flatMap( ( rate ) => rate.name );
|
155 |
-
}
|
156 |
-
);
|
157 |
-
|
158 |
return (
|
159 |
<div
|
160 |
className={ classnames(
|
@@ -177,18 +168,11 @@ const TotalsShipping = ( {
|
|
177 |
description={
|
178 |
<>
|
179 |
{ cartHasCalculatedShipping && (
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
/>
|
186 |
-
<ShippingAddress
|
187 |
-
shippingAddress={ shippingAddress }
|
188 |
-
showCalculator={ showCalculator }
|
189 |
-
{ ...calculatorButtonProps }
|
190 |
-
/>
|
191 |
-
</>
|
192 |
) }
|
193 |
</>
|
194 |
}
|
9 |
import type { Currency } from '@woocommerce/price-format';
|
10 |
import type { ReactElement } from 'react';
|
11 |
import { getSetting, EnteredAddress } from '@woocommerce/settings';
|
|
|
12 |
|
13 |
/**
|
14 |
* Internal dependencies
|
146 |
setIsShippingCalculatorOpen,
|
147 |
};
|
148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
return (
|
150 |
<div
|
151 |
className={ classnames(
|
168 |
description={
|
169 |
<>
|
170 |
{ cartHasCalculatedShipping && (
|
171 |
+
<ShippingAddress
|
172 |
+
shippingAddress={ shippingAddress }
|
173 |
+
showCalculator={ showCalculator }
|
174 |
+
{ ...calculatorButtonProps }
|
175 |
+
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
) }
|
177 |
</>
|
178 |
}
|
assets/js/base/components/cart-checkout/totals/shipping/shipping-via.tsx
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { __ } from '@wordpress/i18n';
|
5 |
-
|
6 |
-
export const ShippingVia = ( {
|
7 |
-
selectedShippingRates,
|
8 |
-
}: {
|
9 |
-
selectedShippingRates: string[];
|
10 |
-
} ): JSX.Element => {
|
11 |
-
return (
|
12 |
-
<div className="wc-block-components-totals-item__description wc-block-components-totals-shipping__via">
|
13 |
-
{ __( 'via', 'woo-gutenberg-products-block' ) }{ ' ' }
|
14 |
-
{ selectedShippingRates.join( ', ' ) }
|
15 |
-
</div>
|
16 |
-
);
|
17 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/cart-checkout/totals/shipping/style.scss
CHANGED
@@ -7,10 +7,6 @@
|
|
7 |
border: 0;
|
8 |
}
|
9 |
|
10 |
-
.wc-block-components-totals-shipping__via {
|
11 |
-
margin-bottom: $gap;
|
12 |
-
}
|
13 |
-
|
14 |
.wc-block-components-totals-shipping__options {
|
15 |
.wc-block-components-radio-control__label,
|
16 |
.wc-block-components-radio-control__description,
|
7 |
border: 0;
|
8 |
}
|
9 |
|
|
|
|
|
|
|
|
|
10 |
.wc-block-components-totals-shipping__options {
|
11 |
.wc-block-components-radio-control__label,
|
12 |
.wc-block-components-radio-control__description,
|
assets/js/base/components/chip/stories/index.js
DELETED
@@ -1,42 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { text, select, boolean } from '@storybook/addon-knobs';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import * as components from '../';
|
10 |
-
|
11 |
-
export default {
|
12 |
-
title: 'WooCommerce Blocks/@base-components/Chip',
|
13 |
-
component: Chip,
|
14 |
-
};
|
15 |
-
|
16 |
-
const radii = [ 'none', 'small', 'medium', 'large' ];
|
17 |
-
|
18 |
-
export const Chip = () => (
|
19 |
-
<components.Chip
|
20 |
-
text={ text( 'Text', 'example' ) }
|
21 |
-
radius={ select( 'Radius', radii ) }
|
22 |
-
screenReaderText={ text(
|
23 |
-
'Screen reader text',
|
24 |
-
'Example screen reader text'
|
25 |
-
) }
|
26 |
-
element={ select( 'Element', [ 'li', 'div', 'span' ], 'li' ) }
|
27 |
-
/>
|
28 |
-
);
|
29 |
-
|
30 |
-
export const RemovableChip = () => (
|
31 |
-
<components.RemovableChip
|
32 |
-
text={ text( 'Text', 'example' ) }
|
33 |
-
radius={ select( 'Radius', radii ) }
|
34 |
-
screenReaderText={ text(
|
35 |
-
'Screen reader text',
|
36 |
-
'Example screen reader text'
|
37 |
-
) }
|
38 |
-
disabled={ boolean( 'Disabled', false ) }
|
39 |
-
removeOnAnyClick={ boolean( 'Remove on any click', false ) }
|
40 |
-
element={ select( 'Element', [ 'li', 'div', 'span' ], 'li' ) }
|
41 |
-
/>
|
42 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/country-input/CountryInputProps.ts
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
export interface CountryInputProps {
|
2 |
-
className?: string;
|
3 |
-
label: string;
|
4 |
-
id: string;
|
5 |
-
autoComplete?: string;
|
6 |
-
value: string;
|
7 |
-
onChange: ( value: string ) => void;
|
8 |
-
required?: boolean;
|
9 |
-
errorMessage?: string;
|
10 |
-
errorId: null | 'shipping-missing-country';
|
11 |
-
}
|
12 |
-
|
13 |
-
export type CountryInputWithCountriesProps = CountryInputProps & {
|
14 |
-
countries: Record< string, string >;
|
15 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/country-input/billing-country-input.js
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import PropTypes from 'prop-types';
|
5 |
+
import { getSetting } from '@woocommerce/settings';
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Internal dependencies
|
9 |
+
*/
|
10 |
+
import CountryInput from './country-input.js';
|
11 |
+
|
12 |
+
const BillingCountryInput = ( props ) => {
|
13 |
+
return (
|
14 |
+
<CountryInput
|
15 |
+
countries={ getSetting( 'allowedCountries', {} ) }
|
16 |
+
{ ...props }
|
17 |
+
/>
|
18 |
+
);
|
19 |
+
};
|
20 |
+
|
21 |
+
BillingCountryInput.propTypes = {
|
22 |
+
onChange: PropTypes.func.isRequired,
|
23 |
+
className: PropTypes.string,
|
24 |
+
label: PropTypes.string,
|
25 |
+
value: PropTypes.string,
|
26 |
+
};
|
27 |
+
|
28 |
+
export default BillingCountryInput;
|
assets/js/base/components/country-input/billing-country-input.tsx
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { ALLOWED_COUNTRIES } from '@woocommerce/block-settings';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import CountryInput from './country-input';
|
10 |
-
import type { CountryInputProps } from './CountryInputProps';
|
11 |
-
|
12 |
-
const BillingCountryInput = ( props: CountryInputProps ): JSX.Element => {
|
13 |
-
return <CountryInput countries={ ALLOWED_COUNTRIES } { ...props } />;
|
14 |
-
};
|
15 |
-
|
16 |
-
export default BillingCountryInput;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/country-input/{country-input.tsx → country-input.js}
RENAMED
@@ -3,6 +3,7 @@
|
|
3 |
*/
|
4 |
import { useMemo } from '@wordpress/element';
|
5 |
import { __ } from '@wordpress/i18n';
|
|
|
6 |
import { decodeEntities } from '@wordpress/html-entities';
|
7 |
import classnames from 'classnames';
|
8 |
|
@@ -11,7 +12,6 @@ import classnames from 'classnames';
|
|
11 |
*/
|
12 |
import { ValidatedSelect } from '../select';
|
13 |
import './style.scss';
|
14 |
-
import type { CountryInputWithCountriesProps } from './CountryInputProps';
|
15 |
|
16 |
const CountryInput = ( {
|
17 |
className,
|
@@ -27,7 +27,7 @@ const CountryInput = ( {
|
|
27 |
'Please select a country.',
|
28 |
'woo-gutenberg-products-block'
|
29 |
),
|
30 |
-
}
|
31 |
const options = useMemo(
|
32 |
() =>
|
33 |
Object.keys( countries ).map( ( key ) => ( {
|
@@ -81,4 +81,16 @@ const CountryInput = ( {
|
|
81 |
);
|
82 |
};
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
export default CountryInput;
|
3 |
*/
|
4 |
import { useMemo } from '@wordpress/element';
|
5 |
import { __ } from '@wordpress/i18n';
|
6 |
+
import PropTypes from 'prop-types';
|
7 |
import { decodeEntities } from '@wordpress/html-entities';
|
8 |
import classnames from 'classnames';
|
9 |
|
12 |
*/
|
13 |
import { ValidatedSelect } from '../select';
|
14 |
import './style.scss';
|
|
|
15 |
|
16 |
const CountryInput = ( {
|
17 |
className,
|
27 |
'Please select a country.',
|
28 |
'woo-gutenberg-products-block'
|
29 |
),
|
30 |
+
} ) => {
|
31 |
const options = useMemo(
|
32 |
() =>
|
33 |
Object.keys( countries ).map( ( key ) => ( {
|
81 |
);
|
82 |
};
|
83 |
|
84 |
+
CountryInput.propTypes = {
|
85 |
+
countries: PropTypes.objectOf( PropTypes.string ).isRequired,
|
86 |
+
onChange: PropTypes.func.isRequired,
|
87 |
+
className: PropTypes.string,
|
88 |
+
id: PropTypes.string,
|
89 |
+
label: PropTypes.string,
|
90 |
+
value: PropTypes.string,
|
91 |
+
autoComplete: PropTypes.string,
|
92 |
+
errorId: PropTypes.string,
|
93 |
+
errorMessage: PropTypes.string,
|
94 |
+
};
|
95 |
+
|
96 |
export default CountryInput;
|
assets/js/base/components/country-input/{index.ts → index.js}
RENAMED
File without changes
|
assets/js/base/components/country-input/shipping-country-input.js
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import PropTypes from 'prop-types';
|
5 |
+
import { getSetting } from '@woocommerce/settings';
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Internal dependencies
|
9 |
+
*/
|
10 |
+
import CountryInput from './country-input.js';
|
11 |
+
|
12 |
+
const ShippingCountryInput = ( props ) => {
|
13 |
+
return (
|
14 |
+
<CountryInput
|
15 |
+
countries={ getSetting( 'shippingCountries', {} ) }
|
16 |
+
{ ...props }
|
17 |
+
/>
|
18 |
+
);
|
19 |
+
};
|
20 |
+
|
21 |
+
ShippingCountryInput.propTypes = {
|
22 |
+
onChange: PropTypes.func.isRequired,
|
23 |
+
className: PropTypes.string,
|
24 |
+
label: PropTypes.string,
|
25 |
+
value: PropTypes.string,
|
26 |
+
};
|
27 |
+
|
28 |
+
export default ShippingCountryInput;
|
assets/js/base/components/country-input/shipping-country-input.tsx
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { SHIPPING_COUNTRIES } from '@woocommerce/block-settings';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import CountryInput from './country-input';
|
10 |
-
import { CountryInputProps } from './CountryInputProps';
|
11 |
-
|
12 |
-
const ShippingCountryInput = ( props: CountryInputProps ): JSX.Element => {
|
13 |
-
return <CountryInput countries={ SHIPPING_COUNTRIES } { ...props } />;
|
14 |
-
};
|
15 |
-
|
16 |
-
export default ShippingCountryInput;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/label/index.tsx
CHANGED
@@ -3,13 +3,13 @@
|
|
3 |
*/
|
4 |
import { Fragment } from '@wordpress/element';
|
5 |
import classNames from 'classnames';
|
6 |
-
import type { ReactElement,
|
7 |
|
8 |
-
interface LabelProps
|
9 |
label?: string;
|
10 |
screenReaderLabel?: string;
|
11 |
wrapperElement?: string;
|
12 |
-
wrapperProps?:
|
13 |
}
|
14 |
|
15 |
/**
|
3 |
*/
|
4 |
import { Fragment } from '@wordpress/element';
|
5 |
import classNames from 'classnames';
|
6 |
+
import type { ReactElement, HTMLAttributes } from 'react';
|
7 |
|
8 |
+
interface LabelProps {
|
9 |
label?: string;
|
10 |
screenReaderLabel?: string;
|
11 |
wrapperElement?: string;
|
12 |
+
wrapperProps?: HTMLAttributes< HTMLElement >;
|
13 |
}
|
14 |
|
15 |
/**
|
assets/js/base/components/loading-mask/index.js
CHANGED
@@ -4,14 +4,13 @@
|
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import PropTypes from 'prop-types';
|
6 |
import classNames from 'classnames';
|
|
|
7 |
|
8 |
/**
|
9 |
* Internal dependencies
|
10 |
*/
|
11 |
import './style.scss';
|
12 |
-
import Spinner from '../spinner';
|
13 |
|
14 |
-
// @todo Find a way to block buttons/form components when LoadingMask isLoading
|
15 |
const LoadingMask = ( {
|
16 |
children,
|
17 |
className,
|
@@ -19,27 +18,29 @@ const LoadingMask = ( {
|
|
19 |
showSpinner = false,
|
20 |
isLoading = true,
|
21 |
} ) => {
|
|
|
|
|
|
|
|
|
|
|
22 |
return (
|
23 |
<div
|
24 |
-
className={ classNames(
|
25 |
-
|
26 |
-
|
|
|
27 |
>
|
28 |
-
{
|
29 |
<div
|
30 |
-
className=
|
31 |
-
|
32 |
-
} ) }
|
33 |
-
aria-hidden={ isLoading }
|
34 |
>
|
35 |
{ children }
|
36 |
</div>
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
</span>
|
42 |
-
) }
|
43 |
</div>
|
44 |
);
|
45 |
};
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import PropTypes from 'prop-types';
|
6 |
import classNames from 'classnames';
|
7 |
+
import { Spinner } from 'wordpress-components';
|
8 |
|
9 |
/**
|
10 |
* Internal dependencies
|
11 |
*/
|
12 |
import './style.scss';
|
|
|
13 |
|
|
|
14 |
const LoadingMask = ( {
|
15 |
children,
|
16 |
className,
|
18 |
showSpinner = false,
|
19 |
isLoading = true,
|
20 |
} ) => {
|
21 |
+
// If nothing is loading, just pass through the children.
|
22 |
+
if ( ! isLoading ) {
|
23 |
+
return children;
|
24 |
+
}
|
25 |
+
|
26 |
return (
|
27 |
<div
|
28 |
+
className={ classNames(
|
29 |
+
className,
|
30 |
+
'wc-block-components-loading-mask'
|
31 |
+
) }
|
32 |
>
|
33 |
+
{ showSpinner && <Spinner /> }
|
34 |
<div
|
35 |
+
className="wc-block-components-loading-mask__children"
|
36 |
+
aria-hidden={ true }
|
|
|
|
|
37 |
>
|
38 |
{ children }
|
39 |
</div>
|
40 |
+
<span className="screen-reader-text">
|
41 |
+
{ screenReaderLabel ||
|
42 |
+
__( 'Loading…', 'woo-gutenberg-products-block' ) }
|
43 |
+
</span>
|
|
|
|
|
44 |
</div>
|
45 |
);
|
46 |
};
|
assets/js/base/components/loading-mask/style.scss
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
.wc-block-components-loading-mask {
|
2 |
position: relative;
|
3 |
min-height: 18px + $gap;
|
4 |
-
pointer-events: none;
|
5 |
|
6 |
.components-spinner {
|
7 |
position: absolute;
|
@@ -10,8 +9,8 @@
|
|
10 |
left: 50%;
|
11 |
transform: translate(-50%, -50%);
|
12 |
}
|
|
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
}
|
17 |
}
|
1 |
.wc-block-components-loading-mask {
|
2 |
position: relative;
|
3 |
min-height: 18px + $gap;
|
|
|
4 |
|
5 |
.components-spinner {
|
6 |
position: absolute;
|
9 |
left: 50%;
|
10 |
transform: translate(-50%, -50%);
|
11 |
}
|
12 |
+
}
|
13 |
|
14 |
+
.wc-block-components-loading-mask__children {
|
15 |
+
opacity: 0.5;
|
|
|
16 |
}
|
assets/js/base/components/price-slider/index.js
CHANGED
@@ -12,7 +12,6 @@ import {
|
|
12 |
import PropTypes from 'prop-types';
|
13 |
import classnames from 'classnames';
|
14 |
import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
|
15 |
-
import { isObject } from '@woocommerce/types';
|
16 |
|
17 |
/**
|
18 |
* Internal dependencies
|
@@ -242,13 +241,10 @@ const PriceSlider = ( {
|
|
242 |
! hasValidConstraints && 'is-disabled'
|
243 |
);
|
244 |
|
245 |
-
const activeElement = isObject( minRange.current )
|
246 |
-
? minRange.current.ownerDocument.activeElement
|
247 |
-
: undefined;
|
248 |
const minRangeStep =
|
249 |
-
|
250 |
const maxRangeStep =
|
251 |
-
|
252 |
|
253 |
return (
|
254 |
<div className={ classes }>
|
12 |
import PropTypes from 'prop-types';
|
13 |
import classnames from 'classnames';
|
14 |
import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
|
|
|
15 |
|
16 |
/**
|
17 |
* Internal dependencies
|
241 |
! hasValidConstraints && 'is-disabled'
|
242 |
);
|
243 |
|
|
|
|
|
|
|
244 |
const minRangeStep =
|
245 |
+
minRange && document.activeElement === minRange.current ? stepValue : 1;
|
246 |
const maxRangeStep =
|
247 |
+
maxRange && document.activeElement === maxRange.current ? stepValue : 1;
|
248 |
|
249 |
return (
|
250 |
<div className={ classes }>
|
assets/js/base/components/product-list/style.scss
CHANGED
@@ -55,11 +55,6 @@
|
|
55 |
list-style: none;
|
56 |
}
|
57 |
|
58 |
-
// Increased specificity necessary as Gutenberg's generic reset overrides box sizing
|
59 |
-
.wc-block-grid__product.wc-block-grid__product {
|
60 |
-
box-sizing: border-box;
|
61 |
-
}
|
62 |
-
|
63 |
.theme-twentytwenty .wc-block-grid,
|
64 |
.wc-block-grid {
|
65 |
&.has-aligned-buttons {
|
55 |
list-style: none;
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
58 |
.theme-twentytwenty .wc-block-grid,
|
59 |
.wc-block-grid {
|
60 |
&.has-aligned-buttons {
|
assets/js/base/components/product-name/index.js
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import PropTypes from 'prop-types';
|
5 |
+
import { decodeEntities } from '@wordpress/html-entities';
|
6 |
+
import classnames from 'classnames';
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Internal dependencies
|
10 |
+
*/
|
11 |
+
import './style.scss';
|
12 |
+
|
13 |
+
const ProductName = ( {
|
14 |
+
className = '',
|
15 |
+
disabled = false,
|
16 |
+
name,
|
17 |
+
permalink = '',
|
18 |
+
...props
|
19 |
+
} ) => {
|
20 |
+
const classes = classnames( 'wc-block-components-product-name', className );
|
21 |
+
return disabled ? (
|
22 |
+
<span className={ classes } { ...props }>
|
23 |
+
{ decodeEntities( name ) }
|
24 |
+
</span>
|
25 |
+
) : (
|
26 |
+
<a className={ classes } href={ permalink } { ...props }>
|
27 |
+
{ decodeEntities( name ) }
|
28 |
+
</a>
|
29 |
+
);
|
30 |
+
};
|
31 |
+
|
32 |
+
ProductName.propTypes = {
|
33 |
+
className: PropTypes.string,
|
34 |
+
disabled: PropTypes.bool,
|
35 |
+
name: PropTypes.string.isRequired,
|
36 |
+
permalink: PropTypes.string,
|
37 |
+
};
|
38 |
+
|
39 |
+
export default ProductName;
|
assets/js/base/components/product-name/index.tsx
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { decodeEntities } from '@wordpress/html-entities';
|
5 |
-
import classnames from 'classnames';
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Internal dependencies
|
9 |
-
*/
|
10 |
-
import './style.scss';
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Render the Product name.
|
14 |
-
*
|
15 |
-
* The store API runs titles through `wp_kses_post()` which removes dangerous HTML tags, so using it inside `dangerouslySetInnerHTML` is considered safe.
|
16 |
-
*/
|
17 |
-
export default ( {
|
18 |
-
className = '',
|
19 |
-
disabled = false,
|
20 |
-
name,
|
21 |
-
permalink = '',
|
22 |
-
...props
|
23 |
-
}: {
|
24 |
-
className: string;
|
25 |
-
disabled: boolean;
|
26 |
-
name: string;
|
27 |
-
permalink: string;
|
28 |
-
} ): JSX.Element => {
|
29 |
-
const classes = classnames( 'wc-block-components-product-name', className );
|
30 |
-
return disabled ? (
|
31 |
-
<span
|
32 |
-
className={ classes }
|
33 |
-
{ ...props }
|
34 |
-
dangerouslySetInnerHTML={ {
|
35 |
-
__html: decodeEntities( name ),
|
36 |
-
} }
|
37 |
-
/>
|
38 |
-
) : (
|
39 |
-
<a
|
40 |
-
className={ classes }
|
41 |
-
href={ permalink }
|
42 |
-
{ ...props }
|
43 |
-
dangerouslySetInnerHTML={ {
|
44 |
-
__html: decodeEntities( name ),
|
45 |
-
} }
|
46 |
-
/>
|
47 |
-
);
|
48 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/product-name/test/__snapshots__/index.js.snap
CHANGED
@@ -3,47 +3,35 @@
|
|
3 |
exports[`ProductName should merge classes and props 1`] = `
|
4 |
<a
|
5 |
className="wc-block-components-product-name lorem-ipsum"
|
6 |
-
dangerouslySetInnerHTML={
|
7 |
-
Object {
|
8 |
-
"__html": "Test product",
|
9 |
-
}
|
10 |
-
}
|
11 |
href="/"
|
12 |
rel="nofollow"
|
13 |
-
|
|
|
|
|
14 |
`;
|
15 |
|
16 |
exports[`ProductName should not render a link if disabled is true 1`] = `
|
17 |
<span
|
18 |
className="wc-block-components-product-name"
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
}
|
23 |
-
}
|
24 |
-
/>
|
25 |
`;
|
26 |
|
27 |
exports[`ProductName should render a link if disabled is false 1`] = `
|
28 |
<a
|
29 |
className="wc-block-components-product-name"
|
30 |
-
dangerouslySetInnerHTML={
|
31 |
-
Object {
|
32 |
-
"__html": "Test product",
|
33 |
-
}
|
34 |
-
}
|
35 |
href="/"
|
36 |
-
|
|
|
|
|
37 |
`;
|
38 |
|
39 |
exports[`ProductName should render a link if disabled is not defined 1`] = `
|
40 |
<a
|
41 |
className="wc-block-components-product-name"
|
42 |
-
dangerouslySetInnerHTML={
|
43 |
-
Object {
|
44 |
-
"__html": "Test product",
|
45 |
-
}
|
46 |
-
}
|
47 |
href="/"
|
48 |
-
|
|
|
|
|
49 |
`;
|
3 |
exports[`ProductName should merge classes and props 1`] = `
|
4 |
<a
|
5 |
className="wc-block-components-product-name lorem-ipsum"
|
|
|
|
|
|
|
|
|
|
|
6 |
href="/"
|
7 |
rel="nofollow"
|
8 |
+
>
|
9 |
+
Test product
|
10 |
+
</a>
|
11 |
`;
|
12 |
|
13 |
exports[`ProductName should not render a link if disabled is true 1`] = `
|
14 |
<span
|
15 |
className="wc-block-components-product-name"
|
16 |
+
>
|
17 |
+
Test product
|
18 |
+
</span>
|
|
|
|
|
|
|
19 |
`;
|
20 |
|
21 |
exports[`ProductName should render a link if disabled is false 1`] = `
|
22 |
<a
|
23 |
className="wc-block-components-product-name"
|
|
|
|
|
|
|
|
|
|
|
24 |
href="/"
|
25 |
+
>
|
26 |
+
Test product
|
27 |
+
</a>
|
28 |
`;
|
29 |
|
30 |
exports[`ProductName should render a link if disabled is not defined 1`] = `
|
31 |
<a
|
32 |
className="wc-block-components-product-name"
|
|
|
|
|
|
|
|
|
|
|
33 |
href="/"
|
34 |
+
>
|
35 |
+
Test product
|
36 |
+
</a>
|
37 |
`;
|
assets/js/base/components/product-price/index.js
CHANGED
@@ -1,12 +1,11 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
-
import { __
|
5 |
import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
|
6 |
import classNames from 'classnames';
|
7 |
import PropTypes from 'prop-types';
|
8 |
import { createInterpolateElement } from 'wordpress-element';
|
9 |
-
import { formatPrice } from '@woocommerce/price-format';
|
10 |
|
11 |
/**
|
12 |
* Internal dependencies
|
@@ -22,38 +21,25 @@ const PriceRange = ( {
|
|
22 |
} ) => {
|
23 |
return (
|
24 |
<>
|
25 |
-
<
|
26 |
-
{
|
27 |
-
|
28 |
-
|
29 |
-
'Price between %1$s and %2$s',
|
30 |
-
'woo-gutenberg-products-block'
|
31 |
-
),
|
32 |
-
formatPrice( minPrice ),
|
33 |
-
formatPrice( maxPrice )
|
34 |
) }
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
'wc-block-components-product-price__value',
|
50 |
-
priceClassName
|
51 |
-
) }
|
52 |
-
currency={ currency }
|
53 |
-
value={ maxPrice }
|
54 |
-
style={ priceStyle }
|
55 |
-
/>
|
56 |
-
</span>
|
57 |
</>
|
58 |
);
|
59 |
};
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
+
import { __ } from '@wordpress/i18n';
|
5 |
import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
|
6 |
import classNames from 'classnames';
|
7 |
import PropTypes from 'prop-types';
|
8 |
import { createInterpolateElement } from 'wordpress-element';
|
|
|
9 |
|
10 |
/**
|
11 |
* Internal dependencies
|
21 |
} ) => {
|
22 |
return (
|
23 |
<>
|
24 |
+
<FormattedMonetaryAmount
|
25 |
+
className={ classNames(
|
26 |
+
'wc-block-components-product-price__value',
|
27 |
+
priceClassName
|
|
|
|
|
|
|
|
|
|
|
28 |
) }
|
29 |
+
currency={ currency }
|
30 |
+
value={ minPrice }
|
31 |
+
style={ priceStyle }
|
32 |
+
/>
|
33 |
+
—
|
34 |
+
<FormattedMonetaryAmount
|
35 |
+
className={ classNames(
|
36 |
+
'wc-block-components-product-price__value',
|
37 |
+
priceClassName
|
38 |
+
) }
|
39 |
+
currency={ currency }
|
40 |
+
value={ maxPrice }
|
41 |
+
style={ priceStyle }
|
42 |
+
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
</>
|
44 |
);
|
45 |
};
|
assets/js/base/components/quantity-selector/index.tsx
CHANGED
@@ -6,12 +6,12 @@ import { speak } from '@wordpress/a11y';
|
|
6 |
import classNames from 'classnames';
|
7 |
import { useCallback } from '@wordpress/element';
|
8 |
import { DOWN, UP } from '@wordpress/keycodes';
|
9 |
-
import { isNumber } from '@woocommerce/types';
|
10 |
|
11 |
/**
|
12 |
* Internal dependencies
|
13 |
*/
|
14 |
import './style.scss';
|
|
|
15 |
|
16 |
interface QuantitySelectorProps {
|
17 |
className?: string;
|
6 |
import classNames from 'classnames';
|
7 |
import { useCallback } from '@wordpress/element';
|
8 |
import { DOWN, UP } from '@wordpress/keycodes';
|
|
|
9 |
|
10 |
/**
|
11 |
* Internal dependencies
|
12 |
*/
|
13 |
import './style.scss';
|
14 |
+
import { isNumber } from '../../utils/type-guards';
|
15 |
|
16 |
interface QuantitySelectorProps {
|
17 |
className?: string;
|
assets/js/base/components/sidebar-layout/style.scss
CHANGED
@@ -52,13 +52,6 @@
|
|
52 |
}
|
53 |
}
|
54 |
|
55 |
-
.wc-block-components-sidebar .wc-block-components-panel > h2 {
|
56 |
-
@include reset-typography();
|
57 |
-
.wc-block-components-panel__button {
|
58 |
-
font-weight: 400;
|
59 |
-
}
|
60 |
-
}
|
61 |
-
|
62 |
// For Twenty Twenty we need to increase specificity a bit more.
|
63 |
.theme-twentytwenty {
|
64 |
.wc-block-components-sidebar .wc-block-components-panel > h2 {
|
52 |
}
|
53 |
}
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
// For Twenty Twenty we need to increase specificity a bit more.
|
56 |
.theme-twentytwenty {
|
57 |
.wc-block-components-sidebar .wc-block-components-panel > h2 {
|
assets/js/base/components/spinner/index.tsx
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Internal dependencies
|
3 |
-
*/
|
4 |
-
import './style.scss';
|
5 |
-
|
6 |
-
const Spinner = (): JSX.Element => {
|
7 |
-
return <span className="wc-block-components-spinner" aria-hidden="true" />;
|
8 |
-
};
|
9 |
-
|
10 |
-
export default Spinner;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/spinner/style.scss
DELETED
@@ -1,37 +0,0 @@
|
|
1 |
-
.wc-block-components-spinner {
|
2 |
-
position: absolute;
|
3 |
-
width: 100%;
|
4 |
-
height: 100%;
|
5 |
-
color: inherit;
|
6 |
-
box-sizing: content-box;
|
7 |
-
text-align: center;
|
8 |
-
font-size: 1.25em;
|
9 |
-
|
10 |
-
&::after {
|
11 |
-
content: " ";
|
12 |
-
position: absolute;
|
13 |
-
top: 50%;
|
14 |
-
left: 50%;
|
15 |
-
margin: -0.5em 0 0 -0.5em;
|
16 |
-
width: 1em;
|
17 |
-
height: 1em;
|
18 |
-
box-sizing: border-box;
|
19 |
-
transform-origin: 50% 50%;
|
20 |
-
transform: translateZ(0) scale(0.5);
|
21 |
-
backface-visibility: hidden;
|
22 |
-
border-radius: 50%;
|
23 |
-
border: 0.2em solid currentColor;
|
24 |
-
border-left-color: transparent;
|
25 |
-
animation: wc-block-components-spinner__animation 1s infinite linear;
|
26 |
-
}
|
27 |
-
}
|
28 |
-
|
29 |
-
@keyframes wc-block-components-spinner__animation {
|
30 |
-
0% {
|
31 |
-
animation-timing-function: cubic-bezier(0.5856, 0.0703, 0.4143, 0.9297);
|
32 |
-
transform: rotate(0deg);
|
33 |
-
}
|
34 |
-
100% {
|
35 |
-
transform: rotate(360deg);
|
36 |
-
}
|
37 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/state-input/StateInputProps.ts
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
export interface StateInputProps {
|
2 |
-
className?: string;
|
3 |
-
label: string;
|
4 |
-
id: string;
|
5 |
-
autoComplete?: string;
|
6 |
-
value: string;
|
7 |
-
country: string;
|
8 |
-
onChange: ( value: string ) => void;
|
9 |
-
required?: boolean;
|
10 |
-
errorMessage?: string;
|
11 |
-
}
|
12 |
-
|
13 |
-
export type StateInputWithStatesProps = StateInputProps & {
|
14 |
-
states: Record< string, Record< string, string > >;
|
15 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/state-input/billing-state-input.js
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import PropTypes from 'prop-types';
|
5 |
+
import { getSetting } from '@woocommerce/settings';
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Internal dependencies
|
9 |
+
*/
|
10 |
+
import StateInput from './state-input.js';
|
11 |
+
|
12 |
+
const BillingStateInput = ( props ) => {
|
13 |
+
return (
|
14 |
+
<StateInput states={ getSetting( 'allowedStates', {} ) } { ...props } />
|
15 |
+
);
|
16 |
+
};
|
17 |
+
|
18 |
+
BillingStateInput.propTypes = {
|
19 |
+
onChange: PropTypes.func.isRequired,
|
20 |
+
className: PropTypes.string,
|
21 |
+
label: PropTypes.string,
|
22 |
+
value: PropTypes.string,
|
23 |
+
};
|
24 |
+
|
25 |
+
export default BillingStateInput;
|
assets/js/base/components/state-input/billing-state-input.tsx
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { ALLOWED_STATES } from '@woocommerce/block-settings';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import StateInput from './state-input';
|
10 |
-
import type { StateInputProps } from './StateInputProps';
|
11 |
-
|
12 |
-
const BillingStateInput = ( props: StateInputProps ): JSX.Element => {
|
13 |
-
return <StateInput states={ ALLOWED_STATES } { ...props } />;
|
14 |
-
};
|
15 |
-
|
16 |
-
export default BillingStateInput;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/state-input/{index.ts → index.js}
RENAMED
File without changes
|
assets/js/base/components/state-input/shipping-state-input.js
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import PropTypes from 'prop-types';
|
5 |
+
import { getSetting } from '@woocommerce/settings';
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Internal dependencies
|
9 |
+
*/
|
10 |
+
import StateInput from './state-input.js';
|
11 |
+
|
12 |
+
const ShippingStateInput = ( props ) => {
|
13 |
+
return (
|
14 |
+
<StateInput
|
15 |
+
states={ getSetting( 'shippingStates', {} ) }
|
16 |
+
{ ...props }
|
17 |
+
/>
|
18 |
+
);
|
19 |
+
};
|
20 |
+
|
21 |
+
ShippingStateInput.propTypes = {
|
22 |
+
onChange: PropTypes.func.isRequired,
|
23 |
+
className: PropTypes.string,
|
24 |
+
label: PropTypes.string,
|
25 |
+
value: PropTypes.string,
|
26 |
+
};
|
27 |
+
|
28 |
+
export default ShippingStateInput;
|
assets/js/base/components/state-input/shipping-state-input.tsx
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { SHIPPING_STATES } from '@woocommerce/block-settings';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import StateInput from './state-input';
|
10 |
-
import type { StateInputProps } from './StateInputProps';
|
11 |
-
|
12 |
-
const ShippingStateInput = ( props: StateInputProps ): JSX.Element => {
|
13 |
-
return <StateInput states={ SHIPPING_STATES } { ...props } />;
|
14 |
-
};
|
15 |
-
|
16 |
-
export default ShippingStateInput;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/components/state-input/{state-input.tsx → state-input.js}
RENAMED
@@ -2,6 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
|
|
5 |
import { decodeEntities } from '@wordpress/html-entities';
|
6 |
import { useCallback, useMemo } from '@wordpress/element';
|
7 |
import classnames from 'classnames';
|
@@ -12,7 +13,6 @@ import classnames from 'classnames';
|
|
12 |
import { ValidatedTextInput } from '../text-input';
|
13 |
import { ValidatedSelect } from '../select';
|
14 |
import './style.scss';
|
15 |
-
import type { StateInputWithStatesProps } from './StateInputProps';
|
16 |
|
17 |
const StateInput = ( {
|
18 |
className,
|
@@ -24,7 +24,7 @@ const StateInput = ( {
|
|
24 |
autoComplete = 'off',
|
25 |
value = '',
|
26 |
required = false,
|
27 |
-
}
|
28 |
const countryStates = states[ country ];
|
29 |
const options = useMemo(
|
30 |
() =>
|
@@ -112,4 +112,20 @@ const StateInput = ( {
|
|
112 |
);
|
113 |
};
|
114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
export default StateInput;
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import PropTypes from 'prop-types';
|
6 |
import { decodeEntities } from '@wordpress/html-entities';
|
7 |
import { useCallback, useMemo } from '@wordpress/element';
|
8 |
import classnames from 'classnames';
|
13 |
import { ValidatedTextInput } from '../text-input';
|
14 |
import { ValidatedSelect } from '../select';
|
15 |
import './style.scss';
|
|
|
16 |
|
17 |
const StateInput = ( {
|
18 |
className,
|
24 |
autoComplete = 'off',
|
25 |
value = '',
|
26 |
required = false,
|
27 |
+
} ) => {
|
28 |
const countryStates = states[ country ];
|
29 |
const options = useMemo(
|
30 |
() =>
|
112 |
);
|
113 |
};
|
114 |
|
115 |
+
StateInput.propTypes = {
|
116 |
+
states: PropTypes.objectOf(
|
117 |
+
PropTypes.oneOfType( [
|
118 |
+
PropTypes.array,
|
119 |
+
PropTypes.objectOf( PropTypes.string ),
|
120 |
+
] )
|
121 |
+
).isRequired,
|
122 |
+
onChange: PropTypes.func.isRequired,
|
123 |
+
autoComplete: PropTypes.string,
|
124 |
+
id: PropTypes.string,
|
125 |
+
className: PropTypes.string,
|
126 |
+
country: PropTypes.string,
|
127 |
+
label: PropTypes.string,
|
128 |
+
value: PropTypes.string,
|
129 |
+
};
|
130 |
+
|
131 |
export default StateInput;
|
assets/js/base/components/text-input/{index.ts → index.js}
RENAMED
File without changes
|
assets/js/base/components/text-input/style.scss
CHANGED
@@ -40,7 +40,6 @@
|
|
40 |
input[type="tel"],
|
41 |
input[type="url"],
|
42 |
input[type="text"],
|
43 |
-
input[type="number"],
|
44 |
input[type="email"] {
|
45 |
@include font-size(regular);
|
46 |
background-color: #fff;
|
@@ -73,20 +72,9 @@
|
|
73 |
}
|
74 |
}
|
75 |
|
76 |
-
input[type="number"] {
|
77 |
-
-moz-appearance: textfield;
|
78 |
-
|
79 |
-
&::-webkit-outer-spin-button,
|
80 |
-
&::-webkit-inner-spin-button {
|
81 |
-
appearance: none;
|
82 |
-
margin: 0;
|
83 |
-
}
|
84 |
-
}
|
85 |
-
|
86 |
&.is-active input[type="tel"],
|
87 |
&.is-active input[type="url"],
|
88 |
&.is-active input[type="text"],
|
89 |
-
&.is-active input[type="number"],
|
90 |
&.is-active input[type="email"] {
|
91 |
padding: em($gap-large) 0 em($gap-smallest) $gap;
|
92 |
}
|
40 |
input[type="tel"],
|
41 |
input[type="url"],
|
42 |
input[type="text"],
|
|
|
43 |
input[type="email"] {
|
44 |
@include font-size(regular);
|
45 |
background-color: #fff;
|
72 |
}
|
73 |
}
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
&.is-active input[type="tel"],
|
76 |
&.is-active input[type="url"],
|
77 |
&.is-active input[type="text"],
|
|
|
78 |
&.is-active input[type="email"] {
|
79 |
padding: em($gap-large) 0 em($gap-smallest) $gap;
|
80 |
}
|
assets/js/base/components/text-input/{text-input.tsx → text-input.js}
RENAMED
@@ -1,7 +1,8 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
-
import { forwardRef
|
|
|
5 |
import classnames from 'classnames';
|
6 |
import { useState } from '@wordpress/element';
|
7 |
|
@@ -11,24 +12,7 @@ import { useState } from '@wordpress/element';
|
|
11 |
import Label from '../label';
|
12 |
import './style.scss';
|
13 |
|
14 |
-
|
15 |
-
extends Omit<
|
16 |
-
InputHTMLAttributes< HTMLInputElement >,
|
17 |
-
'onChange' | 'onBlur'
|
18 |
-
> {
|
19 |
-
id: string;
|
20 |
-
ariaLabel?: string;
|
21 |
-
label?: string;
|
22 |
-
ariaDescribedBy?: string;
|
23 |
-
screenReaderLabel?: string;
|
24 |
-
help?: string;
|
25 |
-
feedback?: boolean | JSX.Element;
|
26 |
-
autoComplete?: string;
|
27 |
-
onChange: ( newValue: string ) => void;
|
28 |
-
onBlur?: ( newValue: string ) => void;
|
29 |
-
}
|
30 |
-
|
31 |
-
const TextInput = forwardRef< HTMLInputElement, TextInputProps >(
|
32 |
(
|
33 |
{
|
34 |
className,
|
@@ -45,11 +29,8 @@ const TextInput = forwardRef< HTMLInputElement, TextInputProps >(
|
|
45 |
value = '',
|
46 |
onChange,
|
47 |
required = false,
|
48 |
-
onBlur = () => {
|
49 |
-
/* Do nothing */
|
50 |
-
},
|
51 |
feedback,
|
52 |
-
...rest
|
53 |
},
|
54 |
ref
|
55 |
) => {
|
@@ -76,8 +57,8 @@ const TextInput = forwardRef< HTMLInputElement, TextInputProps >(
|
|
76 |
onChange( event.target.value );
|
77 |
} }
|
78 |
onFocus={ () => setIsActive( true ) }
|
79 |
-
onBlur={ (
|
80 |
-
onBlur(
|
81 |
setIsActive( false );
|
82 |
} }
|
83 |
aria-label={ ariaLabel || label }
|
@@ -88,7 +69,6 @@ const TextInput = forwardRef< HTMLInputElement, TextInputProps >(
|
|
88 |
: ariaDescribedBy
|
89 |
}
|
90 |
required={ required }
|
91 |
-
{ ...rest }
|
92 |
/>
|
93 |
<Label
|
94 |
label={ label }
|
@@ -113,4 +93,19 @@ const TextInput = forwardRef< HTMLInputElement, TextInputProps >(
|
|
113 |
}
|
114 |
);
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
export default TextInput;
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
+
import { forwardRef } from 'react';
|
5 |
+
import PropTypes from 'prop-types';
|
6 |
import classnames from 'classnames';
|
7 |
import { useState } from '@wordpress/element';
|
8 |
|
12 |
import Label from '../label';
|
13 |
import './style.scss';
|
14 |
|
15 |
+
const TextInput = forwardRef(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
(
|
17 |
{
|
18 |
className,
|
29 |
value = '',
|
30 |
onChange,
|
31 |
required = false,
|
32 |
+
onBlur = () => {},
|
|
|
|
|
33 |
feedback,
|
|
|
34 |
},
|
35 |
ref
|
36 |
) => {
|
57 |
onChange( event.target.value );
|
58 |
} }
|
59 |
onFocus={ () => setIsActive( true ) }
|
60 |
+
onBlur={ () => {
|
61 |
+
onBlur();
|
62 |
setIsActive( false );
|
63 |
} }
|
64 |
aria-label={ ariaLabel || label }
|
69 |
: ariaDescribedBy
|
70 |
}
|
71 |
required={ required }
|
|
|
72 |
/>
|
73 |
<Label
|
74 |
label={ label }
|
93 |
}
|
94 |
);
|
95 |
|
96 |
+
TextInput.propTypes = {
|
97 |
+
id: PropTypes.string.isRequired,
|
98 |
+
onChange: PropTypes.func.isRequired,
|
99 |
+
value: PropTypes.string,
|
100 |
+
ariaLabel: PropTypes.string,
|
101 |
+
ariaDescribedBy: PropTypes.string,
|
102 |
+
label: PropTypes.string,
|
103 |
+
screenReaderLabel: PropTypes.string,
|
104 |
+
disabled: PropTypes.bool,
|
105 |
+
help: PropTypes.string,
|
106 |
+
autoCapitalize: PropTypes.string,
|
107 |
+
autoComplete: PropTypes.string,
|
108 |
+
required: PropTypes.bool,
|
109 |
+
};
|
110 |
+
|
111 |
export default TextInput;
|
assets/js/base/components/text-input/{validated-text-input.tsx → validated-text-input.js}
RENAMED
@@ -3,13 +3,13 @@
|
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { useCallback, useRef, useEffect, useState } from 'react';
|
|
|
6 |
import classnames from 'classnames';
|
7 |
import {
|
8 |
ValidationInputError,
|
9 |
useValidationContext,
|
10 |
} from '@woocommerce/base-context';
|
11 |
import { withInstanceId } from '@woocommerce/base-hocs/with-instance-id';
|
12 |
-
import { isString } from '@woocommerce/types';
|
13 |
|
14 |
/**
|
15 |
* Internal dependencies
|
@@ -17,30 +17,6 @@ import { isString } from '@woocommerce/types';
|
|
17 |
import TextInput from './text-input';
|
18 |
import './style.scss';
|
19 |
|
20 |
-
interface ValidatedTextInputPropsWithId {
|
21 |
-
instanceId?: string;
|
22 |
-
id: string;
|
23 |
-
}
|
24 |
-
|
25 |
-
interface ValidatedTextInputPropsWithInstanceId {
|
26 |
-
instanceId: string;
|
27 |
-
id?: string;
|
28 |
-
}
|
29 |
-
|
30 |
-
type ValidatedTextInputProps = (
|
31 |
-
| ValidatedTextInputPropsWithId
|
32 |
-
| ValidatedTextInputPropsWithInstanceId
|
33 |
-
) & {
|
34 |
-
className?: string;
|
35 |
-
ariaDescribedBy?: string;
|
36 |
-
errorId?: string;
|
37 |
-
validateOnMount?: boolean;
|
38 |
-
focusOnMount?: boolean;
|
39 |
-
showError?: boolean;
|
40 |
-
errorMessage?: string;
|
41 |
-
onChange: ( newValue: string ) => void;
|
42 |
-
};
|
43 |
-
|
44 |
const ValidatedTextInput = ( {
|
45 |
className,
|
46 |
instanceId,
|
@@ -51,11 +27,10 @@ const ValidatedTextInput = ( {
|
|
51 |
focusOnMount = false,
|
52 |
onChange,
|
53 |
showError = true,
|
54 |
-
errorMessage: passedErrorMessage = '',
|
55 |
...rest
|
56 |
-
}
|
57 |
const [ isPristine, setIsPristine ] = useState( true );
|
58 |
-
const inputRef = useRef
|
59 |
const {
|
60 |
getValidationError,
|
61 |
hideValidationError,
|
@@ -64,9 +39,8 @@ const ValidatedTextInput = ( {
|
|
64 |
getValidationErrorId,
|
65 |
} = useValidationContext();
|
66 |
|
67 |
-
const textInputId =
|
68 |
-
|
69 |
-
const errorIdString = errorId !== undefined ? errorId : textInputId;
|
70 |
|
71 |
const validateInput = useCallback(
|
72 |
( errorsHidden = true ) => {
|
@@ -78,10 +52,10 @@ const ValidatedTextInput = ( {
|
|
78 |
inputObject.value = inputObject.value.trim();
|
79 |
const inputIsValid = inputObject.checkValidity();
|
80 |
if ( inputIsValid ) {
|
81 |
-
clearValidationError(
|
82 |
} else {
|
83 |
setValidationErrors( {
|
84 |
-
[
|
85 |
message:
|
86 |
inputObject.validationMessage ||
|
87 |
__(
|
@@ -93,13 +67,13 @@ const ValidatedTextInput = ( {
|
|
93 |
} );
|
94 |
}
|
95 |
},
|
96 |
-
[ clearValidationError,
|
97 |
);
|
98 |
|
99 |
useEffect( () => {
|
100 |
if ( isPristine ) {
|
101 |
if ( focusOnMount ) {
|
102 |
-
inputRef.current
|
103 |
}
|
104 |
setIsPristine( false );
|
105 |
}
|
@@ -117,22 +91,15 @@ const ValidatedTextInput = ( {
|
|
117 |
// Remove validation errors when unmounted.
|
118 |
useEffect( () => {
|
119 |
return () => {
|
120 |
-
clearValidationError(
|
121 |
};
|
122 |
-
}, [ clearValidationError,
|
123 |
|
124 |
-
|
125 |
-
const errorMessage = ( getValidationError( errorIdString ) || {} ) as {
|
126 |
-
message?: string;
|
127 |
-
hidden?: boolean;
|
128 |
-
};
|
129 |
-
if ( isString( passedErrorMessage ) && passedErrorMessage !== '' ) {
|
130 |
-
errorMessage.message = passedErrorMessage;
|
131 |
-
}
|
132 |
const hasError = errorMessage.message && ! errorMessage.hidden;
|
133 |
const describedBy =
|
134 |
-
showError && hasError && getValidationErrorId(
|
135 |
-
? getValidationErrorId(
|
136 |
: ariaDescribedBy;
|
137 |
|
138 |
return (
|
@@ -145,16 +112,11 @@ const ValidatedTextInput = ( {
|
|
145 |
validateInput( false );
|
146 |
} }
|
147 |
feedback={
|
148 |
-
showError &&
|
149 |
-
<ValidationInputError
|
150 |
-
errorMessage={ passedErrorMessage }
|
151 |
-
propertyName={ errorIdString }
|
152 |
-
/>
|
153 |
-
)
|
154 |
}
|
155 |
ref={ inputRef }
|
156 |
onChange={ ( val ) => {
|
157 |
-
hideValidationError(
|
158 |
onChange( val );
|
159 |
} }
|
160 |
ariaDescribedBy={ describedBy }
|
@@ -163,4 +125,15 @@ const ValidatedTextInput = ( {
|
|
163 |
);
|
164 |
};
|
165 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
export default withInstanceId( ValidatedTextInput );
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { useCallback, useRef, useEffect, useState } from 'react';
|
6 |
+
import PropTypes from 'prop-types';
|
7 |
import classnames from 'classnames';
|
8 |
import {
|
9 |
ValidationInputError,
|
10 |
useValidationContext,
|
11 |
} from '@woocommerce/base-context';
|
12 |
import { withInstanceId } from '@woocommerce/base-hocs/with-instance-id';
|
|
|
13 |
|
14 |
/**
|
15 |
* Internal dependencies
|
17 |
import TextInput from './text-input';
|
18 |
import './style.scss';
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
const ValidatedTextInput = ( {
|
21 |
className,
|
22 |
instanceId,
|
27 |
focusOnMount = false,
|
28 |
onChange,
|
29 |
showError = true,
|
|
|
30 |
...rest
|
31 |
+
} ) => {
|
32 |
const [ isPristine, setIsPristine ] = useState( true );
|
33 |
+
const inputRef = useRef();
|
34 |
const {
|
35 |
getValidationError,
|
36 |
hideValidationError,
|
39 |
getValidationErrorId,
|
40 |
} = useValidationContext();
|
41 |
|
42 |
+
const textInputId = id || 'textinput-' + instanceId;
|
43 |
+
errorId = errorId || textInputId;
|
|
|
44 |
|
45 |
const validateInput = useCallback(
|
46 |
( errorsHidden = true ) => {
|
52 |
inputObject.value = inputObject.value.trim();
|
53 |
const inputIsValid = inputObject.checkValidity();
|
54 |
if ( inputIsValid ) {
|
55 |
+
clearValidationError( errorId );
|
56 |
} else {
|
57 |
setValidationErrors( {
|
58 |
+
[ errorId ]: {
|
59 |
message:
|
60 |
inputObject.validationMessage ||
|
61 |
__(
|
67 |
} );
|
68 |
}
|
69 |
},
|
70 |
+
[ clearValidationError, errorId, setValidationErrors ]
|
71 |
);
|
72 |
|
73 |
useEffect( () => {
|
74 |
if ( isPristine ) {
|
75 |
if ( focusOnMount ) {
|
76 |
+
inputRef.current.focus();
|
77 |
}
|
78 |
setIsPristine( false );
|
79 |
}
|
91 |
// Remove validation errors when unmounted.
|
92 |
useEffect( () => {
|
93 |
return () => {
|
94 |
+
clearValidationError( errorId );
|
95 |
};
|
96 |
+
}, [ clearValidationError, errorId ] );
|
97 |
|
98 |
+
const errorMessage = getValidationError( errorId ) || {};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
const hasError = errorMessage.message && ! errorMessage.hidden;
|
100 |
const describedBy =
|
101 |
+
showError && hasError && getValidationErrorId( errorId )
|
102 |
+
? getValidationErrorId( errorId )
|
103 |
: ariaDescribedBy;
|
104 |
|
105 |
return (
|
112 |
validateInput( false );
|
113 |
} }
|
114 |
feedback={
|
115 |
+
showError && <ValidationInputError propertyName={ errorId } />
|
|
|
|
|
|
|
|
|
|
|
116 |
}
|
117 |
ref={ inputRef }
|
118 |
onChange={ ( val ) => {
|
119 |
+
hideValidationError( errorId );
|
120 |
onChange( val );
|
121 |
} }
|
122 |
ariaDescribedBy={ describedBy }
|
125 |
);
|
126 |
};
|
127 |
|
128 |
+
ValidatedTextInput.propTypes = {
|
129 |
+
onChange: PropTypes.func.isRequired,
|
130 |
+
id: PropTypes.string,
|
131 |
+
value: PropTypes.string,
|
132 |
+
ariaDescribedBy: PropTypes.string,
|
133 |
+
errorId: PropTypes.string,
|
134 |
+
validateOnMount: PropTypes.bool,
|
135 |
+
focusOnMount: PropTypes.bool,
|
136 |
+
showError: PropTypes.bool,
|
137 |
+
};
|
138 |
+
|
139 |
export default withInstanceId( ValidatedTextInput );
|
assets/js/base/context/hooks/cart/use-store-cart-coupons.ts
CHANGED
@@ -13,9 +13,8 @@ import type { StoreCartCoupon } from '@woocommerce/types';
|
|
13 |
* Internal dependencies
|
14 |
*/
|
15 |
import { useStoreCart } from './use-store-cart';
|
16 |
-
import { useStoreSnackbarNotices } from '../use-store-snackbar-notices';
|
17 |
-
import { useValidationContext } from '../../providers/validation';
|
18 |
import { useStoreNotices } from '../use-store-notices';
|
|
|
19 |
|
20 |
/**
|
21 |
* This is a custom hook for loading the Store API /cart/coupons endpoint and an
|
@@ -27,8 +26,7 @@ import { useStoreNotices } from '../use-store-notices';
|
|
27 |
*/
|
28 |
export const useStoreCartCoupons = (): StoreCartCoupon => {
|
29 |
const { cartCoupons, cartIsLoading } = useStoreCart();
|
30 |
-
const { addErrorNotice } = useStoreNotices();
|
31 |
-
const { addSnackbarNotice } = useStoreSnackbarNotices();
|
32 |
const { setValidationErrors } = useValidationContext();
|
33 |
|
34 |
const results: Pick<
|
13 |
* Internal dependencies
|
14 |
*/
|
15 |
import { useStoreCart } from './use-store-cart';
|
|
|
|
|
16 |
import { useStoreNotices } from '../use-store-notices';
|
17 |
+
import { useValidationContext } from '../../providers/validation';
|
18 |
|
19 |
/**
|
20 |
* This is a custom hook for loading the Store API /cart/coupons endpoint and an
|
26 |
*/
|
27 |
export const useStoreCartCoupons = (): StoreCartCoupon => {
|
28 |
const { cartCoupons, cartIsLoading } = useStoreCart();
|
29 |
+
const { addErrorNotice, addSnackbarNotice } = useStoreNotices();
|
|
|
30 |
const { setValidationErrors } = useValidationContext();
|
31 |
|
32 |
const results: Pick<
|
assets/js/base/context/hooks/cart/use-store-cart-item-quantity.ts
CHANGED
@@ -7,20 +7,19 @@ import { CART_STORE_KEY as storeKey } from '@woocommerce/block-data';
|
|
7 |
import { useDebounce } from 'use-debounce';
|
8 |
import { usePrevious } from '@woocommerce/base-hooks';
|
9 |
import { triggerFragmentRefresh } from '@woocommerce/base-utils';
|
10 |
-
import {
|
11 |
-
CartItem,
|
12 |
-
StoreCartItemQuantity,
|
13 |
-
isNumber,
|
14 |
-
isObject,
|
15 |
-
isString,
|
16 |
-
objectHasProp,
|
17 |
-
} from '@woocommerce/types';
|
18 |
|
19 |
/**
|
20 |
* Internal dependencies
|
21 |
*/
|
22 |
import { useStoreCart } from './use-store-cart';
|
23 |
import { useCheckoutContext } from '../../providers/cart-checkout';
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
/**
|
26 |
* Ensures the object passed has props key: string and quantity: number
|
@@ -83,6 +82,7 @@ export const useStoreCartItemQuantity = (
|
|
83 |
},
|
84 |
[ cartItemKey ]
|
85 |
);
|
|
|
86 |
|
87 |
const removeItem = () => {
|
88 |
return cartItemKey
|
@@ -111,30 +111,32 @@ export const useStoreCartItemQuantity = (
|
|
111 |
] );
|
112 |
|
113 |
useEffect( () => {
|
114 |
-
if (
|
115 |
-
|
116 |
-
} else {
|
117 |
-
dispatchActions.decrementCalculating();
|
118 |
}
|
119 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
if ( isPending.delete ) {
|
|
|
|
|
121 |
dispatchActions.decrementCalculating();
|
122 |
}
|
123 |
-
};
|
124 |
-
}, [ dispatchActions, isPending.delete ] );
|
125 |
-
|
126 |
-
useEffect( () => {
|
127 |
-
if ( isPending.quantity || debouncedQuantity !== quantity ) {
|
128 |
-
dispatchActions.incrementCalculating();
|
129 |
-
} else {
|
130 |
-
dispatchActions.decrementCalculating();
|
131 |
}
|
132 |
return () => {
|
133 |
-
if ( isPending.quantity
|
|
|
|
|
|
|
134 |
dispatchActions.decrementCalculating();
|
135 |
}
|
136 |
};
|
137 |
-
}, [ dispatchActions, isPending
|
138 |
|
139 |
return {
|
140 |
isPendingDelete: isPending.delete,
|
7 |
import { useDebounce } from 'use-debounce';
|
8 |
import { usePrevious } from '@woocommerce/base-hooks';
|
9 |
import { triggerFragmentRefresh } from '@woocommerce/base-utils';
|
10 |
+
import type { CartItem, StoreCartItemQuantity } from '@woocommerce/types';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
/**
|
13 |
* Internal dependencies
|
14 |
*/
|
15 |
import { useStoreCart } from './use-store-cart';
|
16 |
import { useCheckoutContext } from '../../providers/cart-checkout';
|
17 |
+
import {
|
18 |
+
isNumber,
|
19 |
+
isObject,
|
20 |
+
isString,
|
21 |
+
objectHasProp,
|
22 |
+
} from '../../../utils/type-guards';
|
23 |
|
24 |
/**
|
25 |
* Ensures the object passed has props key: string and quantity: number
|
82 |
},
|
83 |
[ cartItemKey ]
|
84 |
);
|
85 |
+
const previousIsPending = usePrevious( isPending );
|
86 |
|
87 |
const removeItem = () => {
|
88 |
return cartItemKey
|
111 |
] );
|
112 |
|
113 |
useEffect( () => {
|
114 |
+
if ( typeof previousIsPending === 'undefined' ) {
|
115 |
+
return;
|
|
|
|
|
116 |
}
|
117 |
+
if ( previousIsPending.quantity !== isPending.quantity ) {
|
118 |
+
if ( isPending.quantity ) {
|
119 |
+
dispatchActions.incrementCalculating();
|
120 |
+
} else {
|
121 |
+
dispatchActions.decrementCalculating();
|
122 |
+
}
|
123 |
+
}
|
124 |
+
if ( previousIsPending.delete !== isPending.delete ) {
|
125 |
if ( isPending.delete ) {
|
126 |
+
dispatchActions.incrementCalculating();
|
127 |
+
} else {
|
128 |
dispatchActions.decrementCalculating();
|
129 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
}
|
131 |
return () => {
|
132 |
+
if ( isPending.quantity ) {
|
133 |
+
dispatchActions.decrementCalculating();
|
134 |
+
}
|
135 |
+
if ( isPending.delete ) {
|
136 |
dispatchActions.decrementCalculating();
|
137 |
}
|
138 |
};
|
139 |
+
}, [ dispatchActions, isPending, previousIsPending ] );
|
140 |
|
141 |
return {
|
142 |
isPendingDelete: isPending.delete,
|
assets/js/base/context/hooks/cart/use-store-cart.ts
CHANGED
@@ -14,8 +14,6 @@ import type {
|
|
14 |
CartResponseFeeItem,
|
15 |
CartResponseBillingAddress,
|
16 |
CartResponseShippingAddress,
|
17 |
-
CartResponseCouponItem,
|
18 |
-
CartResponseCouponItemWithLabel,
|
19 |
} from '@woocommerce/types';
|
20 |
import {
|
21 |
emptyHiddenAddressFields,
|
@@ -177,18 +175,8 @@ export const useStoreCart = (
|
|
177 |
decodeValues( fee )
|
178 |
);
|
179 |
|
180 |
-
// Add a text property to the coupon to allow extensions to modify
|
181 |
-
// the text used to display the coupon, without affecting the
|
182 |
-
// functionality when it comes to removing the coupon.
|
183 |
-
const cartCoupons: CartResponseCouponItemWithLabel[] = cartData.coupons.map(
|
184 |
-
( coupon: CartResponseCouponItem ) => ( {
|
185 |
-
...coupon,
|
186 |
-
label: coupon.code,
|
187 |
-
} )
|
188 |
-
);
|
189 |
-
|
190 |
return {
|
191 |
-
cartCoupons,
|
192 |
cartItems: cartData.items || [],
|
193 |
cartFees,
|
194 |
cartItemsCount: cartData.itemsCount,
|
14 |
CartResponseFeeItem,
|
15 |
CartResponseBillingAddress,
|
16 |
CartResponseShippingAddress,
|
|
|
|
|
17 |
} from '@woocommerce/types';
|
18 |
import {
|
19 |
emptyHiddenAddressFields,
|
175 |
decodeValues( fee )
|
176 |
);
|
177 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
return {
|
179 |
+
cartCoupons: cartData.coupons,
|
180 |
cartItems: cartData.items || [],
|
181 |
cartFees,
|
182 |
cartItemsCount: cartData.itemsCount,
|
assets/js/base/context/hooks/payment-methods/test/use-payment-method-interface.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/**
|
2 |
* Internal dependencies
|
3 |
*/
|
4 |
-
import { prepareTotalItems } from '../
|
5 |
|
6 |
describe( 'prepareTotalItems', () => {
|
7 |
const fixture = {
|
@@ -17,25 +17,21 @@ describe( 'prepareTotalItems', () => {
|
|
17 |
};
|
18 |
const expected = [
|
19 |
{
|
20 |
-
key: 'total_items',
|
21 |
label: 'Subtotal:',
|
22 |
value: 200,
|
23 |
valueWithTax: 220,
|
24 |
},
|
25 |
{
|
26 |
-
key: 'total_fees',
|
27 |
label: 'Fees:',
|
28 |
value: 100,
|
29 |
valueWithTax: 110,
|
30 |
},
|
31 |
{
|
32 |
-
key: 'total_discount',
|
33 |
label: 'Discount:',
|
34 |
value: 350,
|
35 |
valueWithTax: 400,
|
36 |
},
|
37 |
{
|
38 |
-
key: 'total_tax',
|
39 |
label: 'Taxes:',
|
40 |
value: 30,
|
41 |
valueWithTax: 30,
|
@@ -44,7 +40,6 @@ describe( 'prepareTotalItems', () => {
|
|
44 |
const expectedWithShipping = [
|
45 |
...expected,
|
46 |
{
|
47 |
-
key: 'total_shipping',
|
48 |
label: 'Shipping:',
|
49 |
value: 50,
|
50 |
valueWithTax: 55,
|
1 |
/**
|
2 |
* Internal dependencies
|
3 |
*/
|
4 |
+
import { prepareTotalItems } from '../use-payment-method-interface';
|
5 |
|
6 |
describe( 'prepareTotalItems', () => {
|
7 |
const fixture = {
|
17 |
};
|
18 |
const expected = [
|
19 |
{
|
|
|
20 |
label: 'Subtotal:',
|
21 |
value: 200,
|
22 |
valueWithTax: 220,
|
23 |
},
|
24 |
{
|
|
|
25 |
label: 'Fees:',
|
26 |
value: 100,
|
27 |
valueWithTax: 110,
|
28 |
},
|
29 |
{
|
|
|
30 |
label: 'Discount:',
|
31 |
value: 350,
|
32 |
valueWithTax: 400,
|
33 |
},
|
34 |
{
|
|
|
35 |
label: 'Taxes:',
|
36 |
value: 30,
|
37 |
valueWithTax: 30,
|
40 |
const expectedWithShipping = [
|
41 |
...expected,
|
42 |
{
|
|
|
43 |
label: 'Shipping:',
|
44 |
value: 50,
|
45 |
valueWithTax: 55,
|
assets/js/base/context/hooks/payment-methods/{use-payment-method-interface.ts → use-payment-method-interface.js}
RENAMED
@@ -3,11 +3,10 @@
|
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
6 |
-
import {
|
7 |
import PaymentMethodLabel from '@woocommerce/base-components/cart-checkout/payment-method-label';
|
8 |
import PaymentMethodIcons from '@woocommerce/base-components/cart-checkout/payment-method-icons';
|
9 |
import { getSetting } from '@woocommerce/settings';
|
10 |
-
import deprecated from '@wordpress/deprecated';
|
11 |
|
12 |
/**
|
13 |
* Internal dependencies
|
@@ -20,12 +19,67 @@ import { useCheckoutContext } from '../../providers/cart-checkout/checkout-state
|
|
20 |
import { usePaymentMethodDataContext } from '../../providers/cart-checkout/payment-methods';
|
21 |
import { useShippingDataContext } from '../../providers/cart-checkout/shipping';
|
22 |
import { useCustomerDataContext } from '../../providers/cart-checkout/customer';
|
23 |
-
import { prepareTotalItems } from './utils';
|
24 |
|
25 |
/**
|
26 |
-
*
|
|
|
27 |
*/
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
const {
|
30 |
isCalculating,
|
31 |
isComplete,
|
@@ -53,6 +107,7 @@ export const usePaymentMethodInterface = (): Record< string, unknown > => {
|
|
53 |
selectedRates,
|
54 |
setSelectedRates,
|
55 |
isSelectingRate,
|
|
|
56 |
onShippingRateSuccess,
|
57 |
onShippingRateFail,
|
58 |
onShippingRateSelectSuccess,
|
@@ -86,24 +141,28 @@ export const usePaymentMethodInterface = (): Record< string, unknown > => {
|
|
86 |
};
|
87 |
}, [ cartTotals, needsShipping ] );
|
88 |
|
89 |
-
const deprecatedSetExpressPaymentError = useCallback(
|
90 |
-
( errorMessage = '' ) => {
|
91 |
-
deprecated(
|
92 |
-
'setExpressPaymentError should only be used by Express Payment Methods (using the provided onError handler).',
|
93 |
-
{
|
94 |
-
alternative: '',
|
95 |
-
plugin: 'woocommerce-gutenberg-products-block',
|
96 |
-
link:
|
97 |
-
'https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/4228',
|
98 |
-
}
|
99 |
-
);
|
100 |
-
setExpressPaymentError( errorMessage );
|
101 |
-
},
|
102 |
-
[ setExpressPaymentError ]
|
103 |
-
);
|
104 |
-
|
105 |
return {
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
billing: {
|
108 |
billingData,
|
109 |
cartTotal: currentCartTotal.current,
|
@@ -112,25 +171,10 @@ export const usePaymentMethodInterface = (): Record< string, unknown > => {
|
|
112 |
displayPricesIncludingTax: getSetting(
|
113 |
'displayCartPricesIncludingTax',
|
114 |
false
|
115 |
-
)
|
116 |
appliedCoupons,
|
117 |
customerId,
|
118 |
},
|
119 |
-
checkoutStatus: {
|
120 |
-
isCalculating,
|
121 |
-
isComplete,
|
122 |
-
isIdle,
|
123 |
-
isProcessing,
|
124 |
-
},
|
125 |
-
components: {
|
126 |
-
ValidationInputError,
|
127 |
-
PaymentMethodIcons,
|
128 |
-
PaymentMethodLabel,
|
129 |
-
},
|
130 |
-
emitResponse: {
|
131 |
-
noticeContexts,
|
132 |
-
responseTypes,
|
133 |
-
},
|
134 |
eventRegistration: {
|
135 |
onCheckoutBeforeProcessing,
|
136 |
onCheckoutValidationBeforeProcessing,
|
@@ -142,23 +186,18 @@ export const usePaymentMethodInterface = (): Record< string, unknown > => {
|
|
142 |
onShippingRateSelectFail,
|
143 |
onPaymentProcessing,
|
144 |
},
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
shippingRates,
|
150 |
-
shippingRatesLoading,
|
151 |
-
selectedRates,
|
152 |
-
setSelectedRates,
|
153 |
-
isSelectingRate,
|
154 |
-
shippingAddress,
|
155 |
-
setShippingAddress,
|
156 |
-
needsShipping,
|
157 |
},
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
},
|
|
|
|
|
|
|
162 |
shouldSavePayment,
|
163 |
};
|
164 |
};
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
6 |
+
import { useEffect, useRef } from '@wordpress/element';
|
7 |
import PaymentMethodLabel from '@woocommerce/base-components/cart-checkout/payment-method-label';
|
8 |
import PaymentMethodIcons from '@woocommerce/base-components/cart-checkout/payment-method-icons';
|
9 |
import { getSetting } from '@woocommerce/settings';
|
|
|
10 |
|
11 |
/**
|
12 |
* Internal dependencies
|
19 |
import { usePaymentMethodDataContext } from '../../providers/cart-checkout/payment-methods';
|
20 |
import { useShippingDataContext } from '../../providers/cart-checkout/shipping';
|
21 |
import { useCustomerDataContext } from '../../providers/cart-checkout/customer';
|
|
|
22 |
|
23 |
/**
|
24 |
+
* @typedef {import('@woocommerce/type-defs/registered-payment-method-props').RegisteredPaymentMethodProps} RegisteredPaymentMethodProps
|
25 |
+
* @typedef {import('@woocommerce/type-defs/cart').CartTotalItem} CartTotalItem
|
26 |
*/
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Prepares the total items into a shape usable for display as passed on to
|
30 |
+
* registered payment methods.
|
31 |
+
*
|
32 |
+
* @param {Object} totals Current cart total items
|
33 |
+
* @param {boolean} needsShipping Whether or not shipping is needed.
|
34 |
+
*
|
35 |
+
* @return {CartTotalItem[]} Array for cart total items prepared for use.
|
36 |
+
*/
|
37 |
+
export const prepareTotalItems = ( totals, needsShipping ) => {
|
38 |
+
const newTotals = [];
|
39 |
+
const factory = ( label, property ) => {
|
40 |
+
const value = parseInt( totals[ property ], 10 );
|
41 |
+
const tax = parseInt( totals[ property + '_tax' ], 10 );
|
42 |
+
return {
|
43 |
+
label,
|
44 |
+
value,
|
45 |
+
valueWithTax: value + tax,
|
46 |
+
};
|
47 |
+
};
|
48 |
+
newTotals.push(
|
49 |
+
factory(
|
50 |
+
__( 'Subtotal:', 'woo-gutenberg-products-block' ),
|
51 |
+
'total_items'
|
52 |
+
)
|
53 |
+
);
|
54 |
+
newTotals.push(
|
55 |
+
factory( __( 'Fees:', 'woo-gutenberg-products-block' ), 'total_fees' )
|
56 |
+
);
|
57 |
+
newTotals.push(
|
58 |
+
factory(
|
59 |
+
__( 'Discount:', 'woo-gutenberg-products-block' ),
|
60 |
+
'total_discount'
|
61 |
+
)
|
62 |
+
);
|
63 |
+
newTotals.push( {
|
64 |
+
label: __( 'Taxes:', 'woo-gutenberg-products-block' ),
|
65 |
+
value: parseInt( totals.total_tax, 10 ),
|
66 |
+
valueWithTax: parseInt( totals.total_tax, 10 ),
|
67 |
+
} );
|
68 |
+
if ( needsShipping ) {
|
69 |
+
newTotals.push(
|
70 |
+
factory(
|
71 |
+
__( 'Shipping:', 'woo-gutenberg-products-block' ),
|
72 |
+
'total_shipping'
|
73 |
+
)
|
74 |
+
);
|
75 |
+
}
|
76 |
+
return newTotals;
|
77 |
+
};
|
78 |
+
|
79 |
+
/**
|
80 |
+
* @return {RegisteredPaymentMethodProps} Interface to use as payment method props.
|
81 |
+
*/
|
82 |
+
export const usePaymentMethodInterface = () => {
|
83 |
const {
|
84 |
isCalculating,
|
85 |
isComplete,
|
107 |
selectedRates,
|
108 |
setSelectedRates,
|
109 |
isSelectingRate,
|
110 |
+
|
111 |
onShippingRateSuccess,
|
112 |
onShippingRateFail,
|
113 |
onShippingRateSelectSuccess,
|
141 |
};
|
142 |
}, [ cartTotals, needsShipping ] );
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
return {
|
145 |
+
checkoutStatus: {
|
146 |
+
isCalculating,
|
147 |
+
isComplete,
|
148 |
+
isIdle,
|
149 |
+
isProcessing,
|
150 |
+
},
|
151 |
+
paymentStatus: currentStatus,
|
152 |
+
shippingStatus: {
|
153 |
+
shippingErrorStatus,
|
154 |
+
shippingErrorTypes,
|
155 |
+
},
|
156 |
+
shippingData: {
|
157 |
+
shippingRates,
|
158 |
+
shippingRatesLoading,
|
159 |
+
selectedRates,
|
160 |
+
setSelectedRates,
|
161 |
+
isSelectingRate,
|
162 |
+
shippingAddress,
|
163 |
+
setShippingAddress,
|
164 |
+
needsShipping,
|
165 |
+
},
|
166 |
billing: {
|
167 |
billingData,
|
168 |
cartTotal: currentCartTotal.current,
|
171 |
displayPricesIncludingTax: getSetting(
|
172 |
'displayCartPricesIncludingTax',
|
173 |
false
|
174 |
+
),
|
175 |
appliedCoupons,
|
176 |
customerId,
|
177 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
eventRegistration: {
|
179 |
onCheckoutBeforeProcessing,
|
180 |
onCheckoutValidationBeforeProcessing,
|
186 |
onShippingRateSelectFail,
|
187 |
onPaymentProcessing,
|
188 |
},
|
189 |
+
components: {
|
190 |
+
ValidationInputError,
|
191 |
+
PaymentMethodIcons,
|
192 |
+
PaymentMethodLabel,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
},
|
194 |
+
emitResponse: {
|
195 |
+
noticeContexts,
|
196 |
+
responseTypes,
|
197 |
},
|
198 |
+
onSubmit,
|
199 |
+
activePaymentMethod,
|
200 |
+
setExpressPaymentError,
|
201 |
shouldSavePayment,
|
202 |
};
|
203 |
};
|
assets/js/base/context/hooks/payment-methods/use-payment-methods.js
CHANGED
@@ -1,8 +1,3 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { useShallowEqual } from '@woocommerce/base-hooks';
|
5 |
-
|
6 |
/**
|
7 |
* Internal dependencies
|
8 |
*/
|
@@ -15,20 +10,12 @@ const usePaymentMethodState = ( express = false ) => {
|
|
15 |
paymentMethodsInitialized,
|
16 |
expressPaymentMethodsInitialized,
|
17 |
} = usePaymentMethodDataContext();
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
return {
|
25 |
-
paymentMethods: express
|
26 |
-
? currentExpressPaymentMethods
|
27 |
-
: currentPaymentMethods,
|
28 |
-
isInitialized: express
|
29 |
-
? expressPaymentMethodsInitialized
|
30 |
-
: paymentMethodsInitialized,
|
31 |
-
};
|
32 |
};
|
33 |
|
34 |
export const usePaymentMethods = () => usePaymentMethodState();
|
|
|
|
|
|
|
|
|
|
|
1 |
/**
|
2 |
* Internal dependencies
|
3 |
*/
|
10 |
paymentMethodsInitialized,
|
11 |
expressPaymentMethodsInitialized,
|
12 |
} = usePaymentMethodDataContext();
|
13 |
+
return express
|
14 |
+
? {
|
15 |
+
paymentMethods: expressPaymentMethods,
|
16 |
+
isInitialized: expressPaymentMethodsInitialized,
|
17 |
+
}
|
18 |
+
: { paymentMethods, isInitialized: paymentMethodsInitialized };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
};
|
20 |
|
21 |
export const usePaymentMethods = () => usePaymentMethodState();
|
assets/js/base/context/hooks/payment-methods/utils.ts
DELETED
@@ -1,85 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { __ } from '@wordpress/i18n';
|
5 |
-
import {
|
6 |
-
CartResponseTotals,
|
7 |
-
objectHasProp,
|
8 |
-
isString,
|
9 |
-
} from '@woocommerce/types';
|
10 |
-
|
11 |
-
export interface CartTotalItem {
|
12 |
-
key: string;
|
13 |
-
label: string;
|
14 |
-
value: number;
|
15 |
-
valueWithTax: number;
|
16 |
-
}
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Prepares the total items into a shape usable for display as passed on to
|
20 |
-
* registered payment methods.
|
21 |
-
*
|
22 |
-
* @param {Object} totals Current cart total items
|
23 |
-
* @param {boolean} needsShipping Whether or not shipping is needed.
|
24 |
-
*/
|
25 |
-
export const prepareTotalItems = (
|
26 |
-
totals: CartResponseTotals,
|
27 |
-
needsShipping: boolean
|
28 |
-
): CartTotalItem[] => {
|
29 |
-
const newTotals = [];
|
30 |
-
|
31 |
-
const factory = ( label: string, property: string ): CartTotalItem => {
|
32 |
-
const taxProperty = property + '_tax';
|
33 |
-
const value =
|
34 |
-
objectHasProp( totals, property ) && isString( totals[ property ] )
|
35 |
-
? parseInt( totals[ property ] as string, 10 )
|
36 |
-
: 0;
|
37 |
-
const tax =
|
38 |
-
objectHasProp( totals, taxProperty ) &&
|
39 |
-
isString( totals[ taxProperty ] )
|
40 |
-
? parseInt( totals[ taxProperty ] as string, 10 )
|
41 |
-
: 0;
|
42 |
-
return {
|
43 |
-
key: property,
|
44 |
-
label,
|
45 |
-
value,
|
46 |
-
valueWithTax: value + tax,
|
47 |
-
};
|
48 |
-
};
|
49 |
-
|
50 |
-
newTotals.push(
|
51 |
-
factory(
|
52 |
-
__( 'Subtotal:', 'woo-gutenberg-products-block' ),
|
53 |
-
'total_items'
|
54 |
-
)
|
55 |
-
);
|
56 |
-
|
57 |
-
newTotals.push(
|
58 |
-
factory( __( 'Fees:', 'woo-gutenberg-products-block' ), 'total_fees' )
|
59 |
-
);
|
60 |
-
|
61 |
-
newTotals.push(
|
62 |
-
factory(
|
63 |
-
__( 'Discount:', 'woo-gutenberg-products-block' ),
|
64 |
-
'total_discount'
|
65 |
-
)
|
66 |
-
);
|
67 |
-
|
68 |
-
newTotals.push( {
|
69 |
-
key: 'total_tax',
|
70 |
-
label: __( 'Taxes:', 'woo-gutenberg-products-block' ),
|
71 |
-
value: parseInt( totals.total_tax, 10 ),
|
72 |
-
valueWithTax: parseInt( totals.total_tax, 10 ),
|
73 |
-
} );
|
74 |
-
|
75 |
-
if ( needsShipping ) {
|
76 |
-
newTotals.push(
|
77 |
-
factory(
|
78 |
-
__( 'Shipping:', 'woo-gutenberg-products-block' ),
|
79 |
-
'total_shipping'
|
80 |
-
)
|
81 |
-
);
|
82 |
-
}
|
83 |
-
|
84 |
-
return newTotals;
|
85 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/hooks/test/use-checkout-submit.js
CHANGED
@@ -12,12 +12,7 @@ import { useCheckoutSubmit } from '../use-checkout-submit';
|
|
12 |
const mockUseCheckoutContext = {
|
13 |
onSubmit: jest.fn(),
|
14 |
};
|
15 |
-
const mockUsePaymentMethodDataContext = {
|
16 |
-
activePaymentMethod: '',
|
17 |
-
currentStatus: {
|
18 |
-
isDoingExpressPayment: false,
|
19 |
-
},
|
20 |
-
};
|
21 |
|
22 |
jest.mock( '../../providers/cart-checkout/checkout-state', () => ( {
|
23 |
useCheckoutContext: () => mockUseCheckoutContext,
|
12 |
const mockUseCheckoutContext = {
|
13 |
onSubmit: jest.fn(),
|
14 |
};
|
15 |
+
const mockUsePaymentMethodDataContext = {};
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
jest.mock( '../../providers/cart-checkout/checkout-state', () => ( {
|
18 |
useCheckoutContext: () => mockUseCheckoutContext,
|
assets/js/base/context/hooks/test/use-store-notices.js
CHANGED
@@ -34,6 +34,7 @@ describe( 'useStoreNotices', () => {
|
|
34 |
// Assert initial state.
|
35 |
expect( storeNoticesData.notices ).toEqual( [] );
|
36 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( false );
|
|
|
37 |
|
38 |
// Add error notice.
|
39 |
act( () => {
|
@@ -42,17 +43,25 @@ describe( 'useStoreNotices', () => {
|
|
42 |
|
43 |
expect( storeNoticesData.notices.length ).toBe( 1 );
|
44 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( true );
|
|
|
45 |
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
47 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( true );
|
|
|
48 |
|
49 |
// Remove error notice.
|
50 |
act( () => {
|
51 |
storeNoticesData.removeNotices( 'error' );
|
52 |
} );
|
53 |
|
54 |
-
expect( storeNoticesData.notices.length ).toBe(
|
55 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( false );
|
|
|
56 |
|
57 |
// Remove all remaining notices.
|
58 |
act( () => {
|
@@ -61,5 +70,6 @@ describe( 'useStoreNotices', () => {
|
|
61 |
|
62 |
expect( storeNoticesData.notices.length ).toBe( 0 );
|
63 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( false );
|
|
|
64 |
} );
|
65 |
} );
|
34 |
// Assert initial state.
|
35 |
expect( storeNoticesData.notices ).toEqual( [] );
|
36 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( false );
|
37 |
+
expect( storeNoticesData.hasNoticesOfType( 'snackbar' ) ).toBe( false );
|
38 |
|
39 |
// Add error notice.
|
40 |
act( () => {
|
43 |
|
44 |
expect( storeNoticesData.notices.length ).toBe( 1 );
|
45 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( true );
|
46 |
+
expect( storeNoticesData.hasNoticesOfType( 'snackbar' ) ).toBe( false );
|
47 |
|
48 |
+
// Add snackbar notice.
|
49 |
+
act( () => {
|
50 |
+
storeNoticesData.addSnackbarNotice( 'Snackbar notice' );
|
51 |
+
} );
|
52 |
+
|
53 |
+
expect( storeNoticesData.notices.length ).toBe( 2 );
|
54 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( true );
|
55 |
+
expect( storeNoticesData.hasNoticesOfType( 'snackbar' ) ).toBe( true );
|
56 |
|
57 |
// Remove error notice.
|
58 |
act( () => {
|
59 |
storeNoticesData.removeNotices( 'error' );
|
60 |
} );
|
61 |
|
62 |
+
expect( storeNoticesData.notices.length ).toBe( 1 );
|
63 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( false );
|
64 |
+
expect( storeNoticesData.hasNoticesOfType( 'snackbar' ) ).toBe( true );
|
65 |
|
66 |
// Remove all remaining notices.
|
67 |
act( () => {
|
70 |
|
71 |
expect( storeNoticesData.notices.length ).toBe( 0 );
|
72 |
expect( storeNoticesData.hasNoticesOfType( 'default' ) ).toBe( false );
|
73 |
+
expect( storeNoticesData.hasNoticesOfType( 'snackbar' ) ).toBe( false );
|
74 |
} );
|
75 |
} );
|
assets/js/base/context/hooks/test/use-store-snackbar-notices.js
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { render, act } from '@testing-library/react';
|
5 |
-
import { StoreSnackbarNoticesProvider } from '@woocommerce/base-context/providers';
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Internal dependencies
|
9 |
-
*/
|
10 |
-
import { useStoreSnackbarNotices } from '../use-store-snackbar-notices';
|
11 |
-
|
12 |
-
describe( 'useStoreNoticesWithSnackbar', () => {
|
13 |
-
function setup() {
|
14 |
-
const returnVal = {};
|
15 |
-
|
16 |
-
function TestComponent() {
|
17 |
-
Object.assign( returnVal, useStoreSnackbarNotices() );
|
18 |
-
|
19 |
-
return null;
|
20 |
-
}
|
21 |
-
|
22 |
-
render(
|
23 |
-
<StoreSnackbarNoticesProvider>
|
24 |
-
<TestComponent />
|
25 |
-
</StoreSnackbarNoticesProvider>
|
26 |
-
);
|
27 |
-
|
28 |
-
return returnVal;
|
29 |
-
}
|
30 |
-
|
31 |
-
test( 'allows adding and removing notices and checking if there are notices of a specific type', () => {
|
32 |
-
const storeNoticesData = setup();
|
33 |
-
|
34 |
-
// Assert initial state.
|
35 |
-
expect( storeNoticesData.notices ).toEqual( [] );
|
36 |
-
|
37 |
-
// Add snackbar notice.
|
38 |
-
act( () => {
|
39 |
-
storeNoticesData.addSnackbarNotice( 'Snackbar notice' );
|
40 |
-
} );
|
41 |
-
|
42 |
-
expect( storeNoticesData.notices.length ).toBe( 1 );
|
43 |
-
|
44 |
-
// Remove all remaining notices.
|
45 |
-
act( () => {
|
46 |
-
storeNoticesData.removeNotices();
|
47 |
-
} );
|
48 |
-
|
49 |
-
expect( storeNoticesData.notices.length ).toBe( 0 );
|
50 |
-
} );
|
51 |
-
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/hooks/use-checkout-submit.js
CHANGED
@@ -25,14 +25,8 @@ export const useCheckoutSubmit = () => {
|
|
25 |
hasError,
|
26 |
} = useCheckoutContext();
|
27 |
const { paymentMethods = {} } = usePaymentMethods();
|
28 |
-
const {
|
29 |
-
activePaymentMethod,
|
30 |
-
currentStatus: paymentStatus,
|
31 |
-
} = usePaymentMethodDataContext();
|
32 |
const paymentMethod = paymentMethods[ activePaymentMethod ] || {};
|
33 |
-
const waitingForProcessing =
|
34 |
-
isProcessing || isAfterProcessing || isBeforeProcessing;
|
35 |
-
const waitingForRedirect = isComplete && ! hasError;
|
36 |
|
37 |
return {
|
38 |
submitButtonText:
|
@@ -40,8 +34,8 @@ export const useCheckoutSubmit = () => {
|
|
40 |
__( 'Place Order', 'woo-gutenberg-products-block' ),
|
41 |
onSubmit,
|
42 |
isCalculating,
|
43 |
-
|
44 |
-
|
45 |
-
waitingForRedirect,
|
46 |
};
|
47 |
};
|
25 |
hasError,
|
26 |
} = useCheckoutContext();
|
27 |
const { paymentMethods = {} } = usePaymentMethods();
|
28 |
+
const { activePaymentMethod } = usePaymentMethodDataContext();
|
|
|
|
|
|
|
29 |
const paymentMethod = paymentMethods[ activePaymentMethod ] || {};
|
|
|
|
|
|
|
30 |
|
31 |
return {
|
32 |
submitButtonText:
|
34 |
__( 'Place Order', 'woo-gutenberg-products-block' ),
|
35 |
onSubmit,
|
36 |
isCalculating,
|
37 |
+
waitingForProcessing:
|
38 |
+
isProcessing || isAfterProcessing || isBeforeProcessing,
|
39 |
+
waitingForRedirect: isComplete && ! hasError,
|
40 |
};
|
41 |
};
|
assets/js/base/context/hooks/use-customer-data.ts
CHANGED
@@ -9,7 +9,6 @@ import isShallowEqual from '@wordpress/is-shallow-equal';
|
|
9 |
import {
|
10 |
formatStoreApiErrorMessage,
|
11 |
pluckAddress,
|
12 |
-
pluckEmail,
|
13 |
} from '@woocommerce/base-utils';
|
14 |
import type {
|
15 |
CartResponseBillingAddress,
|
@@ -27,16 +26,8 @@ declare type CustomerData = {
|
|
27 |
import { useStoreCart } from './cart/use-store-cart';
|
28 |
import { useStoreNotices } from './use-store-notices';
|
29 |
|
30 |
-
function instanceOfCartResponseBillingAddress(
|
31 |
-
address: CartResponseBillingAddress | CartResponseShippingAddress
|
32 |
-
): address is CartResponseBillingAddress {
|
33 |
-
return 'email' in address;
|
34 |
-
}
|
35 |
-
|
36 |
/**
|
37 |
-
* Does a shallow compare of important address data to determine if the cart needs updating
|
38 |
-
*
|
39 |
-
* This takes the current and previous address into account, as well as the billing email field.
|
40 |
*
|
41 |
* @param {Object} previousAddress An object containing all previous address information
|
42 |
* @param {Object} address An object containing all address information
|
@@ -49,20 +40,12 @@ const shouldUpdateAddressStore = <
|
|
49 |
previousAddress: T,
|
50 |
address: T
|
51 |
): boolean => {
|
52 |
-
if (
|
53 |
-
|
54 |
-
pluckEmail( address ) !==
|
55 |
-
pluckEmail( previousAddress as CartResponseBillingAddress )
|
56 |
-
) {
|
57 |
-
return true;
|
58 |
}
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
! isShallowEqual(
|
63 |
-
pluckAddress( previousAddress ),
|
64 |
-
pluckAddress( address )
|
65 |
-
)
|
66 |
);
|
67 |
};
|
68 |
|
@@ -73,7 +56,7 @@ export const useCustomerData = (): {
|
|
73 |
billingData: CartResponseBillingAddress;
|
74 |
shippingAddress: CartResponseShippingAddress;
|
75 |
setBillingData: ( data: CartResponseBillingAddress ) => void;
|
76 |
-
setShippingAddress: ( data:
|
77 |
} => {
|
78 |
const { updateCustomerData } = useDispatch( storeKey );
|
79 |
const { addErrorNotice, removeNotice } = useStoreNotices();
|
9 |
import {
|
10 |
formatStoreApiErrorMessage,
|
11 |
pluckAddress,
|
|
|
12 |
} from '@woocommerce/base-utils';
|
13 |
import type {
|
14 |
CartResponseBillingAddress,
|
26 |
import { useStoreCart } from './cart/use-store-cart';
|
27 |
import { useStoreNotices } from './use-store-notices';
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
/**
|
30 |
+
* Does a shallow compare of important address data to determine if the cart needs updating.
|
|
|
|
|
31 |
*
|
32 |
* @param {Object} previousAddress An object containing all previous address information
|
33 |
* @param {Object} address An object containing all address information
|
40 |
previousAddress: T,
|
41 |
address: T
|
42 |
): boolean => {
|
43 |
+
if ( ! address.country ) {
|
44 |
+
return false;
|
|
|
|
|
|
|
|
|
45 |
}
|
46 |
+
return ! isShallowEqual(
|
47 |
+
pluckAddress( previousAddress ),
|
48 |
+
pluckAddress( address )
|
|
|
|
|
|
|
|
|
49 |
);
|
50 |
};
|
51 |
|
56 |
billingData: CartResponseBillingAddress;
|
57 |
shippingAddress: CartResponseShippingAddress;
|
58 |
setBillingData: ( data: CartResponseBillingAddress ) => void;
|
59 |
+
setShippingAddress: ( data: CartResponseBillingAddress ) => void;
|
60 |
} => {
|
61 |
const { updateCustomerData } = useDispatch( storeKey );
|
62 |
const { addErrorNotice, removeNotice } = useStoreNotices();
|
assets/js/base/context/hooks/use-emit-response.js
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* @typedef {import('@woocommerce/type-defs/hooks').EmitResponseTypes} EmitResponseTypes
|
3 |
+
* @typedef {import('@woocommerce/type-defs/hooks').NoticeContexts} NoticeContexts
|
4 |
+
* @typedef {import('@woocommerce/type-defs/hooks').EmitResponseApi} EmitResponseApi
|
5 |
+
*/
|
6 |
+
|
7 |
+
const isResponseOf = ( response, type ) => {
|
8 |
+
return !! response.type && response.type === type;
|
9 |
+
};
|
10 |
+
|
11 |
+
/**
|
12 |
+
* @type {EmitResponseTypes}
|
13 |
+
*/
|
14 |
+
const responseTypes = {
|
15 |
+
SUCCESS: 'success',
|
16 |
+
FAIL: 'failure',
|
17 |
+
ERROR: 'error',
|
18 |
+
};
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @type {NoticeContexts}
|
22 |
+
*/
|
23 |
+
const noticeContexts = {
|
24 |
+
PAYMENTS: 'wc/payment-area',
|
25 |
+
EXPRESS_PAYMENTS: 'wc/express-payment-area',
|
26 |
+
};
|
27 |
+
|
28 |
+
export const isSuccessResponse = ( response ) => {
|
29 |
+
return isResponseOf( response, responseTypes.SUCCESS );
|
30 |
+
};
|
31 |
+
|
32 |
+
export const isErrorResponse = ( response ) => {
|
33 |
+
return isResponseOf( response, responseTypes.ERROR );
|
34 |
+
};
|
35 |
+
|
36 |
+
export const isFailResponse = ( response ) => {
|
37 |
+
return isResponseOf( response, responseTypes.FAIL );
|
38 |
+
};
|
39 |
+
|
40 |
+
export const shouldRetry = ( response ) => {
|
41 |
+
return typeof response.retry === 'undefined' || response.retry === true;
|
42 |
+
};
|
43 |
+
|
44 |
+
/**
|
45 |
+
* A custom hook exposing response utilities for emitters.
|
46 |
+
*
|
47 |
+
* @return {EmitResponseApi} Various interfaces for validating and implementing
|
48 |
+
* emitter response properties.
|
49 |
+
*/
|
50 |
+
export const useEmitResponse = () => {
|
51 |
+
return {
|
52 |
+
responseTypes,
|
53 |
+
noticeContexts,
|
54 |
+
shouldRetry,
|
55 |
+
isSuccessResponse,
|
56 |
+
isErrorResponse,
|
57 |
+
isFailResponse,
|
58 |
+
};
|
59 |
+
};
|
assets/js/base/context/hooks/use-emit-response.ts
DELETED
@@ -1,66 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { isObject } from '@woocommerce/types';
|
5 |
-
|
6 |
-
export enum responseTypes {
|
7 |
-
SUCCESS = 'success',
|
8 |
-
FAIL = 'failure',
|
9 |
-
ERROR = 'error',
|
10 |
-
}
|
11 |
-
|
12 |
-
export enum noticeContexts {
|
13 |
-
PAYMENTS = 'wc/payment-area',
|
14 |
-
EXPRESS_PAYMENTS = 'wc/express-payment-area',
|
15 |
-
}
|
16 |
-
|
17 |
-
export interface ResponseType extends Record< string, unknown > {
|
18 |
-
type: responseTypes;
|
19 |
-
retry?: boolean;
|
20 |
-
}
|
21 |
-
|
22 |
-
const isResponseOf = (
|
23 |
-
response: unknown,
|
24 |
-
type: string
|
25 |
-
): response is ResponseType => {
|
26 |
-
return isObject( response ) && 'type' in response && response.type === type;
|
27 |
-
};
|
28 |
-
|
29 |
-
export const isSuccessResponse = (
|
30 |
-
response: unknown
|
31 |
-
): response is ResponseType => {
|
32 |
-
return isResponseOf( response, responseTypes.SUCCESS );
|
33 |
-
};
|
34 |
-
|
35 |
-
export const isErrorResponse = (
|
36 |
-
response: unknown
|
37 |
-
): response is ResponseType => {
|
38 |
-
return isResponseOf( response, responseTypes.ERROR );
|
39 |
-
};
|
40 |
-
|
41 |
-
export const isFailResponse = (
|
42 |
-
response: unknown
|
43 |
-
): response is ResponseType => {
|
44 |
-
return isResponseOf( response, responseTypes.FAIL );
|
45 |
-
};
|
46 |
-
|
47 |
-
export const shouldRetry = ( response: unknown ): boolean => {
|
48 |
-
return (
|
49 |
-
! isObject( response ) ||
|
50 |
-
typeof response.retry === 'undefined' ||
|
51 |
-
response.retry === true
|
52 |
-
);
|
53 |
-
};
|
54 |
-
|
55 |
-
/**
|
56 |
-
* A custom hook exposing response utilities for emitters.
|
57 |
-
*/
|
58 |
-
export const useEmitResponse = () =>
|
59 |
-
( {
|
60 |
-
responseTypes,
|
61 |
-
noticeContexts,
|
62 |
-
shouldRetry,
|
63 |
-
isSuccessResponse,
|
64 |
-
isErrorResponse,
|
65 |
-
isFailResponse,
|
66 |
-
} as const );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/hooks/use-store-events.ts
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { doAction } from '@wordpress/hooks';
|
5 |
-
import { useCallback
|
6 |
|
7 |
/**
|
8 |
* Internal dependencies
|
@@ -22,13 +22,6 @@ export const useStoreEvents = (): {
|
|
22 |
dispatchCheckoutEvent: StoreEvent;
|
23 |
} => {
|
24 |
const storeCart = useStoreCart();
|
25 |
-
const currentStoreCart = useRef( storeCart );
|
26 |
-
|
27 |
-
// Track the latest version of the cart so we can use the current value in our callback function below without triggering
|
28 |
-
// other useEffect hooks using dispatchCheckoutEvent as a dependency.
|
29 |
-
useEffect( () => {
|
30 |
-
currentStoreCart.current = storeCart;
|
31 |
-
}, [ storeCart ] );
|
32 |
|
33 |
const dispatchStoreEvent = useCallback( ( eventName, eventParams = {} ) => {
|
34 |
try {
|
@@ -50,7 +43,7 @@ export const useStoreEvents = (): {
|
|
50 |
`experimental__woocommerce_blocks-checkout-${ eventName }`,
|
51 |
{
|
52 |
...eventParams,
|
53 |
-
storeCart
|
54 |
}
|
55 |
);
|
56 |
} catch ( e ) {
|
@@ -59,7 +52,7 @@ export const useStoreEvents = (): {
|
|
59 |
console.error( e );
|
60 |
}
|
61 |
},
|
62 |
-
[]
|
63 |
);
|
64 |
|
65 |
return { dispatchStoreEvent, dispatchCheckoutEvent };
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { doAction } from '@wordpress/hooks';
|
5 |
+
import { useCallback } from '@wordpress/element';
|
6 |
|
7 |
/**
|
8 |
* Internal dependencies
|
22 |
dispatchCheckoutEvent: StoreEvent;
|
23 |
} => {
|
24 |
const storeCart = useStoreCart();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
const dispatchStoreEvent = useCallback( ( eventName, eventParams = {} ) => {
|
27 |
try {
|
43 |
`experimental__woocommerce_blocks-checkout-${ eventName }`,
|
44 |
{
|
45 |
...eventParams,
|
46 |
+
storeCart,
|
47 |
}
|
48 |
);
|
49 |
} catch ( e ) {
|
52 |
console.error( e );
|
53 |
}
|
54 |
},
|
55 |
+
[ storeCart ]
|
56 |
);
|
57 |
|
58 |
return { dispatchStoreEvent, dispatchCheckoutEvent };
|
assets/js/base/context/hooks/use-store-notices.js
CHANGED
@@ -13,6 +13,7 @@ export const useStoreNotices = () => {
|
|
13 |
notices,
|
14 |
createNotice,
|
15 |
removeNotice,
|
|
|
16 |
setIsSuppressed,
|
17 |
} = useStoreNoticesContext();
|
18 |
// Added to a ref so the surface for notices doesn't change frequently
|
@@ -65,8 +66,11 @@ export const useStoreNotices = () => {
|
|
65 |
void createNotice( 'success', text, {
|
66 |
...noticeProps,
|
67 |
} ),
|
|
|
|
|
|
|
68 |
} ),
|
69 |
-
[ createNotice ]
|
70 |
);
|
71 |
|
72 |
return {
|
13 |
notices,
|
14 |
createNotice,
|
15 |
removeNotice,
|
16 |
+
createSnackbarNotice,
|
17 |
setIsSuppressed,
|
18 |
} = useStoreNoticesContext();
|
19 |
// Added to a ref so the surface for notices doesn't change frequently
|
66 |
void createNotice( 'success', text, {
|
67 |
...noticeProps,
|
68 |
} ),
|
69 |
+
addSnackbarNotice: ( text, noticeProps = {} ) => {
|
70 |
+
createSnackbarNotice( text, noticeProps );
|
71 |
+
},
|
72 |
} ),
|
73 |
+
[ createNotice, createSnackbarNotice ]
|
74 |
);
|
75 |
|
76 |
return {
|
assets/js/base/context/hooks/use-store-snackbar-notices.js
DELETED
@@ -1,52 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { useMemo, useRef, useEffect } from '@wordpress/element';
|
5 |
-
import { useStoreSnackbarNoticesContext } from '@woocommerce/base-context/providers';
|
6 |
-
|
7 |
-
export const useStoreSnackbarNotices = () => {
|
8 |
-
const {
|
9 |
-
notices,
|
10 |
-
createSnackbarNotice,
|
11 |
-
removeSnackbarNotice,
|
12 |
-
setIsSuppressed,
|
13 |
-
} = useStoreSnackbarNoticesContext();
|
14 |
-
// Added to a ref so the surface for notices doesn't change frequently
|
15 |
-
// and thus can be used as dependencies on effects.
|
16 |
-
const currentNotices = useRef( notices );
|
17 |
-
|
18 |
-
// Update notices ref whenever they change
|
19 |
-
useEffect( () => {
|
20 |
-
currentNotices.current = notices;
|
21 |
-
}, [ notices ] );
|
22 |
-
|
23 |
-
const noticesApi = useMemo(
|
24 |
-
() => ( {
|
25 |
-
removeNotices: ( status = null ) => {
|
26 |
-
currentNotices.current.forEach( ( notice ) => {
|
27 |
-
if ( status === null || notice.status === status ) {
|
28 |
-
removeSnackbarNotice( notice.id );
|
29 |
-
}
|
30 |
-
} );
|
31 |
-
},
|
32 |
-
removeSnackbarNotice,
|
33 |
-
} ),
|
34 |
-
[ removeSnackbarNotice ]
|
35 |
-
);
|
36 |
-
|
37 |
-
const noticeCreators = useMemo(
|
38 |
-
() => ( {
|
39 |
-
addSnackbarNotice: ( text, noticeProps = {} ) => {
|
40 |
-
createSnackbarNotice( text, noticeProps );
|
41 |
-
},
|
42 |
-
} ),
|
43 |
-
[ createSnackbarNotice ]
|
44 |
-
);
|
45 |
-
|
46 |
-
return {
|
47 |
-
notices,
|
48 |
-
...noticesApi,
|
49 |
-
...noticeCreators,
|
50 |
-
setIsSuppressed,
|
51 |
-
};
|
52 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/{index.ts → index.js}
RENAMED
File without changes
|
assets/js/base/context/providers/cart-checkout/checkout-state/actions.js
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Internal dependencies
|
3 |
+
*/
|
4 |
+
import { TYPES } from './constants';
|
5 |
+
|
6 |
+
const {
|
7 |
+
SET_PRISTINE,
|
8 |
+
SET_IDLE,
|
9 |
+
SET_PROCESSING,
|
10 |
+
SET_BEFORE_PROCESSING,
|
11 |
+
SET_AFTER_PROCESSING,
|
12 |
+
SET_PROCESSING_RESPONSE,
|
13 |
+
SET_REDIRECT_URL,
|
14 |
+
SET_COMPLETE,
|
15 |
+
SET_HAS_ERROR,
|
16 |
+
SET_NO_ERROR,
|
17 |
+
INCREMENT_CALCULATING,
|
18 |
+
DECREMENT_CALCULATING,
|
19 |
+
SET_CUSTOMER_ID,
|
20 |
+
SET_ORDER_ID,
|
21 |
+
SET_SHOULD_CREATE_ACCOUNT,
|
22 |
+
SET_ORDER_NOTES,
|
23 |
+
} = TYPES;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* All the actions that can be dispatched for the checkout.
|
27 |
+
*/
|
28 |
+
export const actions = {
|
29 |
+
setPristine: () => ( {
|
30 |
+
type: SET_PRISTINE,
|
31 |
+
} ),
|
32 |
+
setIdle: () => ( {
|
33 |
+
type: SET_IDLE,
|
34 |
+
} ),
|
35 |
+
setProcessing: () => ( {
|
36 |
+
type: SET_PROCESSING,
|
37 |
+
} ),
|
38 |
+
setRedirectUrl: ( url ) => ( {
|
39 |
+
type: SET_REDIRECT_URL,
|
40 |
+
url,
|
41 |
+
} ),
|
42 |
+
setProcessingResponse: ( data ) => ( {
|
43 |
+
type: SET_PROCESSING_RESPONSE,
|
44 |
+
data,
|
45 |
+
} ),
|
46 |
+
setComplete: ( data ) => ( {
|
47 |
+
type: SET_COMPLETE,
|
48 |
+
data,
|
49 |
+
} ),
|
50 |
+
setBeforeProcessing: () => ( {
|
51 |
+
type: SET_BEFORE_PROCESSING,
|
52 |
+
} ),
|
53 |
+
setAfterProcessing: () => ( {
|
54 |
+
type: SET_AFTER_PROCESSING,
|
55 |
+
} ),
|
56 |
+
setHasError: ( hasError = true ) => {
|
57 |
+
const type = hasError ? SET_HAS_ERROR : SET_NO_ERROR;
|
58 |
+
return { type };
|
59 |
+
},
|
60 |
+
incrementCalculating: () => ( {
|
61 |
+
type: INCREMENT_CALCULATING,
|
62 |
+
} ),
|
63 |
+
decrementCalculating: () => ( {
|
64 |
+
type: DECREMENT_CALCULATING,
|
65 |
+
} ),
|
66 |
+
setCustomerId: ( customerId ) => ( {
|
67 |
+
type: SET_CUSTOMER_ID,
|
68 |
+
customerId,
|
69 |
+
} ),
|
70 |
+
setOrderId: ( orderId ) => ( {
|
71 |
+
type: SET_ORDER_ID,
|
72 |
+
orderId,
|
73 |
+
} ),
|
74 |
+
setShouldCreateAccount: ( shouldCreateAccount ) => ( {
|
75 |
+
type: SET_SHOULD_CREATE_ACCOUNT,
|
76 |
+
shouldCreateAccount,
|
77 |
+
} ),
|
78 |
+
setOrderNotes: ( orderNotes ) => ( {
|
79 |
+
type: SET_ORDER_NOTES,
|
80 |
+
orderNotes,
|
81 |
+
} ),
|
82 |
+
};
|
assets/js/base/context/providers/cart-checkout/checkout-state/actions.ts
DELETED
@@ -1,110 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Internal dependencies
|
3 |
-
*/
|
4 |
-
import type { PaymentResultDataType } from './types';
|
5 |
-
|
6 |
-
export enum ACTION {
|
7 |
-
SET_IDLE = 'set_idle',
|
8 |
-
SET_PRISTINE = 'set_pristine',
|
9 |
-
SET_REDIRECT_URL = 'set_redirect_url',
|
10 |
-
SET_COMPLETE = 'set_checkout_complete',
|
11 |
-
SET_BEFORE_PROCESSING = 'set_before_processing',
|
12 |
-
SET_AFTER_PROCESSING = 'set_after_processing',
|
13 |
-
SET_PROCESSING_RESPONSE = 'set_processing_response',
|
14 |
-
SET_PROCESSING = 'set_checkout_is_processing',
|
15 |
-
SET_HAS_ERROR = 'set_checkout_has_error',
|
16 |
-
SET_NO_ERROR = 'set_checkout_no_error',
|
17 |
-
SET_CUSTOMER_ID = 'set_checkout_customer_id',
|
18 |
-
SET_ORDER_ID = 'set_checkout_order_id',
|
19 |
-
SET_ORDER_NOTES = 'set_checkout_order_notes',
|
20 |
-
INCREMENT_CALCULATING = 'increment_calculating',
|
21 |
-
DECREMENT_CALCULATING = 'decrement_calculating',
|
22 |
-
SET_SHOULD_CREATE_ACCOUNT = 'set_should_create_account',
|
23 |
-
}
|
24 |
-
|
25 |
-
export interface ActionType {
|
26 |
-
type: ACTION;
|
27 |
-
data?:
|
28 |
-
| Record< string, unknown >
|
29 |
-
| Record< string, never >
|
30 |
-
| PaymentResultDataType;
|
31 |
-
url?: string;
|
32 |
-
customerId?: number;
|
33 |
-
orderId?: number;
|
34 |
-
shouldCreateAccount?: boolean;
|
35 |
-
hasError?: boolean;
|
36 |
-
orderNotes?: string;
|
37 |
-
}
|
38 |
-
|
39 |
-
/**
|
40 |
-
* All the actions that can be dispatched for the checkout.
|
41 |
-
*/
|
42 |
-
export const actions = {
|
43 |
-
setPristine: () =>
|
44 |
-
( {
|
45 |
-
type: ACTION.SET_PRISTINE,
|
46 |
-
} as const ),
|
47 |
-
setIdle: () =>
|
48 |
-
( {
|
49 |
-
type: ACTION.SET_IDLE,
|
50 |
-
} as const ),
|
51 |
-
setProcessing: () =>
|
52 |
-
( {
|
53 |
-
type: ACTION.SET_PROCESSING,
|
54 |
-
} as const ),
|
55 |
-
setRedirectUrl: ( url: string ) =>
|
56 |
-
( {
|
57 |
-
type: ACTION.SET_REDIRECT_URL,
|
58 |
-
url,
|
59 |
-
} as const ),
|
60 |
-
setProcessingResponse: ( data: PaymentResultDataType ) =>
|
61 |
-
( {
|
62 |
-
type: ACTION.SET_PROCESSING_RESPONSE,
|
63 |
-
data,
|
64 |
-
} as const ),
|
65 |
-
setComplete: ( data: Record< string, unknown > = {} ) =>
|
66 |
-
( {
|
67 |
-
type: ACTION.SET_COMPLETE,
|
68 |
-
data,
|
69 |
-
} as const ),
|
70 |
-
setBeforeProcessing: () =>
|
71 |
-
( {
|
72 |
-
type: ACTION.SET_BEFORE_PROCESSING,
|
73 |
-
} as const ),
|
74 |
-
setAfterProcessing: () =>
|
75 |
-
( {
|
76 |
-
type: ACTION.SET_AFTER_PROCESSING,
|
77 |
-
} as const ),
|
78 |
-
setHasError: ( hasError = true ) =>
|
79 |
-
( {
|
80 |
-
type: hasError ? ACTION.SET_HAS_ERROR : ACTION.SET_NO_ERROR,
|
81 |
-
} as const ),
|
82 |
-
incrementCalculating: () =>
|
83 |
-
( {
|
84 |
-
type: ACTION.INCREMENT_CALCULATING,
|
85 |
-
} as const ),
|
86 |
-
decrementCalculating: () =>
|
87 |
-
( {
|
88 |
-
type: ACTION.DECREMENT_CALCULATING,
|
89 |
-
} as const ),
|
90 |
-
setCustomerId: ( customerId: number ) =>
|
91 |
-
( {
|
92 |
-
type: ACTION.SET_CUSTOMER_ID,
|
93 |
-
customerId,
|
94 |
-
} as const ),
|
95 |
-
setOrderId: ( orderId: number ) =>
|
96 |
-
( {
|
97 |
-
type: ACTION.SET_ORDER_ID,
|
98 |
-
orderId,
|
99 |
-
} as const ),
|
100 |
-
setShouldCreateAccount: ( shouldCreateAccount: boolean ) =>
|
101 |
-
( {
|
102 |
-
type: ACTION.SET_SHOULD_CREATE_ACCOUNT,
|
103 |
-
shouldCreateAccount,
|
104 |
-
} as const ),
|
105 |
-
setOrderNotes: ( orderNotes: string ) =>
|
106 |
-
( {
|
107 |
-
type: ACTION.SET_ORDER_NOTES,
|
108 |
-
orderNotes,
|
109 |
-
} as const ),
|
110 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/cart-checkout/checkout-state/constants.js
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import { getSetting } from '@woocommerce/settings';
|
5 |
+
|
6 |
+
/**
|
7 |
+
* @type {import("@woocommerce/type-defs/checkout").CheckoutStatusConstants}
|
8 |
+
*/
|
9 |
+
export const STATUS = {
|
10 |
+
PRISTINE: 'pristine',
|
11 |
+
IDLE: 'idle',
|
12 |
+
PROCESSING: 'processing',
|
13 |
+
COMPLETE: 'complete',
|
14 |
+
BEFORE_PROCESSING: 'before_processing',
|
15 |
+
AFTER_PROCESSING: 'after_processing',
|
16 |
+
};
|
17 |
+
|
18 |
+
const preloadedApiRequests = getSetting( 'preloadedApiRequests', {} );
|
19 |
+
const checkoutData = {
|
20 |
+
order_id: 0,
|
21 |
+
customer_id: 0,
|
22 |
+
...( preloadedApiRequests[ '/wc/store/checkout' ]?.body || {} ),
|
23 |
+
};
|
24 |
+
|
25 |
+
export const DEFAULT_STATE = {
|
26 |
+
redirectUrl: '',
|
27 |
+
status: STATUS.PRISTINE,
|
28 |
+
hasError: false,
|
29 |
+
calculatingCount: 0,
|
30 |
+
orderId: checkoutData.order_id,
|
31 |
+
orderNotes: '',
|
32 |
+
customerId: checkoutData.customer_id,
|
33 |
+
shouldCreateAccount: false,
|
34 |
+
processingResponse: null,
|
35 |
+
};
|
36 |
+
|
37 |
+
export const TYPES = {
|
38 |
+
SET_IDLE: 'set_idle',
|
39 |
+
SET_PRISTINE: 'set_pristine',
|
40 |
+
SET_REDIRECT_URL: 'set_redirect_url',
|
41 |
+
SET_COMPLETE: 'set_checkout_complete',
|
42 |
+
SET_BEFORE_PROCESSING: 'set_before_processing',
|
43 |
+
SET_AFTER_PROCESSING: 'set_after_processing',
|
44 |
+
SET_PROCESSING_RESPONSE: 'set_processing_response',
|
45 |
+
SET_PROCESSING: 'set_checkout_is_processing',
|
46 |
+
SET_HAS_ERROR: 'set_checkout_has_error',
|
47 |
+
SET_NO_ERROR: 'set_checkout_no_error',
|
48 |
+
SET_CUSTOMER_ID: 'set_checkout_customer_id',
|
49 |
+
SET_ORDER_ID: 'set_checkout_order_id',
|
50 |
+
SET_ORDER_NOTES: 'set_checkout_order_notes',
|
51 |
+
INCREMENT_CALCULATING: 'increment_calculating',
|
52 |
+
DECREMENT_CALCULATING: 'decrement_calculating',
|
53 |
+
};
|
assets/js/base/context/providers/cart-checkout/checkout-state/constants.ts
DELETED
@@ -1,84 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { getSetting } from '@woocommerce/settings';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import type {
|
10 |
-
CheckoutStateContextType,
|
11 |
-
CheckoutStateContextState,
|
12 |
-
} from './types';
|
13 |
-
|
14 |
-
export enum STATUS {
|
15 |
-
// Checkout is in it's initialized state.
|
16 |
-
PRISTINE = 'pristine',
|
17 |
-
// When checkout state has changed but there is no activity happening.
|
18 |
-
IDLE = 'idle',
|
19 |
-
// After BEFORE_PROCESSING status emitters have finished successfully. Payment processing is started on this checkout status.
|
20 |
-
PROCESSING = 'processing',
|
21 |
-
// After the AFTER_PROCESSING event emitters have completed. This status triggers the checkout redirect.
|
22 |
-
COMPLETE = 'complete',
|
23 |
-
// This is the state before checkout processing begins after the checkout button has been pressed/submitted.
|
24 |
-
BEFORE_PROCESSING = 'before_processing',
|
25 |
-
// After server side checkout processing is completed this status is set
|
26 |
-
AFTER_PROCESSING = 'after_processing',
|
27 |
-
}
|
28 |
-
|
29 |
-
const preloadedApiRequests = getSetting( 'preloadedApiRequests', {} ) as Record<
|
30 |
-
string,
|
31 |
-
{ body: Record< string, unknown > }
|
32 |
-
>;
|
33 |
-
|
34 |
-
const checkoutData = {
|
35 |
-
order_id: 0,
|
36 |
-
customer_id: 0,
|
37 |
-
...( preloadedApiRequests[ '/wc/store/checkout' ]?.body || {} ),
|
38 |
-
};
|
39 |
-
|
40 |
-
export const DEFAULT_CHECKOUT_STATE_DATA: CheckoutStateContextType = {
|
41 |
-
dispatchActions: {
|
42 |
-
resetCheckout: () => void null,
|
43 |
-
setRedirectUrl: ( url ) => void url,
|
44 |
-
setHasError: ( hasError ) => void hasError,
|
45 |
-
setAfterProcessing: ( response ) => void response,
|
46 |
-
incrementCalculating: () => void null,
|
47 |
-
decrementCalculating: () => void null,
|
48 |
-
setCustomerId: ( id ) => void id,
|
49 |
-
setOrderId: ( id ) => void id,
|
50 |
-
setOrderNotes: ( orderNotes ) => void orderNotes,
|
51 |
-
},
|
52 |
-
onSubmit: () => void null,
|
53 |
-
isComplete: false,
|
54 |
-
isIdle: false,
|
55 |
-
isCalculating: false,
|
56 |
-
isProcessing: false,
|
57 |
-
isBeforeProcessing: false,
|
58 |
-
isAfterProcessing: false,
|
59 |
-
hasError: false,
|
60 |
-
redirectUrl: '',
|
61 |
-
orderId: 0,
|
62 |
-
orderNotes: '',
|
63 |
-
customerId: 0,
|
64 |
-
onCheckoutAfterProcessingWithSuccess: () => () => void null,
|
65 |
-
onCheckoutAfterProcessingWithError: () => () => void null,
|
66 |
-
onCheckoutBeforeProcessing: () => () => void null, // deprecated for onCheckoutValidationBeforeProcessing
|
67 |
-
onCheckoutValidationBeforeProcessing: () => () => void null,
|
68 |
-
hasOrder: false,
|
69 |
-
isCart: false,
|
70 |
-
shouldCreateAccount: false,
|
71 |
-
setShouldCreateAccount: ( value ) => void value,
|
72 |
-
};
|
73 |
-
|
74 |
-
export const DEFAULT_STATE: CheckoutStateContextState = {
|
75 |
-
redirectUrl: '',
|
76 |
-
status: STATUS.PRISTINE,
|
77 |
-
hasError: false,
|
78 |
-
calculatingCount: 0,
|
79 |
-
orderId: checkoutData.order_id,
|
80 |
-
orderNotes: '',
|
81 |
-
customerId: checkoutData.customer_id,
|
82 |
-
shouldCreateAccount: false,
|
83 |
-
processingResponse: null,
|
84 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/cart-checkout/checkout-state/event-emit.js
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Internal dependencies
|
3 |
+
*/
|
4 |
+
import {
|
5 |
+
emitterCallback,
|
6 |
+
reducer,
|
7 |
+
emitEvent,
|
8 |
+
emitEventWithAbort,
|
9 |
+
} from '../../../event-emit';
|
10 |
+
|
11 |
+
const EMIT_TYPES = {
|
12 |
+
CHECKOUT_VALIDATION_BEFORE_PROCESSING:
|
13 |
+
'checkout_validation_before_processing',
|
14 |
+
CHECKOUT_AFTER_PROCESSING_WITH_SUCCESS:
|
15 |
+
'checkout_after_processing_with_success',
|
16 |
+
CHECKOUT_AFTER_PROCESSING_WITH_ERROR:
|
17 |
+
'checkout_after_processing_with_error',
|
18 |
+
};
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Receives a reducer dispatcher and returns an object with the
|
22 |
+
* callback registration function for the checkout emit
|
23 |
+
* events.
|
24 |
+
*
|
25 |
+
* Calling the event registration function with the callback will register it
|
26 |
+
* for the event emitter and will return a dispatcher for removing the
|
27 |
+
* registered callback (useful for implementation in `useEffect`).
|
28 |
+
*
|
29 |
+
* @param {Function} dispatcher The emitter reducer dispatcher.
|
30 |
+
*
|
31 |
+
* @return {Object} An object with the checkout emmitter registration
|
32 |
+
*/
|
33 |
+
const emitterObservers = ( dispatcher ) => ( {
|
34 |
+
onCheckoutAfterProcessingWithSuccess: emitterCallback(
|
35 |
+
EMIT_TYPES.CHECKOUT_AFTER_PROCESSING_WITH_SUCCESS,
|
36 |
+
dispatcher
|
37 |
+
),
|
38 |
+
onCheckoutAfterProcessingWithError: emitterCallback(
|
39 |
+
EMIT_TYPES.CHECKOUT_AFTER_PROCESSING_WITH_ERROR,
|
40 |
+
dispatcher
|
41 |
+
),
|
42 |
+
onCheckoutValidationBeforeProcessing: emitterCallback(
|
43 |
+
EMIT_TYPES.CHECKOUT_VALIDATION_BEFORE_PROCESSING,
|
44 |
+
dispatcher
|
45 |
+
),
|
46 |
+
} );
|
47 |
+
|
48 |
+
export { EMIT_TYPES, emitterObservers, reducer, emitEvent, emitEventWithAbort };
|
assets/js/base/context/providers/cart-checkout/checkout-state/event-emit.ts
DELETED
@@ -1,62 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { useMemo } from '@wordpress/element';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import {
|
10 |
-
emitterCallback,
|
11 |
-
reducer,
|
12 |
-
emitEvent,
|
13 |
-
emitEventWithAbort,
|
14 |
-
ActionType,
|
15 |
-
} from '../../../event-emit';
|
16 |
-
|
17 |
-
const EMIT_TYPES = {
|
18 |
-
CHECKOUT_VALIDATION_BEFORE_PROCESSING:
|
19 |
-
'checkout_validation_before_processing',
|
20 |
-
CHECKOUT_AFTER_PROCESSING_WITH_SUCCESS:
|
21 |
-
'checkout_after_processing_with_success',
|
22 |
-
CHECKOUT_AFTER_PROCESSING_WITH_ERROR:
|
23 |
-
'checkout_after_processing_with_error',
|
24 |
-
};
|
25 |
-
|
26 |
-
type EventEmittersType = Record< string, ReturnType< typeof emitterCallback > >;
|
27 |
-
|
28 |
-
/**
|
29 |
-
* Receives a reducer dispatcher and returns an object with the
|
30 |
-
* various event emitters for the payment processing events.
|
31 |
-
*
|
32 |
-
* Calling the event registration function with the callback will register it
|
33 |
-
* for the event emitter and will return a dispatcher for removing the
|
34 |
-
* registered callback (useful for implementation in `useEffect`).
|
35 |
-
*
|
36 |
-
* @param {Function} observerDispatch The emitter reducer dispatcher.
|
37 |
-
* @return {Object} An object with the various payment event emitter registration functions
|
38 |
-
*/
|
39 |
-
const useEventEmitters = (
|
40 |
-
observerDispatch: React.Dispatch< ActionType >
|
41 |
-
): EventEmittersType => {
|
42 |
-
const eventEmitters = useMemo(
|
43 |
-
() => ( {
|
44 |
-
onCheckoutAfterProcessingWithSuccess: emitterCallback(
|
45 |
-
EMIT_TYPES.CHECKOUT_AFTER_PROCESSING_WITH_SUCCESS,
|
46 |
-
observerDispatch
|
47 |
-
),
|
48 |
-
onCheckoutAfterProcessingWithError: emitterCallback(
|
49 |
-
EMIT_TYPES.CHECKOUT_AFTER_PROCESSING_WITH_ERROR,
|
50 |
-
observerDispatch
|
51 |
-
),
|
52 |
-
onCheckoutValidationBeforeProcessing: emitterCallback(
|
53 |
-
EMIT_TYPES.CHECKOUT_VALIDATION_BEFORE_PROCESSING,
|
54 |
-
observerDispatch
|
55 |
-
),
|
56 |
-
} ),
|
57 |
-
[ observerDispatch ]
|
58 |
-
);
|
59 |
-
return eventEmitters;
|
60 |
-
};
|
61 |
-
|
62 |
-
export { EMIT_TYPES, useEventEmitters, reducer, emitEvent, emitEventWithAbort };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/cart-checkout/checkout-state/{index.tsx → index.js}
RENAMED
@@ -13,26 +13,15 @@ import {
|
|
13 |
import { __ } from '@wordpress/i18n';
|
14 |
import { usePrevious } from '@woocommerce/base-hooks';
|
15 |
import deprecated from '@wordpress/deprecated';
|
16 |
-
import { isObject } from '@woocommerce/types';
|
17 |
-
|
18 |
/**
|
19 |
* Internal dependencies
|
20 |
*/
|
21 |
import { actions } from './actions';
|
22 |
-
import { reducer } from './reducer';
|
23 |
-
import {
|
24 |
-
import {
|
25 |
-
DEFAULT_STATE,
|
26 |
-
STATUS,
|
27 |
-
DEFAULT_CHECKOUT_STATE_DATA,
|
28 |
-
} from './constants';
|
29 |
-
import type {
|
30 |
-
CheckoutStateDispatchActions,
|
31 |
-
CheckoutStateContextType,
|
32 |
-
} from './types';
|
33 |
import {
|
34 |
EMIT_TYPES,
|
35 |
-
|
36 |
emitEvent,
|
37 |
emitEventWithAbort,
|
38 |
reducer as emitReducer,
|
@@ -44,12 +33,49 @@ import { useCheckoutNotices } from '../../../hooks/use-checkout-notices';
|
|
44 |
import { useEmitResponse } from '../../../hooks/use-emit-response';
|
45 |
|
46 |
/**
|
|
|
47 |
* @typedef {import('@woocommerce/type-defs/contexts').CheckoutDataContext} CheckoutDataContext
|
48 |
*/
|
49 |
|
50 |
-
const CheckoutContext = createContext(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
-
|
|
|
|
|
|
|
53 |
return useContext( CheckoutContext );
|
54 |
};
|
55 |
|
@@ -67,15 +93,13 @@ export const CheckoutStateProvider = ( {
|
|
67 |
children,
|
68 |
redirectUrl,
|
69 |
isCart = false,
|
70 |
-
}
|
71 |
-
children: React.ReactChildren;
|
72 |
-
redirectUrl: string;
|
73 |
-
isCart: boolean;
|
74 |
-
} ): JSX.Element => {
|
75 |
// note, this is done intentionally so that the default state now has
|
76 |
// the redirectUrl for when checkout is reset to PRISTINE state.
|
77 |
DEFAULT_STATE.redirectUrl = redirectUrl;
|
78 |
const [ checkoutState, dispatch ] = useReducer( reducer, DEFAULT_STATE );
|
|
|
|
|
79 |
const { setValidationErrors } = useValidationContext();
|
80 |
const { addErrorNotice, removeNotices } = useStoreNotices();
|
81 |
const { dispatchCheckoutEvent } = useStoreEvents();
|
@@ -92,42 +116,57 @@ export const CheckoutStateProvider = ( {
|
|
92 |
expressPaymentNotices,
|
93 |
} = useCheckoutNotices();
|
94 |
|
95 |
-
const [ observers, observerDispatch ] = useReducer( emitReducer, {} );
|
96 |
-
const currentObservers = useRef( observers );
|
97 |
-
const {
|
98 |
-
onCheckoutAfterProcessingWithSuccess,
|
99 |
-
onCheckoutAfterProcessingWithError,
|
100 |
-
onCheckoutValidationBeforeProcessing,
|
101 |
-
} = useEventEmitters( observerDispatch );
|
102 |
-
|
103 |
// set observers on ref so it's always current.
|
104 |
useEffect( () => {
|
105 |
currentObservers.current = observers;
|
106 |
}, [ observers ] );
|
107 |
-
|
108 |
/**
|
109 |
* @deprecated use onCheckoutValidationBeforeProcessing instead
|
110 |
*
|
111 |
* To prevent the deprecation message being shown at render time
|
112 |
-
* we need an extra function between useMemo and
|
113 |
* so that the deprecated message gets shown only at invocation time.
|
114 |
* (useMemo calls the passed function at render time)
|
115 |
* See: https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/4039/commits/a502d1be8828848270993264c64220731b0ae181
|
116 |
*/
|
117 |
const onCheckoutBeforeProcessing = useMemo( () => {
|
118 |
-
|
119 |
-
|
120 |
-
|
|
|
121 |
deprecated( 'onCheckoutBeforeProcessing', {
|
122 |
alternative: 'onCheckoutValidationBeforeProcessing',
|
123 |
plugin: 'WooCommerce Blocks',
|
124 |
} );
|
125 |
-
|
|
|
126 |
};
|
127 |
-
}, [
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
const dispatchActions = useMemo(
|
130 |
-
()
|
131 |
resetCheckout: () => void dispatch( actions.setPristine() ),
|
132 |
setRedirectUrl: ( url ) =>
|
133 |
void dispatch( actions.setRedirectUrl( url ) ),
|
@@ -144,17 +183,35 @@ export const CheckoutStateProvider = ( {
|
|
144 |
setOrderNotes: ( orderNotes ) =>
|
145 |
void dispatch( actions.setOrderNotes( orderNotes ) ),
|
146 |
setAfterProcessing: ( response ) => {
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
dispatch(
|
153 |
-
actions.
|
|
|
|
|
154 |
);
|
155 |
}
|
156 |
-
dispatch( actions.
|
157 |
-
dispatch( actions.setAfterProcessing() );
|
158 |
},
|
159 |
} ),
|
160 |
[]
|
@@ -204,20 +261,20 @@ export const CheckoutStateProvider = ( {
|
|
204 |
return;
|
205 |
}
|
206 |
|
207 |
-
const handleErrorResponse = ( observerResponses
|
208 |
let errorResponse = null;
|
209 |
observerResponses.forEach( ( response ) => {
|
|
|
210 |
if (
|
211 |
-
isErrorResponse( response ) ||
|
212 |
-
|
|
|
213 |
) {
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
addErrorNotice( response.message, errorOptions );
|
220 |
-
}
|
221 |
}
|
222 |
} );
|
223 |
return errorResponse;
|
@@ -228,7 +285,7 @@ export const CheckoutStateProvider = ( {
|
|
228 |
redirectUrl: checkoutState.redirectUrl,
|
229 |
orderId: checkoutState.orderId,
|
230 |
customerId: checkoutState.customerId,
|
231 |
-
|
232 |
processingResponse: checkoutState.processingResponse,
|
233 |
};
|
234 |
if ( checkoutState.hasError ) {
|
@@ -252,16 +309,13 @@ export const CheckoutStateProvider = ( {
|
|
252 |
} else {
|
253 |
const hasErrorNotices =
|
254 |
checkoutNotices.some(
|
255 |
-
( notice
|
256 |
-
notice.status === 'error'
|
257 |
) ||
|
258 |
expressPaymentNotices.some(
|
259 |
-
( notice
|
260 |
-
notice.status === 'error'
|
261 |
) ||
|
262 |
paymentNotices.some(
|
263 |
-
( notice
|
264 |
-
notice.status === 'error'
|
265 |
);
|
266 |
if ( ! hasErrorNotices ) {
|
267 |
// no error handling in place by anything so let's fall
|
@@ -285,16 +339,8 @@ export const CheckoutStateProvider = ( {
|
|
285 |
currentObservers.current,
|
286 |
EMIT_TYPES.CHECKOUT_AFTER_PROCESSING_WITH_SUCCESS,
|
287 |
data
|
288 |
-
).then( ( observerResponses
|
289 |
-
let successResponse
|
290 |
-
string,
|
291 |
-
unknown
|
292 |
-
>;
|
293 |
-
let errorResponse = null as null | Record<
|
294 |
-
string,
|
295 |
-
unknown
|
296 |
-
>;
|
297 |
-
|
298 |
observerResponses.forEach( ( response ) => {
|
299 |
if ( isSuccessResponse( response ) ) {
|
300 |
// the last observer response always "wins" for success.
|
@@ -307,10 +353,9 @@ export const CheckoutStateProvider = ( {
|
|
307 |
errorResponse = response;
|
308 |
}
|
309 |
} );
|
310 |
-
|
311 |
if ( successResponse && ! errorResponse ) {
|
312 |
dispatch( actions.setComplete( successResponse ) );
|
313 |
-
} else if (
|
314 |
if ( errorResponse.message ) {
|
315 |
const errorOptions = errorResponse.messageContext
|
316 |
? { context: errorResponse.messageContext }
|
@@ -342,7 +387,7 @@ export const CheckoutStateProvider = ( {
|
|
342 |
checkoutState.redirectUrl,
|
343 |
checkoutState.orderId,
|
344 |
checkoutState.customerId,
|
345 |
-
checkoutState.
|
346 |
checkoutState.processingResponse,
|
347 |
previousStatus,
|
348 |
previousHasError,
|
@@ -362,7 +407,10 @@ export const CheckoutStateProvider = ( {
|
|
362 |
dispatch( actions.setBeforeProcessing() );
|
363 |
}, [ dispatchCheckoutEvent ] );
|
364 |
|
365 |
-
|
|
|
|
|
|
|
366 |
onSubmit,
|
367 |
isComplete: checkoutState.status === STATUS.COMPLETE,
|
368 |
isIdle: checkoutState.status === STATUS.IDLE,
|
13 |
import { __ } from '@wordpress/i18n';
|
14 |
import { usePrevious } from '@woocommerce/base-hooks';
|
15 |
import deprecated from '@wordpress/deprecated';
|
|
|
|
|
16 |
/**
|
17 |
* Internal dependencies
|
18 |
*/
|
19 |
import { actions } from './actions';
|
20 |
+
import { reducer, prepareResponseData } from './reducer';
|
21 |
+
import { DEFAULT_STATE, STATUS } from './constants';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
import {
|
23 |
EMIT_TYPES,
|
24 |
+
emitterObservers,
|
25 |
emitEvent,
|
26 |
emitEventWithAbort,
|
27 |
reducer as emitReducer,
|
33 |
import { useEmitResponse } from '../../../hooks/use-emit-response';
|
34 |
|
35 |
/**
|
36 |
+
* @typedef {import('@woocommerce/type-defs/checkout').CheckoutDispatchActions} CheckoutDispatchActions
|
37 |
* @typedef {import('@woocommerce/type-defs/contexts').CheckoutDataContext} CheckoutDataContext
|
38 |
*/
|
39 |
|
40 |
+
const CheckoutContext = createContext( {
|
41 |
+
isComplete: false,
|
42 |
+
isIdle: false,
|
43 |
+
isCalculating: false,
|
44 |
+
isProcessing: false,
|
45 |
+
isBeforeProcessing: false,
|
46 |
+
isAfterProcessing: false,
|
47 |
+
hasError: false,
|
48 |
+
redirectUrl: '',
|
49 |
+
orderId: 0,
|
50 |
+
orderNotes: '',
|
51 |
+
customerId: 0,
|
52 |
+
onSubmit: () => void null,
|
53 |
+
// deprecated for onCheckoutValidationBeforeProcessing
|
54 |
+
onCheckoutBeforeProcessing: ( callback ) => void callback,
|
55 |
+
onCheckoutValidationBeforeProcessing: ( callback ) => void callback,
|
56 |
+
onCheckoutAfterProcessingWithSuccess: ( callback ) => void callback,
|
57 |
+
onCheckoutAfterProcessingWithError: ( callback ) => void callback,
|
58 |
+
dispatchActions: {
|
59 |
+
resetCheckout: () => void null,
|
60 |
+
setRedirectUrl: ( url ) => void url,
|
61 |
+
setHasError: ( hasError ) => void hasError,
|
62 |
+
setAfterProcessing: ( response ) => void response,
|
63 |
+
incrementCalculating: () => void null,
|
64 |
+
decrementCalculating: () => void null,
|
65 |
+
setCustomerId: ( id ) => void id,
|
66 |
+
setOrderId: ( id ) => void id,
|
67 |
+
setOrderNotes: ( orderNotes ) => void orderNotes,
|
68 |
+
},
|
69 |
+
hasOrder: false,
|
70 |
+
isCart: false,
|
71 |
+
shouldCreateAccount: false,
|
72 |
+
setShouldCreateAccount: ( value ) => void value,
|
73 |
+
} );
|
74 |
|
75 |
+
/**
|
76 |
+
* @return {CheckoutDataContext} Returns the checkout data context value
|
77 |
+
*/
|
78 |
+
export const useCheckoutContext = () => {
|
79 |
return useContext( CheckoutContext );
|
80 |
};
|
81 |
|
93 |
children,
|
94 |
redirectUrl,
|
95 |
isCart = false,
|
96 |
+
} ) => {
|
|
|
|
|
|
|
|
|
97 |
// note, this is done intentionally so that the default state now has
|
98 |
// the redirectUrl for when checkout is reset to PRISTINE state.
|
99 |
DEFAULT_STATE.redirectUrl = redirectUrl;
|
100 |
const [ checkoutState, dispatch ] = useReducer( reducer, DEFAULT_STATE );
|
101 |
+
const [ observers, observerDispatch ] = useReducer( emitReducer, {} );
|
102 |
+
const currentObservers = useRef( observers );
|
103 |
const { setValidationErrors } = useValidationContext();
|
104 |
const { addErrorNotice, removeNotices } = useStoreNotices();
|
105 |
const { dispatchCheckoutEvent } = useStoreEvents();
|
116 |
expressPaymentNotices,
|
117 |
} = useCheckoutNotices();
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
// set observers on ref so it's always current.
|
120 |
useEffect( () => {
|
121 |
currentObservers.current = observers;
|
122 |
}, [ observers ] );
|
|
|
123 |
/**
|
124 |
* @deprecated use onCheckoutValidationBeforeProcessing instead
|
125 |
*
|
126 |
* To prevent the deprecation message being shown at render time
|
127 |
+
* we need an extra function between useMemo and emitterObservers
|
128 |
* so that the deprecated message gets shown only at invocation time.
|
129 |
* (useMemo calls the passed function at render time)
|
130 |
* See: https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/4039/commits/a502d1be8828848270993264c64220731b0ae181
|
131 |
*/
|
132 |
const onCheckoutBeforeProcessing = useMemo( () => {
|
133 |
+
const callback = emitterObservers( observerDispatch )
|
134 |
+
.onCheckoutValidationBeforeProcessing;
|
135 |
+
|
136 |
+
return function ( ...args ) {
|
137 |
deprecated( 'onCheckoutBeforeProcessing', {
|
138 |
alternative: 'onCheckoutValidationBeforeProcessing',
|
139 |
plugin: 'WooCommerce Blocks',
|
140 |
} );
|
141 |
+
|
142 |
+
return callback( ...args );
|
143 |
};
|
144 |
+
}, [ observerDispatch ] );
|
145 |
|
146 |
+
const onCheckoutValidationBeforeProcessing = useMemo(
|
147 |
+
() =>
|
148 |
+
emitterObservers( observerDispatch )
|
149 |
+
.onCheckoutValidationBeforeProcessing,
|
150 |
+
[ observerDispatch ]
|
151 |
+
);
|
152 |
+
const onCheckoutAfterProcessingWithSuccess = useMemo(
|
153 |
+
() =>
|
154 |
+
emitterObservers( observerDispatch )
|
155 |
+
.onCheckoutAfterProcessingWithSuccess,
|
156 |
+
[ observerDispatch ]
|
157 |
+
);
|
158 |
+
const onCheckoutAfterProcessingWithError = useMemo(
|
159 |
+
() =>
|
160 |
+
emitterObservers( observerDispatch )
|
161 |
+
.onCheckoutAfterProcessingWithError,
|
162 |
+
[ observerDispatch ]
|
163 |
+
);
|
164 |
+
|
165 |
+
/**
|
166 |
+
* @type {CheckoutDispatchActions}
|
167 |
+
*/
|
168 |
const dispatchActions = useMemo(
|
169 |
+
() => ( {
|
170 |
resetCheckout: () => void dispatch( actions.setPristine() ),
|
171 |
setRedirectUrl: ( url ) =>
|
172 |
void dispatch( actions.setRedirectUrl( url ) ),
|
183 |
setOrderNotes: ( orderNotes ) =>
|
184 |
void dispatch( actions.setOrderNotes( orderNotes ) ),
|
185 |
setAfterProcessing: ( response ) => {
|
186 |
+
// capture general error message if this is an error response.
|
187 |
+
if (
|
188 |
+
! response.payment_result &&
|
189 |
+
response.message &&
|
190 |
+
response?.data?.status !== 200
|
191 |
+
) {
|
192 |
+
response.payment_result = {
|
193 |
+
...response.payment_result,
|
194 |
+
message: response.message,
|
195 |
+
};
|
196 |
+
}
|
197 |
+
if ( response.payment_result ) {
|
198 |
+
if (
|
199 |
+
// eslint-disable-next-line camelcase
|
200 |
+
response.payment_result?.redirect_url
|
201 |
+
) {
|
202 |
+
dispatch(
|
203 |
+
actions.setRedirectUrl(
|
204 |
+
response.payment_result.redirect_url
|
205 |
+
)
|
206 |
+
);
|
207 |
+
}
|
208 |
dispatch(
|
209 |
+
actions.setProcessingResponse(
|
210 |
+
prepareResponseData( response.payment_result )
|
211 |
+
)
|
212 |
);
|
213 |
}
|
214 |
+
void dispatch( actions.setAfterProcessing() );
|
|
|
215 |
},
|
216 |
} ),
|
217 |
[]
|
261 |
return;
|
262 |
}
|
263 |
|
264 |
+
const handleErrorResponse = ( observerResponses ) => {
|
265 |
let errorResponse = null;
|
266 |
observerResponses.forEach( ( response ) => {
|
267 |
+
const { message, messageContext } = response;
|
268 |
if (
|
269 |
+
( isErrorResponse( response ) ||
|
270 |
+
isFailResponse( response ) ) &&
|
271 |
+
message
|
272 |
) {
|
273 |
+
const errorOptions = messageContext
|
274 |
+
? { context: messageContext }
|
275 |
+
: undefined;
|
276 |
+
errorResponse = response;
|
277 |
+
addErrorNotice( message, errorOptions );
|
|
|
|
|
278 |
}
|
279 |
} );
|
280 |
return errorResponse;
|
285 |
redirectUrl: checkoutState.redirectUrl,
|
286 |
orderId: checkoutState.orderId,
|
287 |
customerId: checkoutState.customerId,
|
288 |
+
customerNote: checkoutState.customerNote,
|
289 |
processingResponse: checkoutState.processingResponse,
|
290 |
};
|
291 |
if ( checkoutState.hasError ) {
|
309 |
} else {
|
310 |
const hasErrorNotices =
|
311 |
checkoutNotices.some(
|
312 |
+
( notice ) => notice.status === 'error'
|
|
|
313 |
) ||
|
314 |
expressPaymentNotices.some(
|
315 |
+
( notice ) => notice.status === 'error'
|
|
|
316 |
) ||
|
317 |
paymentNotices.some(
|
318 |
+
( notice ) => notice.status === 'error'
|
|
|
319 |
);
|
320 |
if ( ! hasErrorNotices ) {
|
321 |
// no error handling in place by anything so let's fall
|
339 |
currentObservers.current,
|
340 |
EMIT_TYPES.CHECKOUT_AFTER_PROCESSING_WITH_SUCCESS,
|
341 |
data
|
342 |
+
).then( ( observerResponses ) => {
|
343 |
+
let successResponse, errorResponse;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
observerResponses.forEach( ( response ) => {
|
345 |
if ( isSuccessResponse( response ) ) {
|
346 |
// the last observer response always "wins" for success.
|
353 |
errorResponse = response;
|
354 |
}
|
355 |
} );
|
|
|
356 |
if ( successResponse && ! errorResponse ) {
|
357 |
dispatch( actions.setComplete( successResponse ) );
|
358 |
+
} else if ( errorResponse ) {
|
359 |
if ( errorResponse.message ) {
|
360 |
const errorOptions = errorResponse.messageContext
|
361 |
? { context: errorResponse.messageContext }
|
387 |
checkoutState.redirectUrl,
|
388 |
checkoutState.orderId,
|
389 |
checkoutState.customerId,
|
390 |
+
checkoutState.customerNote,
|
391 |
checkoutState.processingResponse,
|
392 |
previousStatus,
|
393 |
previousHasError,
|
407 |
dispatch( actions.setBeforeProcessing() );
|
408 |
}, [ dispatchCheckoutEvent ] );
|
409 |
|
410 |
+
/**
|
411 |
+
* @type {CheckoutDataContext}
|
412 |
+
*/
|
413 |
+
const checkoutData = {
|
414 |
onSubmit,
|
415 |
isComplete: checkoutState.status === STATUS.COMPLETE,
|
416 |
isIdle: checkoutState.status === STATUS.IDLE,
|
assets/js/base/context/providers/cart-checkout/checkout-state/reducer.js
ADDED
@@ -0,0 +1,235 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import { decodeEntities } from '@wordpress/html-entities';
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Internal dependencies
|
8 |
+
*/
|
9 |
+
import { TYPES, DEFAULT_STATE, STATUS } from './constants';
|
10 |
+
|
11 |
+
const {
|
12 |
+
SET_PRISTINE,
|
13 |
+
SET_IDLE,
|
14 |
+
SET_PROCESSING,
|
15 |
+
SET_BEFORE_PROCESSING,
|
16 |
+
SET_AFTER_PROCESSING,
|
17 |
+
SET_PROCESSING_RESPONSE,
|
18 |
+
SET_REDIRECT_URL,
|
19 |
+
SET_COMPLETE,
|
20 |
+
SET_HAS_ERROR,
|
21 |
+
SET_NO_ERROR,
|
22 |
+
INCREMENT_CALCULATING,
|
23 |
+
DECREMENT_CALCULATING,
|
24 |
+
SET_CUSTOMER_ID,
|
25 |
+
SET_ORDER_ID,
|
26 |
+
SET_ORDER_NOTES,
|
27 |
+
SET_SHOULD_CREATE_ACCOUNT,
|
28 |
+
} = TYPES;
|
29 |
+
|
30 |
+
const {
|
31 |
+
PRISTINE,
|
32 |
+
IDLE,
|
33 |
+
PROCESSING,
|
34 |
+
BEFORE_PROCESSING,
|
35 |
+
AFTER_PROCESSING,
|
36 |
+
COMPLETE,
|
37 |
+
} = STATUS;
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Prepares the payment_result data from the server checkout endpoint response.
|
41 |
+
*
|
42 |
+
* @param {Object} data The value of `payment_result` from the checkout
|
43 |
+
* processing endpoint response.
|
44 |
+
* @param {string} data.message If there was a general error message it will appear
|
45 |
+
* on this property.
|
46 |
+
* @param {string} data.payment_status The payment status. One of 'success', 'failure',
|
47 |
+
* 'pending', 'error'.
|
48 |
+
* @param {Array<Object>} data.payment_details An array of Objects with a 'key' property that is a
|
49 |
+
* string and value property that is a string. These are
|
50 |
+
* converted to a flat object where the key becomes the
|
51 |
+
* object property and value the property value.
|
52 |
+
*
|
53 |
+
* @return {Object} A new object with 'paymentStatus', and 'paymentDetails' as the properties.
|
54 |
+
*/
|
55 |
+
export const prepareResponseData = ( data ) => {
|
56 |
+
const responseData = {
|
57 |
+
message: data?.message || '',
|
58 |
+
paymentStatus: data.payment_status,
|
59 |
+
paymentDetails: {},
|
60 |
+
};
|
61 |
+
if ( Array.isArray( data.payment_details ) ) {
|
62 |
+
data.payment_details.forEach( ( { key, value } ) => {
|
63 |
+
responseData.paymentDetails[ key ] = decodeEntities( value );
|
64 |
+
} );
|
65 |
+
}
|
66 |
+
return responseData;
|
67 |
+
};
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Reducer for the checkout state
|
71 |
+
*
|
72 |
+
* @param {Object} state Current state.
|
73 |
+
* @param {Object} action Incoming action object.
|
74 |
+
* @param {string} action.url URL passed in.
|
75 |
+
* @param {string} action.type Type of action.
|
76 |
+
* @param {string} action.customerId Customer ID.
|
77 |
+
* @param {string} action.orderId Order ID.
|
78 |
+
* @param {Array} action.orderNotes Order notes.
|
79 |
+
* @param {boolean} action.shouldCreateAccount True if shopper has requested a user account (signup checkbox).
|
80 |
+
* @param {Object} action.data Other action payload.
|
81 |
+
*/
|
82 |
+
export const reducer = (
|
83 |
+
state = DEFAULT_STATE,
|
84 |
+
{ url, type, customerId, orderId, orderNotes, shouldCreateAccount, data }
|
85 |
+
) => {
|
86 |
+
let newState = state;
|
87 |
+
switch ( type ) {
|
88 |
+
case SET_PRISTINE:
|
89 |
+
newState = DEFAULT_STATE;
|
90 |
+
break;
|
91 |
+
case SET_IDLE:
|
92 |
+
newState =
|
93 |
+
state.status !== IDLE
|
94 |
+
? {
|
95 |
+
...state,
|
96 |
+
status: IDLE,
|
97 |
+
}
|
98 |
+
: state;
|
99 |
+
break;
|
100 |
+
case SET_REDIRECT_URL:
|
101 |
+
newState =
|
102 |
+
url !== state.url
|
103 |
+
? {
|
104 |
+
...state,
|
105 |
+
redirectUrl: url,
|
106 |
+
}
|
107 |
+
: state;
|
108 |
+
break;
|
109 |
+
case SET_PROCESSING_RESPONSE:
|
110 |
+
newState = {
|
111 |
+
...state,
|
112 |
+
processingResponse: data,
|
113 |
+
};
|
114 |
+
break;
|
115 |
+
|
116 |
+
case SET_COMPLETE:
|
117 |
+
newState =
|
118 |
+
state.status !== COMPLETE
|
119 |
+
? {
|
120 |
+
...state,
|
121 |
+
status: COMPLETE,
|
122 |
+
redirectUrl: data?.redirectUrl || state.redirectUrl,
|
123 |
+
}
|
124 |
+
: state;
|
125 |
+
break;
|
126 |
+
case SET_PROCESSING:
|
127 |
+
newState =
|
128 |
+
state.status !== PROCESSING
|
129 |
+
? {
|
130 |
+
...state,
|
131 |
+
status: PROCESSING,
|
132 |
+
hasError: false,
|
133 |
+
}
|
134 |
+
: state;
|
135 |
+
// clear any error state.
|
136 |
+
newState =
|
137 |
+
newState.hasError === false
|
138 |
+
? newState
|
139 |
+
: { ...newState, hasError: false };
|
140 |
+
break;
|
141 |
+
case SET_BEFORE_PROCESSING:
|
142 |
+
newState =
|
143 |
+
state.status !== BEFORE_PROCESSING
|
144 |
+
? {
|
145 |
+
...state,
|
146 |
+
status: BEFORE_PROCESSING,
|
147 |
+
hasError: false,
|
148 |
+
}
|
149 |
+
: state;
|
150 |
+
break;
|
151 |
+
case SET_AFTER_PROCESSING:
|
152 |
+
newState =
|
153 |
+
state.status !== AFTER_PROCESSING
|
154 |
+
? {
|
155 |
+
...state,
|
156 |
+
status: AFTER_PROCESSING,
|
157 |
+
}
|
158 |
+
: state;
|
159 |
+
break;
|
160 |
+
case SET_HAS_ERROR:
|
161 |
+
newState = state.hasError
|
162 |
+
? state
|
163 |
+
: {
|
164 |
+
...state,
|
165 |
+
hasError: true,
|
166 |
+
};
|
167 |
+
newState =
|
168 |
+
state.status === PROCESSING ||
|
169 |
+
state.status === BEFORE_PROCESSING
|
170 |
+
? {
|
171 |
+
...newState,
|
172 |
+
status: IDLE,
|
173 |
+
}
|
174 |
+
: newState;
|
175 |
+
break;
|
176 |
+
case SET_NO_ERROR:
|
177 |
+
newState = state.hasError
|
178 |
+
? {
|
179 |
+
...state,
|
180 |
+
hasError: false,
|
181 |
+
}
|
182 |
+
: state;
|
183 |
+
break;
|
184 |
+
case INCREMENT_CALCULATING:
|
185 |
+
newState = {
|
186 |
+
...state,
|
187 |
+
calculatingCount: state.calculatingCount + 1,
|
188 |
+
};
|
189 |
+
break;
|
190 |
+
case DECREMENT_CALCULATING:
|
191 |
+
newState = {
|
192 |
+
...state,
|
193 |
+
calculatingCount: Math.max( 0, state.calculatingCount - 1 ),
|
194 |
+
};
|
195 |
+
break;
|
196 |
+
case SET_CUSTOMER_ID:
|
197 |
+
newState = {
|
198 |
+
...state,
|
199 |
+
customerId,
|
200 |
+
};
|
201 |
+
break;
|
202 |
+
case SET_ORDER_ID:
|
203 |
+
newState = {
|
204 |
+
...state,
|
205 |
+
orderId,
|
206 |
+
};
|
207 |
+
break;
|
208 |
+
case SET_SHOULD_CREATE_ACCOUNT:
|
209 |
+
if ( shouldCreateAccount !== state.shouldCreateAccount ) {
|
210 |
+
newState = {
|
211 |
+
...state,
|
212 |
+
shouldCreateAccount,
|
213 |
+
};
|
214 |
+
}
|
215 |
+
break;
|
216 |
+
case SET_ORDER_NOTES:
|
217 |
+
if ( state.orderNotes !== orderNotes ) {
|
218 |
+
newState = {
|
219 |
+
...state,
|
220 |
+
orderNotes,
|
221 |
+
};
|
222 |
+
}
|
223 |
+
break;
|
224 |
+
}
|
225 |
+
// automatically update state to idle from pristine as soon as it
|
226 |
+
// initially changes.
|
227 |
+
if (
|
228 |
+
newState !== state &&
|
229 |
+
type !== SET_PRISTINE &&
|
230 |
+
newState.status === PRISTINE
|
231 |
+
) {
|
232 |
+
newState.status = IDLE;
|
233 |
+
}
|
234 |
+
return newState;
|
235 |
+
};
|
assets/js/base/context/providers/cart-checkout/checkout-state/reducer.ts
DELETED
@@ -1,197 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Internal dependencies
|
3 |
-
*/
|
4 |
-
import { DEFAULT_STATE, STATUS } from './constants';
|
5 |
-
import { ActionType, ACTION } from './actions';
|
6 |
-
import type { CheckoutStateContextState, PaymentResultDataType } from './types';
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Reducer for the checkout state
|
10 |
-
*
|
11 |
-
* @param {Object} state Current state.
|
12 |
-
* @param {Object} action Incoming action object.
|
13 |
-
* @param {string} action.url URL passed in.
|
14 |
-
* @param {string} action.type Type of action.
|
15 |
-
* @param {string} action.customerId Customer ID.
|
16 |
-
* @param {string} action.orderId Order ID.
|
17 |
-
* @param {Array} action.orderNotes Order notes.
|
18 |
-
* @param {boolean} action.shouldCreateAccount True if shopper has requested a user account (sign-up checkbox).
|
19 |
-
* @param {Object} action.data Other action payload.
|
20 |
-
*/
|
21 |
-
export const reducer = (
|
22 |
-
state = DEFAULT_STATE,
|
23 |
-
{
|
24 |
-
url,
|
25 |
-
type,
|
26 |
-
customerId,
|
27 |
-
orderId,
|
28 |
-
orderNotes,
|
29 |
-
shouldCreateAccount,
|
30 |
-
data,
|
31 |
-
}: ActionType
|
32 |
-
): CheckoutStateContextState => {
|
33 |
-
let newState = state;
|
34 |
-
switch ( type ) {
|
35 |
-
case ACTION.SET_PRISTINE:
|
36 |
-
newState = DEFAULT_STATE;
|
37 |
-
break;
|
38 |
-
case ACTION.SET_IDLE:
|
39 |
-
newState =
|
40 |
-
state.status !== STATUS.IDLE
|
41 |
-
? {
|
42 |
-
...state,
|
43 |
-
status: STATUS.IDLE,
|
44 |
-
}
|
45 |
-
: state;
|
46 |
-
break;
|
47 |
-
case ACTION.SET_REDIRECT_URL:
|
48 |
-
newState =
|
49 |
-
url !== undefined && url !== state.redirectUrl
|
50 |
-
? {
|
51 |
-
...state,
|
52 |
-
redirectUrl: url,
|
53 |
-
}
|
54 |
-
: state;
|
55 |
-
break;
|
56 |
-
case ACTION.SET_PROCESSING_RESPONSE:
|
57 |
-
newState = {
|
58 |
-
...state,
|
59 |
-
processingResponse: data as PaymentResultDataType,
|
60 |
-
};
|
61 |
-
break;
|
62 |
-
|
63 |
-
case ACTION.SET_COMPLETE:
|
64 |
-
newState =
|
65 |
-
state.status !== STATUS.COMPLETE
|
66 |
-
? {
|
67 |
-
...state,
|
68 |
-
status: STATUS.COMPLETE,
|
69 |
-
// @todo Investigate why redirectURL could be non-truthy and whether this would cause a bug if multiple gateways were used for payment e.g. 1st set the redirect URL but failed, and then the 2nd did not provide a redirect URL and succeeded.
|
70 |
-
redirectUrl:
|
71 |
-
data !== undefined &&
|
72 |
-
typeof data.redirectUrl === 'string' &&
|
73 |
-
data.redirectUrl
|
74 |
-
? data.redirectUrl
|
75 |
-
: state.redirectUrl,
|
76 |
-
}
|
77 |
-
: state;
|
78 |
-
break;
|
79 |
-
case ACTION.SET_PROCESSING:
|
80 |
-
newState =
|
81 |
-
state.status !== STATUS.PROCESSING
|
82 |
-
? {
|
83 |
-
...state,
|
84 |
-
status: STATUS.PROCESSING,
|
85 |
-
hasError: false,
|
86 |
-
}
|
87 |
-
: state;
|
88 |
-
// clear any error state.
|
89 |
-
newState =
|
90 |
-
newState.hasError === false
|
91 |
-
? newState
|
92 |
-
: { ...newState, hasError: false };
|
93 |
-
break;
|
94 |
-
case ACTION.SET_BEFORE_PROCESSING:
|
95 |
-
newState =
|
96 |
-
state.status !== STATUS.BEFORE_PROCESSING
|
97 |
-
? {
|
98 |
-
...state,
|
99 |
-
status: STATUS.BEFORE_PROCESSING,
|
100 |
-
hasError: false,
|
101 |
-
}
|
102 |
-
: state;
|
103 |
-
break;
|
104 |
-
case ACTION.SET_AFTER_PROCESSING:
|
105 |
-
newState =
|
106 |
-
state.status !== STATUS.AFTER_PROCESSING
|
107 |
-
? {
|
108 |
-
...state,
|
109 |
-
status: STATUS.AFTER_PROCESSING,
|
110 |
-
}
|
111 |
-
: state;
|
112 |
-
break;
|
113 |
-
case ACTION.SET_HAS_ERROR:
|
114 |
-
newState = state.hasError
|
115 |
-
? state
|
116 |
-
: {
|
117 |
-
...state,
|
118 |
-
hasError: true,
|
119 |
-
};
|
120 |
-
newState =
|
121 |
-
state.status === STATUS.PROCESSING ||
|
122 |
-
state.status === STATUS.BEFORE_PROCESSING
|
123 |
-
? {
|
124 |
-
...newState,
|
125 |
-
status: STATUS.IDLE,
|
126 |
-
}
|
127 |
-
: newState;
|
128 |
-
break;
|
129 |
-
case ACTION.SET_NO_ERROR:
|
130 |
-
newState = state.hasError
|
131 |
-
? {
|
132 |
-
...state,
|
133 |
-
hasError: false,
|
134 |
-
}
|
135 |
-
: state;
|
136 |
-
break;
|
137 |
-
case ACTION.INCREMENT_CALCULATING:
|
138 |
-
newState = {
|
139 |
-
...state,
|
140 |
-
calculatingCount: state.calculatingCount + 1,
|
141 |
-
};
|
142 |
-
break;
|
143 |
-
case ACTION.DECREMENT_CALCULATING:
|
144 |
-
newState = {
|
145 |
-
...state,
|
146 |
-
calculatingCount: Math.max( 0, state.calculatingCount - 1 ),
|
147 |
-
};
|
148 |
-
break;
|
149 |
-
case ACTION.SET_CUSTOMER_ID:
|
150 |
-
newState =
|
151 |
-
customerId !== undefined
|
152 |
-
? {
|
153 |
-
...state,
|
154 |
-
customerId,
|
155 |
-
}
|
156 |
-
: state;
|
157 |
-
break;
|
158 |
-
case ACTION.SET_ORDER_ID:
|
159 |
-
newState =
|
160 |
-
orderId !== undefined
|
161 |
-
? {
|
162 |
-
...state,
|
163 |
-
orderId,
|
164 |
-
}
|
165 |
-
: state;
|
166 |
-
break;
|
167 |
-
case ACTION.SET_SHOULD_CREATE_ACCOUNT:
|
168 |
-
if (
|
169 |
-
shouldCreateAccount !== undefined &&
|
170 |
-
shouldCreateAccount !== state.shouldCreateAccount
|
171 |
-
) {
|
172 |
-
newState = {
|
173 |
-
...state,
|
174 |
-
shouldCreateAccount,
|
175 |
-
};
|
176 |
-
}
|
177 |
-
break;
|
178 |
-
case ACTION.SET_ORDER_NOTES:
|
179 |
-
if ( orderNotes !== undefined && state.orderNotes !== orderNotes ) {
|
180 |
-
newState = {
|
181 |
-
...state,
|
182 |
-
orderNotes,
|
183 |
-
};
|
184 |
-
}
|
185 |
-
break;
|
186 |
-
}
|
187 |
-
// automatically update state to idle from pristine as soon as it
|
188 |
-
// initially changes.
|
189 |
-
if (
|
190 |
-
newState !== state &&
|
191 |
-
type !== ACTION.SET_PRISTINE &&
|
192 |
-
newState.status === STATUS.PRISTINE
|
193 |
-
) {
|
194 |
-
newState.status = STATUS.IDLE;
|
195 |
-
}
|
196 |
-
return newState;
|
197 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/cart-checkout/checkout-state/types.ts
DELETED
@@ -1,103 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Internal dependencies
|
3 |
-
*/
|
4 |
-
import { STATUS } from './constants';
|
5 |
-
import type { emitterCallback } from '../../../event-emit';
|
6 |
-
|
7 |
-
export interface CheckoutResponseError {
|
8 |
-
code: string;
|
9 |
-
message: string;
|
10 |
-
data: {
|
11 |
-
status: number;
|
12 |
-
};
|
13 |
-
}
|
14 |
-
|
15 |
-
export interface CheckoutResponseSuccess {
|
16 |
-
// eslint-disable-next-line camelcase
|
17 |
-
payment_result: {
|
18 |
-
// eslint-disable-next-line camelcase
|
19 |
-
payment_status: 'success' | 'failure' | 'pending' | 'error';
|
20 |
-
// eslint-disable-next-line camelcase
|
21 |
-
payment_details: Record< string, string > | Record< string, never >;
|
22 |
-
// eslint-disable-next-line camelcase
|
23 |
-
redirect_url: string;
|
24 |
-
};
|
25 |
-
}
|
26 |
-
|
27 |
-
export type CheckoutResponse = CheckoutResponseSuccess | CheckoutResponseError;
|
28 |
-
|
29 |
-
export interface PaymentResultDataType {
|
30 |
-
message: string;
|
31 |
-
paymentStatus: string;
|
32 |
-
paymentDetails: Record< string, string > | Record< string, never >;
|
33 |
-
redirectUrl: string;
|
34 |
-
}
|
35 |
-
|
36 |
-
export type CheckoutStateContextState = {
|
37 |
-
redirectUrl: string;
|
38 |
-
status: STATUS;
|
39 |
-
hasError: boolean;
|
40 |
-
calculatingCount: number;
|
41 |
-
orderId: number;
|
42 |
-
orderNotes: string;
|
43 |
-
customerId: number;
|
44 |
-
shouldCreateAccount: boolean;
|
45 |
-
processingResponse: PaymentResultDataType | null;
|
46 |
-
};
|
47 |
-
|
48 |
-
export type CheckoutStateDispatchActions = {
|
49 |
-
resetCheckout: () => void;
|
50 |
-
setRedirectUrl: ( url: string ) => void;
|
51 |
-
setHasError: ( hasError: boolean ) => void;
|
52 |
-
setAfterProcessing: ( response: CheckoutResponse ) => void;
|
53 |
-
incrementCalculating: () => void;
|
54 |
-
decrementCalculating: () => void;
|
55 |
-
setCustomerId: ( id: number ) => void;
|
56 |
-
setOrderId: ( id: number ) => void;
|
57 |
-
setOrderNotes: ( orderNotes: string ) => void;
|
58 |
-
};
|
59 |
-
|
60 |
-
export type CheckoutStateContextType = {
|
61 |
-
// Dispatch actions to the checkout provider.
|
62 |
-
dispatchActions: CheckoutStateDispatchActions;
|
63 |
-
// Submits the checkout and begins processing.
|
64 |
-
onSubmit: () => void;
|
65 |
-
// True when checkout is complete and ready for redirect.
|
66 |
-
isComplete: boolean;
|
67 |
-
// True when the checkout state has changed and checkout has no activity.
|
68 |
-
isIdle: boolean;
|
69 |
-
// True when something in the checkout is resulting in totals being calculated.
|
70 |
-
isCalculating: boolean;
|
71 |
-
// True when checkout has been submitted and is being processed. Note, payment related processing happens during this state. When payment status is success, processing happens on the server.
|
72 |
-
isProcessing: boolean;
|
73 |
-
// True during any observers executing logic before checkout processing (eg. validation).
|
74 |
-
isBeforeProcessing: boolean;
|
75 |
-
// True when checkout status is AFTER_PROCESSING.
|
76 |
-
isAfterProcessing: boolean;
|
77 |
-
// True when the checkout is in an error state. Whatever caused the error (validation/payment method) will likely have triggered a notice.
|
78 |
-
hasError: boolean;
|
79 |
-
// This is the url that checkout will redirect to when it's ready.
|
80 |
-
redirectUrl: string;
|
81 |
-
// This is the ID for the draft order if one exists.
|
82 |
-
orderId: number;
|
83 |
-
// Order notes introduced by the user in the checkout form.
|
84 |
-
orderNotes: string;
|
85 |
-
// This is the ID of the customer the draft order belongs to.
|
86 |
-
customerId: number;
|
87 |
-
// Used to register a callback that will fire after checkout has been processed and there are no errors.
|
88 |
-
onCheckoutAfterProcessingWithSuccess: ReturnType< typeof emitterCallback >;
|
89 |
-
// Used to register a callback that will fire when the checkout has been processed and has an error.
|
90 |
-
onCheckoutAfterProcessingWithError: ReturnType< typeof emitterCallback >;
|
91 |
-
// Deprecated in favour of onCheckoutValidationBeforeProcessing.
|
92 |
-
onCheckoutBeforeProcessing: ReturnType< typeof emitterCallback >;
|
93 |
-
// Used to register a callback that will fire when the checkout has been submitted before being sent off to the server.
|
94 |
-
onCheckoutValidationBeforeProcessing: ReturnType< typeof emitterCallback >;
|
95 |
-
// True when the checkout has a draft order from the API.
|
96 |
-
hasOrder: boolean;
|
97 |
-
// When true, means the provider is providing data for the cart.
|
98 |
-
isCart: boolean;
|
99 |
-
// Should a user account be created?
|
100 |
-
shouldCreateAccount: boolean;
|
101 |
-
// Set if user account should be created.
|
102 |
-
setShouldCreateAccount: ( shouldCreateAccount: boolean ) => void;
|
103 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/cart-checkout/checkout-state/utils.ts
DELETED
@@ -1,63 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { __ } from '@wordpress/i18n';
|
5 |
-
import { decodeEntities } from '@wordpress/html-entities';
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Internal dependencies
|
9 |
-
*/
|
10 |
-
import type { PaymentResultDataType, CheckoutResponse } from './types';
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Prepares the payment_result data from the server checkout endpoint response.
|
14 |
-
*/
|
15 |
-
export const getPaymentResultFromCheckoutResponse = (
|
16 |
-
response: CheckoutResponse
|
17 |
-
): PaymentResultDataType => {
|
18 |
-
const paymentResult = {
|
19 |
-
message: '',
|
20 |
-
paymentStatus: '',
|
21 |
-
redirectUrl: '',
|
22 |
-
paymentDetails: {},
|
23 |
-
} as PaymentResultDataType;
|
24 |
-
|
25 |
-
// payment_result is present in successful responses.
|
26 |
-
if ( 'payment_result' in response ) {
|
27 |
-
paymentResult.paymentStatus = response.payment_result.payment_status;
|
28 |
-
paymentResult.redirectUrl = response.payment_result.redirect_url;
|
29 |
-
|
30 |
-
if (
|
31 |
-
response.payment_result.hasOwnProperty( 'payment_details' ) &&
|
32 |
-
Array.isArray( response.payment_result.payment_details )
|
33 |
-
) {
|
34 |
-
response.payment_result.payment_details.forEach(
|
35 |
-
( { key, value }: { key: string; value: string } ) => {
|
36 |
-
paymentResult.paymentDetails[ key ] = decodeEntities(
|
37 |
-
value
|
38 |
-
);
|
39 |
-
}
|
40 |
-
);
|
41 |
-
}
|
42 |
-
}
|
43 |
-
|
44 |
-
// message is present in error responses.
|
45 |
-
if ( 'message' in response ) {
|
46 |
-
paymentResult.message = decodeEntities( response.message );
|
47 |
-
}
|
48 |
-
|
49 |
-
// If there was an error code but no message, set a default message.
|
50 |
-
if (
|
51 |
-
! paymentResult.message &&
|
52 |
-
'data' in response &&
|
53 |
-
'status' in response.data &&
|
54 |
-
response.data.status > 299
|
55 |
-
) {
|
56 |
-
paymentResult.message = __(
|
57 |
-
'Something went wrong. Please contact us to get assistance.',
|
58 |
-
'woo-gutenberg-products-block'
|
59 |
-
);
|
60 |
-
}
|
61 |
-
|
62 |
-
return paymentResult;
|
63 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/cart-checkout/checkout/processor/index.js
CHANGED
@@ -52,7 +52,6 @@ const CheckoutProcessor = () => {
|
|
52 |
const { cartNeedsPayment, receiveCart } = useStoreCart();
|
53 |
const {
|
54 |
activePaymentMethod,
|
55 |
-
isExpressPaymentMethodActive,
|
56 |
currentStatus: currentPaymentStatus,
|
57 |
paymentMethodData,
|
58 |
expressPaymentMethods,
|
@@ -64,6 +63,9 @@ const CheckoutProcessor = () => {
|
|
64 |
const currentShippingAddress = useRef( shippingAddress );
|
65 |
const currentRedirectUrl = useRef( redirectUrl );
|
66 |
const [ isProcessingOrder, setIsProcessingOrder ] = useState( false );
|
|
|
|
|
|
|
67 |
|
68 |
const paymentMethodId = useMemo( () => {
|
69 |
const merged = { ...expressPaymentMethods, ...paymentMethods };
|
@@ -71,20 +73,20 @@ const CheckoutProcessor = () => {
|
|
71 |
}, [ activePaymentMethod, expressPaymentMethods, paymentMethods ] );
|
72 |
|
73 |
const checkoutWillHaveError =
|
74 |
-
( hasValidationErrors && !
|
75 |
currentPaymentStatus.hasError ||
|
76 |
shippingErrorStatus.hasError;
|
77 |
|
78 |
// If express payment method is active, let's suppress notices
|
79 |
useEffect( () => {
|
80 |
-
setIsSuppressed(
|
81 |
-
}, [
|
82 |
|
83 |
useEffect( () => {
|
84 |
if (
|
85 |
checkoutWillHaveError !== checkoutHasError &&
|
86 |
( checkoutIsProcessing || checkoutIsBeforeProcessing ) &&
|
87 |
-
!
|
88 |
) {
|
89 |
dispatchActions.setHasError( checkoutWillHaveError );
|
90 |
}
|
@@ -93,7 +95,7 @@ const CheckoutProcessor = () => {
|
|
93 |
checkoutHasError,
|
94 |
checkoutIsProcessing,
|
95 |
checkoutIsBeforeProcessing,
|
96 |
-
|
97 |
dispatchActions,
|
98 |
] );
|
99 |
|
@@ -144,21 +146,21 @@ const CheckoutProcessor = () => {
|
|
144 |
|
145 |
useEffect( () => {
|
146 |
let unsubscribeProcessing;
|
147 |
-
if ( !
|
148 |
unsubscribeProcessing = onCheckoutValidationBeforeProcessing(
|
149 |
checkValidation,
|
150 |
0
|
151 |
);
|
152 |
}
|
153 |
return () => {
|
154 |
-
if ( !
|
155 |
unsubscribeProcessing();
|
156 |
}
|
157 |
};
|
158 |
}, [
|
159 |
onCheckoutValidationBeforeProcessing,
|
160 |
checkValidation,
|
161 |
-
|
162 |
] );
|
163 |
|
164 |
const processOrder = useCallback( () => {
|
52 |
const { cartNeedsPayment, receiveCart } = useStoreCart();
|
53 |
const {
|
54 |
activePaymentMethod,
|
|
|
55 |
currentStatus: currentPaymentStatus,
|
56 |
paymentMethodData,
|
57 |
expressPaymentMethods,
|
63 |
const currentShippingAddress = useRef( shippingAddress );
|
64 |
const currentRedirectUrl = useRef( redirectUrl );
|
65 |
const [ isProcessingOrder, setIsProcessingOrder ] = useState( false );
|
66 |
+
const expressPaymentMethodActive = Object.keys(
|
67 |
+
expressPaymentMethods
|
68 |
+
).includes( activePaymentMethod );
|
69 |
|
70 |
const paymentMethodId = useMemo( () => {
|
71 |
const merged = { ...expressPaymentMethods, ...paymentMethods };
|
73 |
}, [ activePaymentMethod, expressPaymentMethods, paymentMethods ] );
|
74 |
|
75 |
const checkoutWillHaveError =
|
76 |
+
( hasValidationErrors && ! expressPaymentMethodActive ) ||
|
77 |
currentPaymentStatus.hasError ||
|
78 |
shippingErrorStatus.hasError;
|
79 |
|
80 |
// If express payment method is active, let's suppress notices
|
81 |
useEffect( () => {
|
82 |
+
setIsSuppressed( expressPaymentMethodActive );
|
83 |
+
}, [ expressPaymentMethodActive, setIsSuppressed ] );
|
84 |
|
85 |
useEffect( () => {
|
86 |
if (
|
87 |
checkoutWillHaveError !== checkoutHasError &&
|
88 |
( checkoutIsProcessing || checkoutIsBeforeProcessing ) &&
|
89 |
+
! expressPaymentMethodActive
|
90 |
) {
|
91 |
dispatchActions.setHasError( checkoutWillHaveError );
|
92 |
}
|
95 |
checkoutHasError,
|
96 |
checkoutIsProcessing,
|
97 |
checkoutIsBeforeProcessing,
|
98 |
+
expressPaymentMethodActive,
|
99 |
dispatchActions,
|
100 |
] );
|
101 |
|
146 |
|
147 |
useEffect( () => {
|
148 |
let unsubscribeProcessing;
|
149 |
+
if ( ! expressPaymentMethodActive ) {
|
150 |
unsubscribeProcessing = onCheckoutValidationBeforeProcessing(
|
151 |
checkValidation,
|
152 |
0
|
153 |
);
|
154 |
}
|
155 |
return () => {
|
156 |
+
if ( ! expressPaymentMethodActive ) {
|
157 |
unsubscribeProcessing();
|
158 |
}
|
159 |
};
|
160 |
}, [
|
161 |
onCheckoutValidationBeforeProcessing,
|
162 |
checkValidation,
|
163 |
+
expressPaymentMethodActive,
|
164 |
] );
|
165 |
|
166 |
const processOrder = useCallback( () => {
|
assets/js/base/context/providers/cart-checkout/payment-methods/actions.ts
CHANGED
@@ -2,77 +2,106 @@
|
|
2 |
* Internal dependencies
|
3 |
*/
|
4 |
import { ACTION, STATUS } from './constants';
|
5 |
-
import type { PaymentMethods
|
6 |
|
7 |
export interface ActionType {
|
8 |
type: ACTION | STATUS;
|
9 |
errorMessage?: string;
|
10 |
paymentMethodData?: Record< string, unknown >;
|
11 |
-
paymentMethods?: PaymentMethods
|
12 |
shouldSavePaymentMethod?: boolean;
|
13 |
}
|
14 |
|
15 |
/**
|
16 |
-
*
|
17 |
*/
|
18 |
-
export const
|
19 |
-
statusOnly: ( type: STATUS ): { type: STATUS } => ( { type } as const ),
|
20 |
-
error: ( errorMessage: string ): ActionType =>
|
21 |
-
( {
|
22 |
-
type: STATUS.ERROR,
|
23 |
-
errorMessage,
|
24 |
-
} as const ),
|
25 |
-
failed: ( {
|
26 |
-
errorMessage,
|
27 |
-
paymentMethodData,
|
28 |
-
}: {
|
29 |
-
errorMessage: string;
|
30 |
-
paymentMethodData: Record< string, unknown >;
|
31 |
-
} ): ActionType =>
|
32 |
-
( {
|
33 |
-
type: STATUS.FAILED,
|
34 |
-
errorMessage,
|
35 |
-
paymentMethodData,
|
36 |
-
} as const ),
|
37 |
-
success: ( {
|
38 |
-
paymentMethodData,
|
39 |
-
}: {
|
40 |
-
paymentMethodData?: Record< string, unknown >;
|
41 |
-
} ): ActionType =>
|
42 |
-
( {
|
43 |
-
type: STATUS.SUCCESS,
|
44 |
-
paymentMethodData,
|
45 |
-
} as const ),
|
46 |
-
started: ( {
|
47 |
-
paymentMethodData,
|
48 |
-
}: {
|
49 |
-
paymentMethodData?: Record< string, unknown >;
|
50 |
-
} ): ActionType =>
|
51 |
-
( {
|
52 |
-
type: STATUS.STARTED,
|
53 |
-
paymentMethodData,
|
54 |
-
} as const ),
|
55 |
-
setRegisteredPaymentMethods: (
|
56 |
-
paymentMethods: PaymentMethods
|
57 |
-
): ActionType =>
|
58 |
-
( {
|
59 |
-
type: ACTION.SET_REGISTERED_PAYMENT_METHODS,
|
60 |
-
paymentMethods,
|
61 |
-
} as const ),
|
62 |
-
setRegisteredExpressPaymentMethods: (
|
63 |
-
paymentMethods: ExpressPaymentMethods
|
64 |
-
): ActionType =>
|
65 |
-
( {
|
66 |
-
type: ACTION.SET_REGISTERED_EXPRESS_PAYMENT_METHODS,
|
67 |
-
paymentMethods,
|
68 |
-
} as const ),
|
69 |
-
setShouldSavePaymentMethod: (
|
70 |
-
shouldSavePaymentMethod: boolean
|
71 |
-
): ActionType =>
|
72 |
-
( {
|
73 |
-
type: ACTION.SET_SHOULD_SAVE_PAYMENT_METHOD,
|
74 |
-
shouldSavePaymentMethod,
|
75 |
-
} as const ),
|
76 |
-
};
|
77 |
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
* Internal dependencies
|
3 |
*/
|
4 |
import { ACTION, STATUS } from './constants';
|
5 |
+
import type { PaymentMethods } from './types';
|
6 |
|
7 |
export interface ActionType {
|
8 |
type: ACTION | STATUS;
|
9 |
errorMessage?: string;
|
10 |
paymentMethodData?: Record< string, unknown >;
|
11 |
+
paymentMethods?: PaymentMethods;
|
12 |
shouldSavePaymentMethod?: boolean;
|
13 |
}
|
14 |
|
15 |
/**
|
16 |
+
* Used to dispatch a status update only for the given type.
|
17 |
*/
|
18 |
+
export const statusOnly = ( type: STATUS ): { type: STATUS } => ( { type } );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
+
/**
|
21 |
+
* Used to dispatch an error message along with setting current payment status to ERROR.
|
22 |
+
*
|
23 |
+
* @param {string} errorMessage Whatever error message accompanying the error condition.
|
24 |
+
* @return {ActionType} The action object.
|
25 |
+
*/
|
26 |
+
export const error = ( errorMessage: string ): ActionType => ( {
|
27 |
+
type: STATUS.ERROR,
|
28 |
+
errorMessage,
|
29 |
+
} );
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Used to dispatch a payment failed status update.
|
33 |
+
*/
|
34 |
+
export const failed = ( {
|
35 |
+
errorMessage,
|
36 |
+
paymentMethodData,
|
37 |
+
}: {
|
38 |
+
errorMessage: string;
|
39 |
+
paymentMethodData: Record< string, unknown >;
|
40 |
+
} ): ActionType => ( {
|
41 |
+
type: STATUS.FAILED,
|
42 |
+
errorMessage,
|
43 |
+
paymentMethodData,
|
44 |
+
} );
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Used to dispatch a payment success status update.
|
48 |
+
*/
|
49 |
+
export const success = ( {
|
50 |
+
paymentMethodData,
|
51 |
+
}: {
|
52 |
+
paymentMethodData?: Record< string, unknown >;
|
53 |
+
} ): ActionType => ( {
|
54 |
+
type: STATUS.SUCCESS,
|
55 |
+
paymentMethodData,
|
56 |
+
} );
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Used to dispatch a payment started status update.
|
60 |
+
*/
|
61 |
+
export const started = ( {
|
62 |
+
paymentMethodData,
|
63 |
+
}: {
|
64 |
+
paymentMethodData?: Record< string, unknown >;
|
65 |
+
} ): ActionType => ( {
|
66 |
+
type: STATUS.STARTED,
|
67 |
+
paymentMethodData,
|
68 |
+
} );
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Used to dispatch an action for updating a registered payment method in the state.
|
72 |
+
*
|
73 |
+
* @param {Object} paymentMethods Payment methods to register.
|
74 |
+
* @return {Object} An action object.
|
75 |
+
*/
|
76 |
+
export const setRegisteredPaymentMethods = (
|
77 |
+
paymentMethods: PaymentMethods
|
78 |
+
): ActionType => ( {
|
79 |
+
type: ACTION.SET_REGISTERED_PAYMENT_METHODS,
|
80 |
+
paymentMethods,
|
81 |
+
} );
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Used to dispatch an action for updating a registered express payment method in the state.
|
85 |
+
*
|
86 |
+
* @param {Object} paymentMethods Payment methods to register.
|
87 |
+
* @return {Object} An action object.
|
88 |
+
*/
|
89 |
+
export const setRegisteredExpressPaymentMethods = (
|
90 |
+
paymentMethods: PaymentMethods
|
91 |
+
): ActionType => ( {
|
92 |
+
type: ACTION.SET_REGISTERED_EXPRESS_PAYMENT_METHODS,
|
93 |
+
paymentMethods,
|
94 |
+
} );
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Set a flag indicating that the payment method info (e.g. a payment card) should be saved to user account after order completion.
|
98 |
+
*
|
99 |
+
* @param {boolean} shouldSavePaymentMethod
|
100 |
+
* @return {Object} An action object.
|
101 |
+
*/
|
102 |
+
export const setShouldSavePaymentMethod = (
|
103 |
+
shouldSavePaymentMethod: boolean
|
104 |
+
): ActionType => ( {
|
105 |
+
type: ACTION.SET_SHOULD_SAVE_PAYMENT_METHOD,
|
106 |
+
shouldSavePaymentMethod,
|
107 |
+
} );
|
assets/js/base/context/providers/cart-checkout/payment-methods/constants.ts
CHANGED
@@ -37,7 +37,6 @@ export const DEFAULT_PAYMENT_DATA_CONTEXT_STATE: PaymentMethodDataContextState =
|
|
37 |
|
38 |
export const DEFAULT_PAYMENT_METHOD_DATA: PaymentMethodDataContextType = {
|
39 |
setPaymentStatus: () => ( {
|
40 |
-
pristine: () => void null,
|
41 |
started: () => void null,
|
42 |
processing: () => void null,
|
43 |
completed: () => void null,
|
@@ -55,7 +54,6 @@ export const DEFAULT_PAYMENT_METHOD_DATA: PaymentMethodDataContextType = {
|
|
55 |
hasError: false,
|
56 |
hasFailed: false,
|
57 |
isSuccessful: false,
|
58 |
-
isDoingExpressPayment: false,
|
59 |
},
|
60 |
paymentStatuses: STATUS,
|
61 |
paymentMethodData: {},
|
@@ -71,7 +69,6 @@ export const DEFAULT_PAYMENT_METHOD_DATA: PaymentMethodDataContextType = {
|
|
71 |
expressPaymentMethodsInitialized: false,
|
72 |
onPaymentProcessing: () => () => () => void null,
|
73 |
setExpressPaymentError: () => void null,
|
74 |
-
isExpressPaymentMethodActive: false,
|
75 |
setShouldSavePayment: () => void null,
|
76 |
shouldSavePayment: false,
|
77 |
};
|
37 |
|
38 |
export const DEFAULT_PAYMENT_METHOD_DATA: PaymentMethodDataContextType = {
|
39 |
setPaymentStatus: () => ( {
|
|
|
40 |
started: () => void null,
|
41 |
processing: () => void null,
|
42 |
completed: () => void null,
|
54 |
hasError: false,
|
55 |
hasFailed: false,
|
56 |
isSuccessful: false,
|
|
|
57 |
},
|
58 |
paymentStatuses: STATUS,
|
59 |
paymentMethodData: {},
|
69 |
expressPaymentMethodsInitialized: false,
|
70 |
onPaymentProcessing: () => () => () => void null,
|
71 |
setExpressPaymentError: () => void null,
|
|
|
72 |
setShouldSavePayment: () => void null,
|
73 |
shouldSavePayment: false,
|
74 |
};
|
assets/js/base/context/providers/cart-checkout/payment-methods/payment-method-data-context.tsx
CHANGED
@@ -4,33 +4,40 @@
|
|
4 |
import {
|
5 |
createContext,
|
6 |
useContext,
|
|
|
7 |
useReducer,
|
8 |
useCallback,
|
9 |
-
useRef,
|
10 |
useEffect,
|
|
|
11 |
useMemo,
|
12 |
} from '@wordpress/element';
|
13 |
|
14 |
/**
|
15 |
* Internal dependencies
|
16 |
*/
|
17 |
-
import type {
|
18 |
-
CustomerPaymentMethods,
|
19 |
-
PaymentMethodDataContextType,
|
20 |
-
} from './types';
|
21 |
import {
|
22 |
STATUS,
|
23 |
DEFAULT_PAYMENT_DATA_CONTEXT_STATE,
|
24 |
DEFAULT_PAYMENT_METHOD_DATA,
|
25 |
} from './constants';
|
26 |
import reducer from './reducer';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
import {
|
28 |
usePaymentMethods,
|
29 |
useExpressPaymentMethods,
|
30 |
} from './use-payment-method-registration';
|
31 |
-
import {
|
32 |
-
import { useActivePaymentMethod } from './use-active-payment-method';
|
33 |
import { useCheckoutContext } from '../checkout-state';
|
|
|
34 |
import { useEditorContext } from '../../editor-context';
|
35 |
import {
|
36 |
EMIT_TYPES,
|
@@ -39,10 +46,29 @@ import {
|
|
39 |
reducer as emitReducer,
|
40 |
} from './event-emit';
|
41 |
import { useValidationContext } from '../../validation';
|
|
|
42 |
import { useStoreNotices } from '../../../hooks/use-store-notices';
|
43 |
import { useEmitResponse } from '../../../hooks/use-emit-response';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
import { getCustomerPaymentMethods } from './utils';
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
const PaymentMethodDataContext = createContext( DEFAULT_PAYMENT_METHOD_DATA );
|
47 |
|
48 |
export const usePaymentMethodDataContext = (): PaymentMethodDataContextType => {
|
@@ -50,9 +76,11 @@ export const usePaymentMethodDataContext = (): PaymentMethodDataContextType => {
|
|
50 |
};
|
51 |
|
52 |
/**
|
53 |
-
* PaymentMethodDataProvider is automatically included in the
|
|
|
54 |
*
|
55 |
-
* This provides the api interface (via the context hook) for payment method
|
|
|
56 |
*
|
57 |
* @param {Object} props Incoming props for provider
|
58 |
* @param {Object} props.children The wrapped components in this provider.
|
@@ -62,6 +90,7 @@ export const PaymentMethodDataProvider = ( {
|
|
62 |
}: {
|
63 |
children: React.ReactChildren;
|
64 |
} ): JSX.Element => {
|
|
|
65 |
const {
|
66 |
isProcessing: checkoutIsProcessing,
|
67 |
isIdle: checkoutIsIdle,
|
@@ -69,46 +98,81 @@ export const PaymentMethodDataProvider = ( {
|
|
69 |
hasError: checkoutHasError,
|
70 |
} = useCheckoutContext();
|
71 |
const { isEditor, getPreviewData } = useEditorContext();
|
72 |
-
const { setValidationErrors } = useValidationContext();
|
73 |
-
const { addErrorNotice, removeNotice } = useStoreNotices();
|
74 |
const {
|
75 |
isSuccessResponse,
|
76 |
isErrorResponse,
|
77 |
isFailResponse,
|
78 |
noticeContexts,
|
79 |
} = useEmitResponse();
|
|
|
|
|
|
|
|
|
80 |
const [ observers, observerDispatch ] = useReducer( emitReducer, {} );
|
81 |
-
const
|
|
|
|
|
|
|
82 |
const currentObservers = useRef( observers );
|
|
|
83 |
|
84 |
// ensure observers are always current.
|
85 |
useEffect( () => {
|
86 |
currentObservers.current = observers;
|
87 |
}, [ observers ] );
|
88 |
|
89 |
-
const
|
90 |
-
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
);
|
93 |
-
const {
|
94 |
-
dispatchActions,
|
95 |
-
setPaymentStatus,
|
96 |
-
} = usePaymentMethodDataDispatchers( dispatch );
|
97 |
|
98 |
const paymentMethodsInitialized = usePaymentMethods(
|
99 |
-
|
100 |
);
|
101 |
|
102 |
const expressPaymentMethodsInitialized = useExpressPaymentMethods(
|
103 |
-
|
104 |
);
|
105 |
|
106 |
-
const {
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
|
|
|
|
|
|
112 |
|
113 |
const customerPaymentMethods = useMemo( (): CustomerPaymentMethods => {
|
114 |
if ( isEditor ) {
|
@@ -116,9 +180,13 @@ export const PaymentMethodDataProvider = ( {
|
|
116 |
'previewSavedPaymentMethods'
|
117 |
) as CustomerPaymentMethods;
|
118 |
}
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
|
|
122 |
}, [
|
123 |
isEditor,
|
124 |
getPreviewData,
|
@@ -143,63 +211,71 @@ export const PaymentMethodDataProvider = ( {
|
|
143 |
[ addErrorNotice, noticeContexts.EXPRESS_PAYMENTS, removeNotice ]
|
144 |
);
|
145 |
|
146 |
-
const isExpressPaymentMethodActive = Object.keys(
|
147 |
-
paymentData.expressPaymentMethods
|
148 |
-
).includes( activePaymentMethod );
|
149 |
-
|
150 |
const currentStatus = useMemo(
|
151 |
() => ( {
|
152 |
-
isPristine: paymentData.currentStatus ===
|
153 |
-
isStarted: paymentData.currentStatus ===
|
154 |
-
isProcessing: paymentData.currentStatus ===
|
155 |
-
isFinished: [
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
hasFailed: paymentData.currentStatus === STATUS.FAILED,
|
162 |
-
isSuccessful: paymentData.currentStatus === STATUS.SUCCESS,
|
163 |
-
isDoingExpressPayment:
|
164 |
-
paymentData.currentStatus !== STATUS.PRISTINE &&
|
165 |
-
isExpressPaymentMethodActive,
|
166 |
} ),
|
167 |
-
[ paymentData.currentStatus
|
168 |
);
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
|
204 |
// flip payment to processing if checkout processing is complete, there are no errors, and payment status is started.
|
205 |
useEffect( () => {
|
@@ -222,9 +298,9 @@ export const PaymentMethodDataProvider = ( {
|
|
222 |
// When checkout is returned to idle, set payment status to pristine but only if payment status is already not finished.
|
223 |
useEffect( () => {
|
224 |
if ( checkoutIsIdle && ! currentStatus.isSuccessful ) {
|
225 |
-
|
226 |
}
|
227 |
-
}, [ checkoutIsIdle, currentStatus.isSuccessful
|
228 |
|
229 |
// if checkout has an error and payment is not being made with a saved token and payment status is success, then let's sync payment status back to pristine.
|
230 |
useEffect( () => {
|
@@ -233,15 +309,48 @@ export const PaymentMethodDataProvider = ( {
|
|
233 |
currentStatus.isSuccessful &&
|
234 |
! paymentData.hasSavedToken
|
235 |
) {
|
236 |
-
|
237 |
}
|
238 |
}, [
|
239 |
checkoutHasError,
|
240 |
currentStatus.isSuccessful,
|
241 |
paymentData.hasSavedToken,
|
242 |
-
setPaymentStatus,
|
243 |
] );
|
244 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
useEffect( () => {
|
246 |
// Note: the nature of this event emitter is that it will bail on any
|
247 |
// observer that returns a response that !== true. However, this still
|
@@ -342,9 +451,8 @@ export const PaymentMethodDataProvider = ( {
|
|
342 |
paymentMethodsInitialized,
|
343 |
expressPaymentMethodsInitialized,
|
344 |
setExpressPaymentError,
|
345 |
-
isExpressPaymentMethodActive,
|
346 |
shouldSavePayment: paymentData.shouldSavePaymentMethod,
|
347 |
-
setShouldSavePayment
|
348 |
};
|
349 |
|
350 |
return (
|
4 |
import {
|
5 |
createContext,
|
6 |
useContext,
|
7 |
+
useState,
|
8 |
useReducer,
|
9 |
useCallback,
|
|
|
10 |
useEffect,
|
11 |
+
useRef,
|
12 |
useMemo,
|
13 |
} from '@wordpress/element';
|
14 |
|
15 |
/**
|
16 |
* Internal dependencies
|
17 |
*/
|
|
|
|
|
|
|
|
|
18 |
import {
|
19 |
STATUS,
|
20 |
DEFAULT_PAYMENT_DATA_CONTEXT_STATE,
|
21 |
DEFAULT_PAYMENT_METHOD_DATA,
|
22 |
} from './constants';
|
23 |
import reducer from './reducer';
|
24 |
+
import {
|
25 |
+
statusOnly,
|
26 |
+
error,
|
27 |
+
failed,
|
28 |
+
success,
|
29 |
+
started,
|
30 |
+
setRegisteredPaymentMethods,
|
31 |
+
setRegisteredExpressPaymentMethods,
|
32 |
+
setShouldSavePaymentMethod,
|
33 |
+
} from './actions';
|
34 |
import {
|
35 |
usePaymentMethods,
|
36 |
useExpressPaymentMethods,
|
37 |
} from './use-payment-method-registration';
|
38 |
+
import { useCustomerDataContext } from '../customer';
|
|
|
39 |
import { useCheckoutContext } from '../checkout-state';
|
40 |
+
import { useShippingDataContext } from '../shipping';
|
41 |
import { useEditorContext } from '../../editor-context';
|
42 |
import {
|
43 |
EMIT_TYPES,
|
46 |
reducer as emitReducer,
|
47 |
} from './event-emit';
|
48 |
import { useValidationContext } from '../../validation';
|
49 |
+
import { useStoreEvents } from '../../../hooks/use-store-events';
|
50 |
import { useStoreNotices } from '../../../hooks/use-store-notices';
|
51 |
import { useEmitResponse } from '../../../hooks/use-emit-response';
|
52 |
+
|
53 |
+
import type {
|
54 |
+
PaymentStatusDispatchers,
|
55 |
+
PaymentMethods,
|
56 |
+
CustomerPaymentMethods,
|
57 |
+
PaymentMethodsDispatcherType,
|
58 |
+
PaymentMethodDataContextType,
|
59 |
+
} from './types';
|
60 |
import { getCustomerPaymentMethods } from './utils';
|
61 |
|
62 |
+
const {
|
63 |
+
STARTED,
|
64 |
+
PROCESSING,
|
65 |
+
COMPLETE,
|
66 |
+
PRISTINE,
|
67 |
+
ERROR,
|
68 |
+
FAILED,
|
69 |
+
SUCCESS,
|
70 |
+
} = STATUS;
|
71 |
+
|
72 |
const PaymentMethodDataContext = createContext( DEFAULT_PAYMENT_METHOD_DATA );
|
73 |
|
74 |
export const usePaymentMethodDataContext = (): PaymentMethodDataContextType => {
|
76 |
};
|
77 |
|
78 |
/**
|
79 |
+
* PaymentMethodDataProvider is automatically included in the
|
80 |
+
* CheckoutDataProvider.
|
81 |
*
|
82 |
+
* This provides the api interface (via the context hook) for payment method
|
83 |
+
* status and data.
|
84 |
*
|
85 |
* @param {Object} props Incoming props for provider
|
86 |
* @param {Object} props.children The wrapped components in this provider.
|
90 |
}: {
|
91 |
children: React.ReactChildren;
|
92 |
} ): JSX.Element => {
|
93 |
+
const { setBillingData } = useCustomerDataContext();
|
94 |
const {
|
95 |
isProcessing: checkoutIsProcessing,
|
96 |
isIdle: checkoutIsIdle,
|
98 |
hasError: checkoutHasError,
|
99 |
} = useCheckoutContext();
|
100 |
const { isEditor, getPreviewData } = useEditorContext();
|
|
|
|
|
101 |
const {
|
102 |
isSuccessResponse,
|
103 |
isErrorResponse,
|
104 |
isFailResponse,
|
105 |
noticeContexts,
|
106 |
} = useEmitResponse();
|
107 |
+
const { dispatchCheckoutEvent } = useStoreEvents();
|
108 |
+
|
109 |
+
const [ activePaymentMethod, setActive ] = useState( '' ); // The active payment method - e.g. Stripe CC or BACS.
|
110 |
+
const [ activeSavedToken, setActiveSavedToken ] = useState( '' ); // If a previously saved payment method is active, the token for that method. For example, a for a Stripe CC card saved to user account.
|
111 |
const [ observers, observerDispatch ] = useReducer( emitReducer, {} );
|
112 |
+
const [ paymentData, dispatch ] = useReducer(
|
113 |
+
reducer,
|
114 |
+
DEFAULT_PAYMENT_DATA_CONTEXT_STATE
|
115 |
+
);
|
116 |
const currentObservers = useRef( observers );
|
117 |
+
const { onPaymentProcessing } = useEventEmitters( observerDispatch );
|
118 |
|
119 |
// ensure observers are always current.
|
120 |
useEffect( () => {
|
121 |
currentObservers.current = observers;
|
122 |
}, [ observers ] );
|
123 |
|
124 |
+
const setActivePaymentMethod = useCallback(
|
125 |
+
( paymentMethodSlug ) => {
|
126 |
+
setActive( paymentMethodSlug );
|
127 |
+
dispatch( statusOnly( PRISTINE ) );
|
128 |
+
dispatchCheckoutEvent( 'set-active-payment-method', {
|
129 |
+
paymentMethodSlug,
|
130 |
+
} );
|
131 |
+
},
|
132 |
+
[ setActive, dispatch, dispatchCheckoutEvent ]
|
133 |
+
);
|
134 |
+
|
135 |
+
const paymentMethodsDispatcher = useCallback<
|
136 |
+
PaymentMethodsDispatcherType
|
137 |
+
>(
|
138 |
+
( paymentMethods ) => {
|
139 |
+
dispatch(
|
140 |
+
setRegisteredPaymentMethods( paymentMethods as PaymentMethods )
|
141 |
+
);
|
142 |
+
},
|
143 |
+
[ dispatch ]
|
144 |
+
);
|
145 |
+
|
146 |
+
const expressPaymentMethodsDispatcher = useCallback<
|
147 |
+
PaymentMethodsDispatcherType
|
148 |
+
>(
|
149 |
+
( paymentMethods ) => {
|
150 |
+
dispatch(
|
151 |
+
setRegisteredExpressPaymentMethods(
|
152 |
+
paymentMethods as PaymentMethods
|
153 |
+
)
|
154 |
+
);
|
155 |
+
},
|
156 |
+
[ dispatch ]
|
157 |
);
|
|
|
|
|
|
|
|
|
158 |
|
159 |
const paymentMethodsInitialized = usePaymentMethods(
|
160 |
+
paymentMethodsDispatcher
|
161 |
);
|
162 |
|
163 |
const expressPaymentMethodsInitialized = useExpressPaymentMethods(
|
164 |
+
expressPaymentMethodsDispatcher
|
165 |
);
|
166 |
|
167 |
+
const { setValidationErrors } = useValidationContext();
|
168 |
+
const { addErrorNotice, removeNotice } = useStoreNotices();
|
169 |
+
const { setShippingAddress } = useShippingDataContext();
|
170 |
+
const setShouldSavePayment = useCallback(
|
171 |
+
( shouldSave ) => {
|
172 |
+
dispatch( setShouldSavePaymentMethod( shouldSave ) );
|
173 |
+
},
|
174 |
+
[ dispatch ]
|
175 |
+
);
|
176 |
|
177 |
const customerPaymentMethods = useMemo( (): CustomerPaymentMethods => {
|
178 |
if ( isEditor ) {
|
180 |
'previewSavedPaymentMethods'
|
181 |
) as CustomerPaymentMethods;
|
182 |
}
|
183 |
+
if (
|
184 |
+
! paymentMethodsInitialized ||
|
185 |
+
Object.keys( paymentData.paymentMethods ).length === 0
|
186 |
+
) {
|
187 |
+
return {};
|
188 |
+
}
|
189 |
+
return getCustomerPaymentMethods( paymentData.paymentMethods );
|
190 |
}, [
|
191 |
isEditor,
|
192 |
getPreviewData,
|
211 |
[ addErrorNotice, noticeContexts.EXPRESS_PAYMENTS, removeNotice ]
|
212 |
);
|
213 |
|
|
|
|
|
|
|
|
|
214 |
const currentStatus = useMemo(
|
215 |
() => ( {
|
216 |
+
isPristine: paymentData.currentStatus === PRISTINE,
|
217 |
+
isStarted: paymentData.currentStatus === STARTED,
|
218 |
+
isProcessing: paymentData.currentStatus === PROCESSING,
|
219 |
+
isFinished: [ ERROR, FAILED, SUCCESS ].includes(
|
220 |
+
paymentData.currentStatus
|
221 |
+
),
|
222 |
+
hasError: paymentData.currentStatus === ERROR,
|
223 |
+
hasFailed: paymentData.currentStatus === FAILED,
|
224 |
+
isSuccessful: paymentData.currentStatus === SUCCESS,
|
|
|
|
|
|
|
|
|
|
|
225 |
} ),
|
226 |
+
[ paymentData.currentStatus ]
|
227 |
);
|
228 |
|
229 |
+
const setPaymentStatus = useCallback(
|
230 |
+
(): PaymentStatusDispatchers => ( {
|
231 |
+
started: ( paymentMethodData ) => {
|
232 |
+
dispatch(
|
233 |
+
started( {
|
234 |
+
paymentMethodData,
|
235 |
+
} )
|
236 |
+
);
|
237 |
+
},
|
238 |
+
processing: () => dispatch( statusOnly( PROCESSING ) ),
|
239 |
+
completed: () => dispatch( statusOnly( COMPLETE ) ),
|
240 |
+
error: ( errorMessage ) => dispatch( error( errorMessage ) ),
|
241 |
+
failed: (
|
242 |
+
errorMessage,
|
243 |
+
paymentMethodData,
|
244 |
+
billingData = undefined
|
245 |
+
) => {
|
246 |
+
if ( billingData ) {
|
247 |
+
setBillingData( billingData );
|
248 |
+
}
|
249 |
+
dispatch(
|
250 |
+
failed( {
|
251 |
+
errorMessage: errorMessage || '',
|
252 |
+
paymentMethodData: paymentMethodData || {},
|
253 |
+
} )
|
254 |
+
);
|
255 |
+
},
|
256 |
+
success: (
|
257 |
+
paymentMethodData,
|
258 |
+
billingData = undefined,
|
259 |
+
shippingData = undefined
|
260 |
+
) => {
|
261 |
+
if ( billingData ) {
|
262 |
+
setBillingData( billingData );
|
263 |
+
}
|
264 |
+
if (
|
265 |
+
typeof shippingData !== undefined &&
|
266 |
+
shippingData?.address
|
267 |
+
) {
|
268 |
+
setShippingAddress( shippingData.address );
|
269 |
+
}
|
270 |
+
dispatch(
|
271 |
+
success( {
|
272 |
+
paymentMethodData,
|
273 |
+
} )
|
274 |
+
);
|
275 |
+
},
|
276 |
+
} ),
|
277 |
+
[ dispatch, setBillingData, setShippingAddress ]
|
278 |
+
);
|
279 |
|
280 |
// flip payment to processing if checkout processing is complete, there are no errors, and payment status is started.
|
281 |
useEffect( () => {
|
298 |
// When checkout is returned to idle, set payment status to pristine but only if payment status is already not finished.
|
299 |
useEffect( () => {
|
300 |
if ( checkoutIsIdle && ! currentStatus.isSuccessful ) {
|
301 |
+
dispatch( statusOnly( PRISTINE ) );
|
302 |
}
|
303 |
+
}, [ checkoutIsIdle, currentStatus.isSuccessful ] );
|
304 |
|
305 |
// if checkout has an error and payment is not being made with a saved token and payment status is success, then let's sync payment status back to pristine.
|
306 |
useEffect( () => {
|
309 |
currentStatus.isSuccessful &&
|
310 |
! paymentData.hasSavedToken
|
311 |
) {
|
312 |
+
dispatch( statusOnly( PRISTINE ) );
|
313 |
}
|
314 |
}, [
|
315 |
checkoutHasError,
|
316 |
currentStatus.isSuccessful,
|
317 |
paymentData.hasSavedToken,
|
|
|
318 |
] );
|
319 |
|
320 |
+
// Set active (selected) payment method as needed.
|
321 |
+
useEffect( () => {
|
322 |
+
const paymentMethodKeys = Object.keys( paymentData.paymentMethods );
|
323 |
+
const allPaymentMethodKeys = [
|
324 |
+
...paymentMethodKeys,
|
325 |
+
...Object.keys( paymentData.expressPaymentMethods ),
|
326 |
+
];
|
327 |
+
if ( ! paymentMethodsInitialized || ! paymentMethodKeys.length ) {
|
328 |
+
return;
|
329 |
+
}
|
330 |
+
|
331 |
+
setActive( ( currentActivePaymentMethod ) => {
|
332 |
+
// If there's no active payment method, or the active payment method has
|
333 |
+
// been removed (e.g. COD vs shipping methods), set one as active.
|
334 |
+
// Note: It's possible that the active payment method might be an
|
335 |
+
// express payment method. So registered express payment methods are
|
336 |
+
// included in the check here.
|
337 |
+
if (
|
338 |
+
! currentActivePaymentMethod ||
|
339 |
+
! allPaymentMethodKeys.includes( currentActivePaymentMethod )
|
340 |
+
) {
|
341 |
+
dispatch( statusOnly( PRISTINE ) );
|
342 |
+
return Object.keys( paymentData.paymentMethods )[ 0 ];
|
343 |
+
}
|
344 |
+
return currentActivePaymentMethod;
|
345 |
+
} );
|
346 |
+
}, [
|
347 |
+
paymentMethodsInitialized,
|
348 |
+
paymentData.paymentMethods,
|
349 |
+
paymentData.expressPaymentMethods,
|
350 |
+
setActive,
|
351 |
+
] );
|
352 |
+
|
353 |
+
// emit events.
|
354 |
useEffect( () => {
|
355 |
// Note: the nature of this event emitter is that it will bail on any
|
356 |
// observer that returns a response that !== true. However, this still
|
451 |
paymentMethodsInitialized,
|
452 |
expressPaymentMethodsInitialized,
|
453 |
setExpressPaymentError,
|
|
|
454 |
shouldSavePayment: paymentData.shouldSavePaymentMethod,
|
455 |
+
setShouldSavePayment,
|
456 |
};
|
457 |
|
458 |
return (
|
assets/js/base/context/providers/cart-checkout/payment-methods/reducer.ts
CHANGED
@@ -32,14 +32,17 @@ const reducer = (
|
|
32 |
): PaymentMethodDataContextState => {
|
33 |
switch ( type ) {
|
34 |
case STATUS.STARTED:
|
35 |
-
return
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
|
|
|
|
|
|
43 |
case STATUS.ERROR:
|
44 |
return state.currentStatus !== STATUS.ERROR
|
45 |
? {
|
32 |
): PaymentMethodDataContextState => {
|
33 |
switch ( type ) {
|
34 |
case STATUS.STARTED:
|
35 |
+
return state.currentStatus !== STATUS.STARTED
|
36 |
+
? {
|
37 |
+
...state,
|
38 |
+
currentStatus: STATUS.STARTED,
|
39 |
+
paymentMethodData:
|
40 |
+
paymentMethodData || state.paymentMethodData,
|
41 |
+
hasSavedToken: hasSavedPaymentToken(
|
42 |
+
paymentMethodData || state.paymentMethodData
|
43 |
+
),
|
44 |
+
}
|
45 |
+
: state;
|
46 |
case STATUS.ERROR:
|
47 |
return state.currentStatus !== STATUS.ERROR
|
48 |
? {
|
assets/js/base/context/providers/cart-checkout/payment-methods/types.ts
CHANGED
@@ -62,16 +62,11 @@ export type CustomerPaymentMethods =
|
|
62 |
| Record< string, CustomerPaymentMethod >
|
63 |
| EmptyObjectType;
|
64 |
|
65 |
-
export type
|
66 |
-
|
67 |
-
|
68 |
-
paymentMethods: ExpressPaymentMethods
|
69 |
-
) => void;
|
70 |
-
setShouldSavePayment: ( shouldSave: boolean ) => void;
|
71 |
-
};
|
72 |
|
73 |
export interface PaymentStatusDispatchers {
|
74 |
-
pristine: () => void;
|
75 |
started: ( paymentMethodData?: ObjectType | EmptyObjectType ) => void;
|
76 |
processing: () => void;
|
77 |
completed: () => void;
|
@@ -113,8 +108,6 @@ export type PaymentMethodCurrentStatusType = {
|
|
113 |
hasFailed: boolean;
|
114 |
// If true then the payment method has completed it's processing successfully.
|
115 |
isSuccessful: boolean;
|
116 |
-
// If true, an express payment is in progress.
|
117 |
-
isDoingExpressPayment: boolean;
|
118 |
};
|
119 |
|
120 |
export type PaymentMethodDataContextType = {
|
@@ -152,8 +145,6 @@ export type PaymentMethodDataContextType = {
|
|
152 |
onPaymentProcessing: ReturnType< typeof emitterCallback >;
|
153 |
// A function used by express payment methods to indicate an error for checkout to handle. It receives an error message string. Does not change payment status.
|
154 |
setExpressPaymentError: ( error: string ) => void;
|
155 |
-
// True if an express payment method is active.
|
156 |
-
isExpressPaymentMethodActive: boolean;
|
157 |
// A function used to set the shouldSavePayment value.
|
158 |
setShouldSavePayment: ( shouldSavePayment: boolean ) => void;
|
159 |
// True means that the configured payment method option is saved for the customer.
|
62 |
| Record< string, CustomerPaymentMethod >
|
63 |
| EmptyObjectType;
|
64 |
|
65 |
+
export type PaymentMethodsDispatcherType = (
|
66 |
+
paymentMethods: PaymentMethods | ExpressPaymentMethods
|
67 |
+
) => void;
|
|
|
|
|
|
|
|
|
68 |
|
69 |
export interface PaymentStatusDispatchers {
|
|
|
70 |
started: ( paymentMethodData?: ObjectType | EmptyObjectType ) => void;
|
71 |
processing: () => void;
|
72 |
completed: () => void;
|
108 |
hasFailed: boolean;
|
109 |
// If true then the payment method has completed it's processing successfully.
|
110 |
isSuccessful: boolean;
|
|
|
|
|
111 |
};
|
112 |
|
113 |
export type PaymentMethodDataContextType = {
|
145 |
onPaymentProcessing: ReturnType< typeof emitterCallback >;
|
146 |
// A function used by express payment methods to indicate an error for checkout to handle. It receives an error message string. Does not change payment status.
|
147 |
setExpressPaymentError: ( error: string ) => void;
|
|
|
|
|
148 |
// A function used to set the shouldSavePayment value.
|
149 |
setShouldSavePayment: ( shouldSavePayment: boolean ) => void;
|
150 |
// True means that the configured payment method option is saved for the customer.
|
assets/js/base/context/providers/cart-checkout/payment-methods/use-active-payment-method.ts
DELETED
@@ -1,38 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { useState, useEffect } from '@wordpress/element';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import { useStoreEvents } from '../../../hooks/use-store-events';
|
10 |
-
|
11 |
-
export const useActivePaymentMethod = (): {
|
12 |
-
activePaymentMethod: string;
|
13 |
-
activeSavedToken: string;
|
14 |
-
setActivePaymentMethod: React.Dispatch< React.SetStateAction< string > >;
|
15 |
-
setActiveSavedToken: ( token: string ) => void;
|
16 |
-
} => {
|
17 |
-
const { dispatchCheckoutEvent } = useStoreEvents();
|
18 |
-
|
19 |
-
// The active payment method - e.g. Stripe CC or BACS.
|
20 |
-
const [ activePaymentMethod, setActivePaymentMethod ] = useState( '' );
|
21 |
-
|
22 |
-
// If a previously saved payment method is active, the token for that method. For example, a for a Stripe CC card saved to user account.
|
23 |
-
const [ activeSavedToken, setActiveSavedToken ] = useState( '' );
|
24 |
-
|
25 |
-
// Trigger event on change.
|
26 |
-
useEffect( () => {
|
27 |
-
dispatchCheckoutEvent( 'set-active-payment-method', {
|
28 |
-
activePaymentMethod,
|
29 |
-
} );
|
30 |
-
}, [ dispatchCheckoutEvent, activePaymentMethod ] );
|
31 |
-
|
32 |
-
return {
|
33 |
-
activePaymentMethod,
|
34 |
-
activeSavedToken,
|
35 |
-
setActivePaymentMethod,
|
36 |
-
setActiveSavedToken,
|
37 |
-
};
|
38 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/cart-checkout/payment-methods/use-payment-method-dispatchers.ts
DELETED
@@ -1,105 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { useCallback, useMemo } from '@wordpress/element';
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Internal dependencies
|
8 |
-
*/
|
9 |
-
import { actions, ActionType } from './actions';
|
10 |
-
import { STATUS } from './constants';
|
11 |
-
import { useCustomerDataContext } from '../customer';
|
12 |
-
import { useShippingDataContext } from '../shipping';
|
13 |
-
import type {
|
14 |
-
PaymentStatusDispatchers,
|
15 |
-
PaymentMethodDispatchers,
|
16 |
-
} from './types';
|
17 |
-
|
18 |
-
export const usePaymentMethodDataDispatchers = (
|
19 |
-
dispatch: React.Dispatch< ActionType >
|
20 |
-
): {
|
21 |
-
dispatchActions: PaymentMethodDispatchers;
|
22 |
-
setPaymentStatus: () => PaymentStatusDispatchers;
|
23 |
-
} => {
|
24 |
-
const { setBillingData } = useCustomerDataContext();
|
25 |
-
const { setShippingAddress } = useShippingDataContext();
|
26 |
-
|
27 |
-
const dispatchActions = useMemo(
|
28 |
-
(): PaymentMethodDispatchers => ( {
|
29 |
-
setRegisteredPaymentMethods: ( paymentMethods ) =>
|
30 |
-
void dispatch(
|
31 |
-
actions.setRegisteredPaymentMethods( paymentMethods )
|
32 |
-
),
|
33 |
-
setRegisteredExpressPaymentMethods: ( paymentMethods ) =>
|
34 |
-
void dispatch(
|
35 |
-
actions.setRegisteredExpressPaymentMethods( paymentMethods )
|
36 |
-
),
|
37 |
-
setShouldSavePayment: ( shouldSave ) =>
|
38 |
-
void dispatch(
|
39 |
-
actions.setShouldSavePaymentMethod( shouldSave )
|
40 |
-
),
|
41 |
-
} ),
|
42 |
-
[ dispatch ]
|
43 |
-
);
|
44 |
-
|
45 |
-
const setPaymentStatus = useCallback(
|
46 |
-
(): PaymentStatusDispatchers => ( {
|
47 |
-
pristine: () => dispatch( actions.statusOnly( STATUS.PRISTINE ) ),
|
48 |
-
started: ( paymentMethodData ) => {
|
49 |
-
dispatch(
|
50 |
-
actions.started( {
|
51 |
-
paymentMethodData,
|
52 |
-
} )
|
53 |
-
);
|
54 |
-
},
|
55 |
-
processing: () =>
|
56 |
-
dispatch( actions.statusOnly( STATUS.PROCESSING ) ),
|
57 |
-
completed: () => dispatch( actions.statusOnly( STATUS.COMPLETE ) ),
|
58 |
-
error: ( errorMessage ) =>
|
59 |
-
dispatch( actions.error( errorMessage ) ),
|
60 |
-
failed: (
|
61 |
-
errorMessage,
|
62 |
-
paymentMethodData,
|
63 |
-
billingData = undefined
|
64 |
-
) => {
|
65 |
-
if ( billingData ) {
|
66 |
-
setBillingData( billingData );
|
67 |
-
}
|
68 |
-
dispatch(
|
69 |
-
actions.failed( {
|
70 |
-
errorMessage: errorMessage || '',
|
71 |
-
paymentMethodData: paymentMethodData || {},
|
72 |
-
} )
|
73 |
-
);
|
74 |
-
},
|
75 |
-
success: (
|
76 |
-
paymentMethodData,
|
77 |
-
billingData = undefined,
|
78 |
-
shippingData = undefined
|
79 |
-
) => {
|
80 |
-
if ( billingData ) {
|
81 |
-
setBillingData( billingData );
|
82 |
-
}
|
83 |
-
if (
|
84 |
-
typeof shippingData !== undefined &&
|
85 |
-
shippingData?.address
|
86 |
-
) {
|
87 |
-
setShippingAddress(
|
88 |
-
shippingData.address as Record< string, unknown >
|
89 |
-
);
|
90 |
-
}
|
91 |
-
dispatch(
|
92 |
-
actions.success( {
|
93 |
-
paymentMethodData,
|
94 |
-
} )
|
95 |
-
);
|
96 |
-
},
|
97 |
-
} ),
|
98 |
-
[ dispatch, setBillingData, setShippingAddress ]
|
99 |
-
);
|
100 |
-
|
101 |
-
return {
|
102 |
-
dispatchActions,
|
103 |
-
setPaymentStatus,
|
104 |
-
};
|
105 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/cart-checkout/payment-methods/use-payment-method-registration.ts
CHANGED
@@ -103,15 +103,11 @@ const usePaymentMethodRegistration = (
|
|
103 |
continue;
|
104 |
}
|
105 |
|
106 |
-
//
|
107 |
try {
|
108 |
-
const canPay =
|
109 |
-
|
110 |
-
|
111 |
-
paymentMethod.canMakePayment(
|
112 |
-
canPayArgument.current
|
113 |
-
)
|
114 |
-
);
|
115 |
|
116 |
if ( !! canPay ) {
|
117 |
if (
|
103 |
continue;
|
104 |
}
|
105 |
|
106 |
+
// In front end, ask payment method if it should be available.
|
107 |
try {
|
108 |
+
const canPay = await Promise.resolve(
|
109 |
+
paymentMethod.canMakePayment( canPayArgument.current )
|
110 |
+
);
|
|
|
|
|
|
|
|
|
111 |
|
112 |
if ( !! canPay ) {
|
113 |
if (
|
assets/js/base/context/providers/cart-checkout/payment-methods/utils.ts
CHANGED
@@ -14,9 +14,6 @@ import type { PaymentMethods, CustomerPaymentMethod } from './types';
|
|
14 |
export const getCustomerPaymentMethods = (
|
15 |
availablePaymentMethods: PaymentMethods = {}
|
16 |
): Record< string, CustomerPaymentMethod > => {
|
17 |
-
if ( Object.keys( availablePaymentMethods ).length === 0 ) {
|
18 |
-
return {};
|
19 |
-
}
|
20 |
const customerPaymentMethods = getSetting( 'customerPaymentMethods', {} );
|
21 |
const paymentMethodKeys = Object.keys( customerPaymentMethods );
|
22 |
const enabledCustomerPaymentMethods = {} as Record<
|
14 |
export const getCustomerPaymentMethods = (
|
15 |
availablePaymentMethods: PaymentMethods = {}
|
16 |
): Record< string, CustomerPaymentMethod > => {
|
|
|
|
|
|
|
17 |
const customerPaymentMethods = getSetting( 'customerPaymentMethods', {} );
|
18 |
const paymentMethodKeys = Object.keys( customerPaymentMethods );
|
19 |
const enabledCustomerPaymentMethods = {} as Record<
|
assets/js/base/context/providers/index.js
CHANGED
@@ -2,7 +2,6 @@ export * from './editor-context';
|
|
2 |
export * from './add-to-cart-form';
|
3 |
export * from './cart-checkout';
|
4 |
export * from './store-notices';
|
5 |
-
export * from './store-snackbar-notices';
|
6 |
export * from './validation';
|
7 |
export * from './container-width-context';
|
8 |
export * from './editor-context';
|
2 |
export * from './add-to-cart-form';
|
3 |
export * from './cart-checkout';
|
4 |
export * from './store-notices';
|
|
|
5 |
export * from './validation';
|
6 |
export * from './container-width-context';
|
7 |
export * from './editor-context';
|
assets/js/base/context/providers/{store-snackbar-notices → store-notices}/components/snackbar-notices-container.js
RENAMED
@@ -3,7 +3,6 @@
|
|
3 |
*/
|
4 |
import { SnackbarList } from 'wordpress-components';
|
5 |
import classnames from 'classnames';
|
6 |
-
import { __experimentalApplyCheckoutFilter } from '@woocommerce/blocks-checkout';
|
7 |
|
8 |
const SnackbarNoticesContainer = ( {
|
9 |
className,
|
@@ -19,11 +18,6 @@ const SnackbarNoticesContainer = ( {
|
|
19 |
( notice ) => notice.type === 'snackbar'
|
20 |
);
|
21 |
|
22 |
-
const filteredNotices = __experimentalApplyCheckoutFilter( {
|
23 |
-
filterName: 'snackbarNotices',
|
24 |
-
defaultValue: snackbarNotices,
|
25 |
-
} );
|
26 |
-
|
27 |
const wrapperClass = classnames(
|
28 |
className,
|
29 |
'wc-block-components-notices__snackbar'
|
@@ -31,7 +25,7 @@ const SnackbarNoticesContainer = ( {
|
|
31 |
|
32 |
return (
|
33 |
<SnackbarList
|
34 |
-
notices={
|
35 |
className={ wrapperClass }
|
36 |
onRemove={ removeNotice }
|
37 |
/>
|
3 |
*/
|
4 |
import { SnackbarList } from 'wordpress-components';
|
5 |
import classnames from 'classnames';
|
|
|
6 |
|
7 |
const SnackbarNoticesContainer = ( {
|
8 |
className,
|
18 |
( notice ) => notice.type === 'snackbar'
|
19 |
);
|
20 |
|
|
|
|
|
|
|
|
|
|
|
21 |
const wrapperClass = classnames(
|
22 |
className,
|
23 |
'wc-block-components-notices__snackbar'
|
25 |
|
26 |
return (
|
27 |
<SnackbarList
|
28 |
+
notices={ snackbarNotices }
|
29 |
className={ wrapperClass }
|
30 |
onRemove={ removeNotice }
|
31 |
/>
|
assets/js/base/context/providers/store-notices/components/style.scss
CHANGED
@@ -22,3 +22,24 @@
|
|
22 |
margin-top: 1em;
|
23 |
}
|
24 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
margin-top: 1em;
|
23 |
}
|
24 |
}
|
25 |
+
|
26 |
+
.wc-block-components-notices__snackbar {
|
27 |
+
position: fixed;
|
28 |
+
bottom: 20px;
|
29 |
+
left: 16px;
|
30 |
+
width: auto;
|
31 |
+
|
32 |
+
@include breakpoint( "<782px" ) {
|
33 |
+
position: fixed;
|
34 |
+
top: 10px;
|
35 |
+
left: 0;
|
36 |
+
bottom: auto;
|
37 |
+
}
|
38 |
+
|
39 |
+
.components-snackbar-list__notice-container {
|
40 |
+
@include breakpoint( "<782px" ) {
|
41 |
+
margin-left: 10px;
|
42 |
+
margin-right: 10px;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
assets/js/base/context/providers/store-notices/context.js
CHANGED
@@ -16,6 +16,7 @@ import { useSelect, useDispatch } from '@wordpress/data';
|
|
16 |
import { useStoreEvents } from '../../hooks/use-store-events';
|
17 |
import { useEditorContext } from '../editor-context';
|
18 |
import StoreNoticesContainer from './components/store-notices-container';
|
|
|
19 |
|
20 |
/**
|
21 |
* @typedef {import('@woocommerce/type-defs/contexts').NoticeContext} NoticeContext
|
@@ -25,6 +26,7 @@ import StoreNoticesContainer from './components/store-notices-container';
|
|
25 |
const StoreNoticesContext = createContext( {
|
26 |
notices: [],
|
27 |
createNotice: ( status, text, props ) => void { status, text, props },
|
|
|
28 |
removeNotice: ( id, ctxt ) => void { id, ctxt },
|
29 |
setIsSuppressed: ( val ) => void { val },
|
30 |
context: 'wc/core',
|
@@ -88,6 +90,16 @@ export const StoreNoticesProvider = ( {
|
|
88 |
[ removeNotice, context ]
|
89 |
);
|
90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
const { notices } = useSelect(
|
92 |
( select ) => {
|
93 |
return {
|
@@ -100,6 +112,7 @@ export const StoreNoticesProvider = ( {
|
|
100 |
const contextValue = {
|
101 |
notices,
|
102 |
createNotice: createNoticeWithContext,
|
|
|
103 |
removeNotice: removeNoticeWithContext,
|
104 |
context,
|
105 |
setIsSuppressed,
|
@@ -114,10 +127,19 @@ export const StoreNoticesProvider = ( {
|
|
114 |
/>
|
115 |
);
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
return (
|
118 |
<StoreNoticesContext.Provider value={ contextValue }>
|
119 |
{ createNoticeContainer && noticeOutput }
|
120 |
{ children }
|
|
|
121 |
</StoreNoticesContext.Provider>
|
122 |
);
|
123 |
};
|
16 |
import { useStoreEvents } from '../../hooks/use-store-events';
|
17 |
import { useEditorContext } from '../editor-context';
|
18 |
import StoreNoticesContainer from './components/store-notices-container';
|
19 |
+
import SnackbarNoticesContainer from './components/snackbar-notices-container';
|
20 |
|
21 |
/**
|
22 |
* @typedef {import('@woocommerce/type-defs/contexts').NoticeContext} NoticeContext
|
26 |
const StoreNoticesContext = createContext( {
|
27 |
notices: [],
|
28 |
createNotice: ( status, text, props ) => void { status, text, props },
|
29 |
+
createSnackbarNotice: ( content, options ) => void { content, options },
|
30 |
removeNotice: ( id, ctxt ) => void { id, ctxt },
|
31 |
setIsSuppressed: ( val ) => void { val },
|
32 |
context: 'wc/core',
|
90 |
[ removeNotice, context ]
|
91 |
);
|
92 |
|
93 |
+
const createSnackbarNotice = useCallback(
|
94 |
+
( content = '', options = {} ) => {
|
95 |
+
createNoticeWithContext( 'default', content, {
|
96 |
+
...options,
|
97 |
+
type: 'snackbar',
|
98 |
+
} );
|
99 |
+
},
|
100 |
+
[ createNoticeWithContext ]
|
101 |
+
);
|
102 |
+
|
103 |
const { notices } = useSelect(
|
104 |
( select ) => {
|
105 |
return {
|
112 |
const contextValue = {
|
113 |
notices,
|
114 |
createNotice: createNoticeWithContext,
|
115 |
+
createSnackbarNotice,
|
116 |
removeNotice: removeNoticeWithContext,
|
117 |
context,
|
118 |
setIsSuppressed,
|
127 |
/>
|
128 |
);
|
129 |
|
130 |
+
const snackbarNoticeOutput = isSuppressed ? null : (
|
131 |
+
<SnackbarNoticesContainer
|
132 |
+
notices={ contextValue.notices }
|
133 |
+
removeNotice={ contextValue.removeNotice }
|
134 |
+
isEditor={ isEditor }
|
135 |
+
/>
|
136 |
+
);
|
137 |
+
|
138 |
return (
|
139 |
<StoreNoticesContext.Provider value={ contextValue }>
|
140 |
{ createNoticeContainer && noticeOutput }
|
141 |
{ children }
|
142 |
+
{ snackbarNoticeOutput }
|
143 |
</StoreNoticesContext.Provider>
|
144 |
);
|
145 |
};
|
assets/js/base/context/providers/store-notices/index.js
CHANGED
@@ -1,2 +1,3 @@
|
|
1 |
export * from './components/store-notices-container';
|
|
|
2 |
export * from './context';
|
1 |
export * from './components/store-notices-container';
|
2 |
+
export * from './components/snackbar-notices-container';
|
3 |
export * from './context';
|
assets/js/base/context/providers/store-snackbar-notices/components/style.scss
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
.wc-block-components-notices__snackbar {
|
2 |
-
position: fixed;
|
3 |
-
bottom: 20px;
|
4 |
-
left: 16px;
|
5 |
-
width: auto;
|
6 |
-
|
7 |
-
@include breakpoint( "<782px" ) {
|
8 |
-
position: fixed;
|
9 |
-
top: 10px;
|
10 |
-
left: 0;
|
11 |
-
bottom: auto;
|
12 |
-
}
|
13 |
-
|
14 |
-
.components-snackbar-list__notice-container {
|
15 |
-
@include breakpoint( "<782px" ) {
|
16 |
-
margin-left: 10px;
|
17 |
-
margin-right: 10px;
|
18 |
-
}
|
19 |
-
}
|
20 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/store-snackbar-notices/context.js
DELETED
@@ -1,125 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import PropTypes from 'prop-types';
|
5 |
-
import {
|
6 |
-
createContext,
|
7 |
-
useContext,
|
8 |
-
useCallback,
|
9 |
-
useState,
|
10 |
-
} from '@wordpress/element';
|
11 |
-
import { useSelect, useDispatch } from '@wordpress/data';
|
12 |
-
import SnackbarNoticesContainer from '@woocommerce/base-context/providers/store-snackbar-notices/components/snackbar-notices-container';
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Internal dependencies
|
16 |
-
*/
|
17 |
-
import { useStoreEvents } from '../../hooks/use-store-events';
|
18 |
-
import { useEditorContext } from '../editor-context';
|
19 |
-
|
20 |
-
/**
|
21 |
-
* @typedef {import('@woocommerce/type-defs/contexts').NoticeContext} NoticeContext
|
22 |
-
* @typedef {import('react')} React
|
23 |
-
*/
|
24 |
-
|
25 |
-
const StoreSnackbarNoticesContext = createContext( {
|
26 |
-
notices: [],
|
27 |
-
createSnackbarNotice: ( content, options ) => void { content, options },
|
28 |
-
removeSnackbarNotice: ( id, ctxt ) => void { id, ctxt },
|
29 |
-
setIsSuppressed: ( val ) => void { val },
|
30 |
-
context: 'wc/core',
|
31 |
-
} );
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Returns the notices context values.
|
35 |
-
*
|
36 |
-
* @return {NoticeContext} The notice context value from the notice context.
|
37 |
-
*/
|
38 |
-
export const useStoreSnackbarNoticesContext = () => {
|
39 |
-
return useContext( StoreSnackbarNoticesContext );
|
40 |
-
};
|
41 |
-
|
42 |
-
/**
|
43 |
-
* Provides an interface for blocks to add notices to the frontend UI.
|
44 |
-
*
|
45 |
-
* Statuses map to https://github.com/WordPress/gutenberg/tree/master/packages/components/src/notice
|
46 |
-
* - Default (no status)
|
47 |
-
* - Error
|
48 |
-
* - Warning
|
49 |
-
* - Info
|
50 |
-
* - Success
|
51 |
-
*
|
52 |
-
* @param {Object} props Incoming props for the component.
|
53 |
-
* @param {React.ReactChildren} props.children The Elements wrapped by this component.
|
54 |
-
* @param {string} props.context The notice context for notices being rendered.
|
55 |
-
*/
|
56 |
-
export const StoreSnackbarNoticesProvider = ( {
|
57 |
-
children,
|
58 |
-
context = 'wc/core',
|
59 |
-
} ) => {
|
60 |
-
const { createNotice, removeNotice } = useDispatch( 'core/notices' );
|
61 |
-
const [ isSuppressed, setIsSuppressed ] = useState( false );
|
62 |
-
const { dispatchStoreEvent } = useStoreEvents();
|
63 |
-
const { isEditor } = useEditorContext();
|
64 |
-
|
65 |
-
const createSnackbarNotice = useCallback(
|
66 |
-
( content = '', options = {} ) => {
|
67 |
-
createNotice( 'default', content, {
|
68 |
-
...options,
|
69 |
-
type: 'snackbar',
|
70 |
-
context: options.context || context,
|
71 |
-
} );
|
72 |
-
dispatchStoreEvent( 'store-notice-create', {
|
73 |
-
status: 'default',
|
74 |
-
content,
|
75 |
-
options,
|
76 |
-
} );
|
77 |
-
},
|
78 |
-
[ createNotice, dispatchStoreEvent, context ]
|
79 |
-
);
|
80 |
-
|
81 |
-
const removeSnackbarNotice = useCallback(
|
82 |
-
( id, ctxt = context ) => {
|
83 |
-
removeNotice( id, ctxt );
|
84 |
-
},
|
85 |
-
[ removeNotice, context ]
|
86 |
-
);
|
87 |
-
|
88 |
-
const { notices } = useSelect(
|
89 |
-
( select ) => {
|
90 |
-
return {
|
91 |
-
notices: select( 'core/notices' ).getNotices( context ),
|
92 |
-
};
|
93 |
-
},
|
94 |
-
[ context ]
|
95 |
-
);
|
96 |
-
|
97 |
-
const contextValue = {
|
98 |
-
notices,
|
99 |
-
createSnackbarNotice,
|
100 |
-
removeSnackbarNotice,
|
101 |
-
context,
|
102 |
-
setIsSuppressed,
|
103 |
-
};
|
104 |
-
|
105 |
-
const snackbarNoticeOutput = isSuppressed ? null : (
|
106 |
-
<SnackbarNoticesContainer
|
107 |
-
notices={ contextValue.notices }
|
108 |
-
removeNotice={ contextValue.removeSnackbarNotice }
|
109 |
-
isEditor={ isEditor }
|
110 |
-
/>
|
111 |
-
);
|
112 |
-
|
113 |
-
return (
|
114 |
-
<StoreSnackbarNoticesContext.Provider value={ contextValue }>
|
115 |
-
{ children }
|
116 |
-
{ snackbarNoticeOutput }
|
117 |
-
</StoreSnackbarNoticesContext.Provider>
|
118 |
-
);
|
119 |
-
};
|
120 |
-
|
121 |
-
StoreSnackbarNoticesProvider.propTypes = {
|
122 |
-
className: PropTypes.string,
|
123 |
-
children: PropTypes.node,
|
124 |
-
context: PropTypes.string,
|
125 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/base/context/providers/store-snackbar-notices/index.ts
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
export * from './context';
|
|
assets/js/base/context/providers/validation/components/validation-input-error/index.js
CHANGED
@@ -15,8 +15,7 @@ export const ValidationInputError = ( {
|
|
15 |
elementId = '',
|
16 |
} ) => {
|
17 |
const { getValidationError, getValidationErrorId } = useValidationContext();
|
18 |
-
|
19 |
-
if ( ! errorMessage || typeof errorMessage !== 'string' ) {
|
20 |
const error = getValidationError( propertyName ) || {};
|
21 |
if ( error.message && ! error.hidden ) {
|
22 |
errorMessage = error.message;
|
15 |
elementId = '',
|
16 |
} ) => {
|
17 |
const { getValidationError, getValidationErrorId } = useValidationContext();
|
18 |
+
if ( ! errorMessage ) {
|
|
|
19 |
const error = getValidationError( propertyName ) || {};
|
20 |
if ( error.message && ! error.hidden ) {
|
21 |
errorMessage = error.message;
|
assets/js/base/hooks/use-shallow-equal.ts
CHANGED
@@ -13,11 +13,12 @@ import isShallowEqual from '@wordpress/is-shallow-equal';
|
|
13 |
*
|
14 |
* @param {*} value Value to keep the same if satisfies shallow equality.
|
15 |
*
|
16 |
-
* @return {*} The previous cached instance of the value if the current has
|
|
|
17 |
*/
|
18 |
-
export function useShallowEqual< T >( value: T ): T {
|
19 |
-
const ref = useRef< T >(
|
20 |
-
if ( ! isShallowEqual( value, ref.current ) ) {
|
21 |
ref.current = value;
|
22 |
}
|
23 |
return ref.current;
|
13 |
*
|
14 |
* @param {*} value Value to keep the same if satisfies shallow equality.
|
15 |
*
|
16 |
+
* @return {*} The previous cached instance of the value if the current has
|
17 |
+
* shallow equality with it.
|
18 |
*/
|
19 |
+
export function useShallowEqual< T >( value: T ): T | undefined {
|
20 |
+
const ref = useRef< T >();
|
21 |
+
if ( ref.current === undefined || ! isShallowEqual( value, ref.current ) ) {
|
22 |
ref.current = value;
|
23 |
}
|
24 |
return ref.current;
|
assets/js/base/utils/{address.ts → address.js}
RENAMED
@@ -3,11 +3,6 @@
|
|
3 |
*/
|
4 |
import { defaultAddressFields } from '@woocommerce/settings';
|
5 |
import prepareAddressFields from '@woocommerce/base-components/cart-checkout/address-form/prepare-address-fields';
|
6 |
-
import { isEmail } from '@wordpress/url';
|
7 |
-
import type {
|
8 |
-
CartResponseBillingAddress,
|
9 |
-
CartResponseShippingAddress,
|
10 |
-
} from '@woocommerce/types';
|
11 |
|
12 |
/**
|
13 |
* pluckAddress takes a full address object and returns relevant fields for calculating
|
@@ -26,60 +21,27 @@ export const pluckAddress = ( {
|
|
26 |
state = '',
|
27 |
city = '',
|
28 |
postcode = '',
|
29 |
-
}
|
30 |
-
country: string;
|
31 |
-
state: string;
|
32 |
-
city: string;
|
33 |
-
postcode: string;
|
34 |
-
} => ( {
|
35 |
country: country.trim(),
|
36 |
state: state.trim(),
|
37 |
city: city.trim(),
|
38 |
postcode: postcode ? postcode.replace( ' ', '' ).toUpperCase() : '',
|
39 |
} );
|
40 |
|
41 |
-
/**
|
42 |
-
* pluckEmail takes a full address object and returns only the email address, if set and valid. Otherwise returns an empty string.
|
43 |
-
*
|
44 |
-
* @param {Object} address An object containing all address information
|
45 |
-
* @param {string} address.email The email address.
|
46 |
-
* @return {string} The email address.
|
47 |
-
*/
|
48 |
-
export const pluckEmail = ( {
|
49 |
-
email = '',
|
50 |
-
}: CartResponseBillingAddress ): string =>
|
51 |
-
isEmail( email ) ? email.trim() : '';
|
52 |
-
|
53 |
-
/**
|
54 |
-
* Type-guard.
|
55 |
-
*/
|
56 |
-
const isValidAddressKey = (
|
57 |
-
key: string,
|
58 |
-
address: CartResponseBillingAddress | CartResponseShippingAddress
|
59 |
-
): key is keyof typeof address => {
|
60 |
-
return key in address;
|
61 |
-
};
|
62 |
-
|
63 |
/**
|
64 |
* Sets fields to an empty string in an address if they are hidden by the settings in countryLocale.
|
65 |
*
|
66 |
* @param {Object} address The address to empty fields from.
|
67 |
* @return {Object} The address with hidden fields values removed.
|
68 |
*/
|
69 |
-
export const emptyHiddenAddressFields =
|
70 |
-
T extends CartResponseBillingAddress | CartResponseShippingAddress
|
71 |
-
>(
|
72 |
-
address: T
|
73 |
-
): T => {
|
74 |
const fields = Object.keys( defaultAddressFields );
|
75 |
const addressFields = prepareAddressFields( fields, {}, address.country );
|
76 |
-
const newAddress = Object.assign( {}, address )
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
newAddress[ key ] = '';
|
81 |
}
|
82 |
} );
|
83 |
-
|
84 |
return newAddress;
|
85 |
};
|
3 |
*/
|
4 |
import { defaultAddressFields } from '@woocommerce/settings';
|
5 |
import prepareAddressFields from '@woocommerce/base-components/cart-checkout/address-form/prepare-address-fields';
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
/**
|
8 |
* pluckAddress takes a full address object and returns relevant fields for calculating
|
21 |
state = '',
|
22 |
city = '',
|
23 |
postcode = '',
|
24 |
+
} ) => ( {
|
|
|
|
|
|
|
|
|
|
|
25 |
country: country.trim(),
|
26 |
state: state.trim(),
|
27 |
city: city.trim(),
|
28 |
postcode: postcode ? postcode.replace( ' ', '' ).toUpperCase() : '',
|
29 |
} );
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Sets fields to an empty string in an address if they are hidden by the settings in countryLocale.
|
33 |
*
|
34 |
* @param {Object} address The address to empty fields from.
|
35 |
* @return {Object} The address with hidden fields values removed.
|
36 |
*/
|
37 |
+
export const emptyHiddenAddressFields = ( address ) => {
|
|
|
|
|
|
|
|
|
38 |
const fields = Object.keys( defaultAddressFields );
|
39 |
const addressFields = prepareAddressFields( fields, {}, address.country );
|
40 |
+
const newAddress = Object.assign( {}, address );
|
41 |
+
addressFields.forEach( ( field ) => {
|
42 |
+
if ( field.hidden ) {
|
43 |
+
newAddress[ field.key ] = '';
|
|
|
44 |
}
|
45 |
} );
|
|
|
46 |
return newAddress;
|
47 |
};
|
assets/js/base/utils/index.js
CHANGED
@@ -8,3 +8,4 @@ export * from './get-valid-block-attributes';
|
|
8 |
export * from './product-data';
|
9 |
export * from './derive-selected-shipping-rates';
|
10 |
export * from './from-entries-polyfill';
|
|
8 |
export * from './product-data';
|
9 |
export * from './derive-selected-shipping-rates';
|
10 |
export * from './from-entries-polyfill';
|
11 |
+
export * from './type-guards';
|
assets/js/{types/type-guards/index.ts → base/utils/type-guards.ts}
RENAMED
@@ -17,11 +17,11 @@ export const isObject = < T extends Record< string, unknown >, U >(
|
|
17 |
};
|
18 |
|
19 |
export function objectHasProp< P extends PropertyKey >(
|
20 |
-
target: unknown
|
21 |
property: P
|
22 |
): target is { [ K in P ]: unknown } {
|
23 |
// The `in` operator throws a `TypeError` for non-object values.
|
24 |
-
return
|
25 |
}
|
26 |
|
27 |
// eslint-disable-next-line @typescript-eslint/ban-types
|
17 |
};
|
18 |
|
19 |
export function objectHasProp< P extends PropertyKey >(
|
20 |
+
target: Record< string, unknown >,
|
21 |
property: P
|
22 |
): target is { [ K in P ]: unknown } {
|
23 |
// The `in` operator throws a `TypeError` for non-object values.
|
24 |
+
return property in target;
|
25 |
}
|
26 |
|
27 |
// eslint-disable-next-line @typescript-eslint/ban-types
|
assets/js/blocks/attribute-filter/edit.js
CHANGED
@@ -15,7 +15,7 @@ import {
|
|
15 |
} from '@wordpress/components';
|
16 |
import { Icon, server, external } from '@woocommerce/icons';
|
17 |
import { SearchListControl } from '@woocommerce/components';
|
18 |
-
import { mapValues, toArray, sortBy } from 'lodash';
|
19 |
import { getAdminLink, getSetting } from '@woocommerce/settings';
|
20 |
import HeadingToolbar from '@woocommerce/editor-components/heading-toolbar';
|
21 |
import BlockTitle from '@woocommerce/editor-components/block-title';
|
@@ -212,7 +212,7 @@ const Edit = ( { attributes, setAttributes, debouncedSpeak } ) => {
|
|
212 |
) }
|
213 |
initialOpen={ false }
|
214 |
>
|
215 |
-
{ renderAttributeControl(
|
216 |
</PanelBody>
|
217 |
</InspectorControls>
|
218 |
);
|
@@ -274,9 +274,10 @@ const Edit = ( { attributes, setAttributes, debouncedSpeak } ) => {
|
|
274 |
}
|
275 |
|
276 |
const selectedId = selected[ 0 ].id;
|
277 |
-
const productAttribute =
|
278 |
-
|
279 |
-
|
|
|
280 |
|
281 |
if ( ! productAttribute || attributeId === selectedId ) {
|
282 |
return;
|
@@ -294,7 +295,7 @@ const Edit = ( { attributes, setAttributes, debouncedSpeak } ) => {
|
|
294 |
} );
|
295 |
};
|
296 |
|
297 |
-
const renderAttributeControl = (
|
298 |
const messages = {
|
299 |
clear: __(
|
300 |
'Clear selected attribute',
|
@@ -346,7 +347,6 @@ const Edit = ( { attributes, setAttributes, debouncedSpeak } ) => {
|
|
346 |
onChange={ onChange }
|
347 |
messages={ messages }
|
348 |
isSingle
|
349 |
-
isCompact={ isCompact }
|
350 |
/>
|
351 |
);
|
352 |
};
|
@@ -366,7 +366,7 @@ const Edit = ( { attributes, setAttributes, debouncedSpeak } ) => {
|
|
366 |
) }
|
367 |
>
|
368 |
<div className="wc-block-attribute-filter__selection">
|
369 |
-
{ renderAttributeControl(
|
370 |
<Button isPrimary onClick={ onDone }>
|
371 |
{ __( 'Done', 'woo-gutenberg-products-block' ) }
|
372 |
</Button>
|
15 |
} from '@wordpress/components';
|
16 |
import { Icon, server, external } from '@woocommerce/icons';
|
17 |
import { SearchListControl } from '@woocommerce/components';
|
18 |
+
import { mapValues, toArray, sortBy, find } from 'lodash';
|
19 |
import { getAdminLink, getSetting } from '@woocommerce/settings';
|
20 |
import HeadingToolbar from '@woocommerce/editor-components/heading-toolbar';
|
21 |
import BlockTitle from '@woocommerce/editor-components/block-title';
|
212 |
) }
|
213 |
initialOpen={ false }
|
214 |
>
|
215 |
+
{ renderAttributeControl() }
|
216 |
</PanelBody>
|
217 |
</InspectorControls>
|
218 |
);
|
274 |
}
|
275 |
|
276 |
const selectedId = selected[ 0 ].id;
|
277 |
+
const productAttribute = find( ATTRIBUTES, [
|
278 |
+
'attribute_id',
|
279 |
+
selectedId.toString(),
|
280 |
+
] );
|
281 |
|
282 |
if ( ! productAttribute || attributeId === selectedId ) {
|
283 |
return;
|
295 |
} );
|
296 |
};
|
297 |
|
298 |
+
const renderAttributeControl = () => {
|
299 |
const messages = {
|
300 |
clear: __(
|
301 |
'Clear selected attribute',
|
347 |
onChange={ onChange }
|
348 |
messages={ messages }
|
349 |
isSingle
|
|
|
350 |
/>
|
351 |
);
|
352 |
};
|
366 |
) }
|
367 |
>
|
368 |
<div className="wc-block-attribute-filter__selection">
|
369 |
+
{ renderAttributeControl() }
|
370 |
<Button isPrimary onClick={ onDone }>
|
371 |
{ __( 'Done', 'woo-gutenberg-products-block' ) }
|
372 |
</Button>
|
assets/js/blocks/cart-checkout/cart/attributes.js
CHANGED
@@ -21,10 +21,6 @@ const blockAttributes = {
|
|
21 |
type: 'boolean',
|
22 |
default: getSetting( 'hasDarkEditorStyleSupport', false ),
|
23 |
},
|
24 |
-
showRateAfterTaxName: {
|
25 |
-
type: 'boolean',
|
26 |
-
default: true,
|
27 |
-
},
|
28 |
};
|
29 |
|
30 |
export default blockAttributes;
|
21 |
type: 'boolean',
|
22 |
default: getSetting( 'hasDarkEditorStyleSupport', false ),
|
23 |
},
|
|
|
|
|
|
|
|
|
24 |
};
|
25 |
|
26 |
export default blockAttributes;
|
assets/js/blocks/cart-checkout/cart/checkout-button/index.js
CHANGED
@@ -40,12 +40,14 @@ const CheckoutButton = ( { link } ) => {
|
|
40 |
const { paymentMethods } = usePaymentMethods();
|
41 |
|
42 |
useEffect( () => {
|
43 |
-
// Add a listener
|
44 |
-
//
|
|
|
45 |
|
46 |
if (
|
47 |
-
|
48 |
-
typeof
|
|
|
49 |
) {
|
50 |
return;
|
51 |
}
|
@@ -54,10 +56,10 @@ const CheckoutButton = ( { link } ) => {
|
|
54 |
setShowSpinner( false );
|
55 |
};
|
56 |
|
57 |
-
|
58 |
|
59 |
return () => {
|
60 |
-
|
61 |
};
|
62 |
}, [] );
|
63 |
|
40 |
const { paymentMethods } = usePaymentMethods();
|
41 |
|
42 |
useEffect( () => {
|
43 |
+
// Add a listener for when the page is unloaded (specifically needed for Safari)
|
44 |
+
// to remove the spinner on the checkout button, so the saved page snapshot does not
|
45 |
+
// contain the spinner class. See https://archive.is/lOEW0 for why this is needed.
|
46 |
|
47 |
if (
|
48 |
+
! window ||
|
49 |
+
typeof window.addEventListener !== 'function' ||
|
50 |
+
typeof window.removeEventListener !== 'function'
|
51 |
) {
|
52 |
return;
|
53 |
}
|
56 |
setShowSpinner( false );
|
57 |
};
|
58 |
|
59 |
+
window.addEventListener( 'beforeunload', hideSpinner );
|
60 |
|
61 |
return () => {
|
62 |
+
window.removeEventListener( 'beforeunload', hideSpinner );
|
63 |
};
|
64 |
}, [] );
|
65 |
|
assets/js/blocks/cart-checkout/cart/edit.js
CHANGED
@@ -39,7 +39,6 @@ const BlockSettings = ( { attributes, setAttributes } ) => {
|
|
39 |
isShippingCalculatorEnabled,
|
40 |
checkoutPageId,
|
41 |
hasDarkControls,
|
42 |
-
showRateAfterTaxName,
|
43 |
} = attributes;
|
44 |
const { currentPostId } = useEditorContext();
|
45 |
const { current: savedCheckoutPageId } = useRef( checkoutPageId );
|
@@ -96,30 +95,6 @@ const BlockSettings = ( { attributes, setAttributes } ) => {
|
|
96 |
/>
|
97 |
</PanelBody>
|
98 |
) }
|
99 |
-
{ getSetting( 'taxesEnabled' ) &&
|
100 |
-
getSetting( 'displayItemizedTaxes', false ) &&
|
101 |
-
! getSetting( 'displayCartPricesIncludingTax', false ) && (
|
102 |
-
<PanelBody
|
103 |
-
title={ __( 'Taxes', 'woo-gutenberg-products-block' ) }
|
104 |
-
>
|
105 |
-
<ToggleControl
|
106 |
-
label={ __(
|
107 |
-
'Show rate after tax name',
|
108 |
-
'woo-gutenberg-products-block'
|
109 |
-
) }
|
110 |
-
help={ __(
|
111 |
-
'Show the percentage rate alongside each tax line in the summary.',
|
112 |
-
'woo-gutenberg-products-block'
|
113 |
-
) }
|
114 |
-
checked={ showRateAfterTaxName }
|
115 |
-
onChange={ () =>
|
116 |
-
setAttributes( {
|
117 |
-
showRateAfterTaxName: ! showRateAfterTaxName,
|
118 |
-
} )
|
119 |
-
}
|
120 |
-
/>
|
121 |
-
</PanelBody>
|
122 |
-
) }
|
123 |
{ ! (
|
124 |
currentPostId === CART_PAGE_ID && savedCheckoutPageId === 0
|
125 |
) && (
|
39 |
isShippingCalculatorEnabled,
|
40 |
checkoutPageId,
|
41 |
hasDarkControls,
|
|
|
42 |
} = attributes;
|
43 |
const { currentPostId } = useEditorContext();
|
44 |
const { current: savedCheckoutPageId } = useRef( checkoutPageId );
|
95 |
/>
|
96 |
</PanelBody>
|
97 |
) }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
{ ! (
|
99 |
currentPostId === CART_PAGE_ID && savedCheckoutPageId === 0
|
100 |
) && (
|
assets/js/blocks/cart-checkout/cart/frontend.js
CHANGED
@@ -6,15 +6,14 @@ import {
|
|
6 |
withRestApiHydration,
|
7 |
} from '@woocommerce/block-hocs';
|
8 |
import { __ } from '@wordpress/i18n';
|
9 |
-
import {
|
10 |
-
StoreNoticesProvider,
|
11 |
-
StoreSnackbarNoticesProvider,
|
12 |
-
} from '@woocommerce/base-context/providers';
|
13 |
import { CURRENT_USER_IS_ADMIN } from '@woocommerce/settings';
|
|
|
14 |
import {
|
15 |
renderFrontend,
|
16 |
getValidBlockAttributes,
|
17 |
} from '@woocommerce/base-utils';
|
|
|
18 |
/**
|
19 |
* Internal dependencies
|
20 |
*/
|
@@ -29,11 +28,9 @@ const reloadPage = () => void window.location.reload( true );
|
|
29 |
*/
|
30 |
const CartFrontend = ( props ) => {
|
31 |
return (
|
32 |
-
<
|
33 |
-
<
|
34 |
-
|
35 |
-
</StoreNoticesProvider>
|
36 |
-
</StoreSnackbarNoticesProvider>
|
37 |
);
|
38 |
};
|
39 |
|
@@ -47,16 +44,21 @@ const getProps = ( el ) => {
|
|
47 |
const getErrorBoundaryProps = () => {
|
48 |
return {
|
49 |
header: __( 'Something went wrong…', 'woo-gutenberg-products-block' ),
|
50 |
-
text:
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
),
|
54 |
showErrorMessage: CURRENT_USER_IS_ADMIN,
|
55 |
-
button: (
|
56 |
-
<button className="wc-block-button" onClick={ reloadPage }>
|
57 |
-
{ __( 'Reload the page', 'woo-gutenberg-products-block' ) }
|
58 |
-
</button>
|
59 |
-
),
|
60 |
};
|
61 |
};
|
62 |
|
6 |
withRestApiHydration,
|
7 |
} from '@woocommerce/block-hocs';
|
8 |
import { __ } from '@wordpress/i18n';
|
9 |
+
import { StoreNoticesProvider } from '@woocommerce/base-context';
|
|
|
|
|
|
|
10 |
import { CURRENT_USER_IS_ADMIN } from '@woocommerce/settings';
|
11 |
+
import { createInterpolateElement } from 'wordpress-element';
|
12 |
import {
|
13 |
renderFrontend,
|
14 |
getValidBlockAttributes,
|
15 |
} from '@woocommerce/base-utils';
|
16 |
+
|
17 |
/**
|
18 |
* Internal dependencies
|
19 |
*/
|
28 |
*/
|
29 |
const CartFrontend = ( props ) => {
|
30 |
return (
|
31 |
+
<StoreNoticesProvider context="wc/cart">
|
32 |
+
<Block { ...props } />
|
33 |
+
</StoreNoticesProvider>
|
|
|
|
|
34 |
);
|
35 |
};
|
36 |
|
44 |
const getErrorBoundaryProps = () => {
|
45 |
return {
|
46 |
header: __( 'Something went wrong…', 'woo-gutenberg-products-block' ),
|
47 |
+
text: createInterpolateElement(
|
48 |
+
__(
|
49 |
+
'The cart has encountered an unexpected error. <button>Try reloading the page</button>. If the error persists, please get in touch with us so we can assist.',
|
50 |
+
'woo-gutenberg-products-block'
|
51 |
+
),
|
52 |
+
{
|
53 |
+
button: (
|
54 |
+
<button
|
55 |
+
className="wc-block-link-button"
|
56 |
+
onClick={ reloadPage }
|
57 |
+
/>
|
58 |
+
),
|
59 |
+
}
|
60 |
),
|
61 |
showErrorMessage: CURRENT_USER_IS_ADMIN,
|
|
|
|
|
|
|
|
|
|
|
62 |
};
|
63 |
};
|
64 |
|
assets/js/blocks/cart-checkout/cart/full-cart/cart-line-item-row.tsx
CHANGED
@@ -9,7 +9,6 @@ import ProductName from '@woocommerce/base-components/product-name';
|
|
9 |
import {
|
10 |
useStoreCartItemQuantity,
|
11 |
useStoreEvents,
|
12 |
-
useStoreCart,
|
13 |
} from '@woocommerce/base-context/hooks';
|
14 |
import {
|
15 |
ProductBackorderBadge,
|
@@ -24,12 +23,13 @@ import {
|
|
24 |
} from '@woocommerce/price-format';
|
25 |
import {
|
26 |
__experimentalApplyCheckoutFilter,
|
|
|
27 |
mustContain,
|
28 |
} from '@woocommerce/blocks-checkout';
|
29 |
import Dinero from 'dinero.js';
|
30 |
import { useCallback, useMemo } from '@wordpress/element';
|
31 |
import type { CartItem } from '@woocommerce/type-defs/cart';
|
32 |
-
import { objectHasProp } from '@woocommerce/
|
33 |
import { getSetting } from '@woocommerce/settings';
|
34 |
|
35 |
/**
|
@@ -111,21 +111,15 @@ const CartLineItemRow = ( {
|
|
111 |
const { dispatchStoreEvent } = useStoreEvents();
|
112 |
|
113 |
const productPriceValidation = useCallback(
|
114 |
-
( value ) => mustContain( value, '<price/>' ),
|
115 |
[]
|
116 |
);
|
117 |
-
|
118 |
-
// Prepare props to pass to the __experimentalApplyCheckoutFilter filter.
|
119 |
-
// We need to pluck out receiveCart.
|
120 |
-
// eslint-disable-next-line no-unused-vars
|
121 |
-
const { receiveCart, ...cart } = useStoreCart();
|
122 |
const arg = useMemo(
|
123 |
() => ( {
|
124 |
context: 'cart',
|
125 |
cartItem: lineItem,
|
126 |
-
cart,
|
127 |
} ),
|
128 |
-
[ lineItem
|
129 |
);
|
130 |
const priceCurrency = getCurrencyFromPriceResponse( prices );
|
131 |
const name = __experimentalApplyCheckoutFilter( {
|
@@ -133,6 +127,7 @@ const CartLineItemRow = ( {
|
|
133 |
defaultValue: initialName,
|
134 |
extensions,
|
135 |
arg,
|
|
|
136 |
} );
|
137 |
|
138 |
const regularAmountSingle = Dinero( {
|
9 |
import {
|
10 |
useStoreCartItemQuantity,
|
11 |
useStoreEvents,
|
|
|
12 |
} from '@woocommerce/base-context/hooks';
|
13 |
import {
|
14 |
ProductBackorderBadge,
|
23 |
} from '@woocommerce/price-format';
|
24 |
import {
|
25 |
__experimentalApplyCheckoutFilter,
|
26 |
+
mustBeString,
|
27 |
mustContain,
|
28 |
} from '@woocommerce/blocks-checkout';
|
29 |
import Dinero from 'dinero.js';
|
30 |
import { useCallback, useMemo } from '@wordpress/element';
|
31 |
import type { CartItem } from '@woocommerce/type-defs/cart';
|
32 |
+
import { objectHasProp } from '@woocommerce/base-utils';
|
33 |
import { getSetting } from '@woocommerce/settings';
|
34 |
|
35 |
/**
|
111 |
const { dispatchStoreEvent } = useStoreEvents();
|
112 |
|
113 |
const productPriceValidation = useCallback(
|
114 |
+
( value ) => mustBeString( value ) && mustContain( value, '<price/>' ),
|
115 |
[]
|
116 |
);
|
|
|
|
|
|
|
|
|
|
|
117 |
const arg = useMemo(
|
118 |
() => ( {
|
119 |
context: 'cart',
|
120 |
cartItem: lineItem,
|
|
|
121 |
} ),
|
122 |
+
[ lineItem ]
|
123 |
);
|
124 |
const priceCurrency = getCurrencyFromPriceResponse( prices );
|
125 |
const name = __experimentalApplyCheckoutFilter( {
|
127 |
defaultValue: initialName,
|
128 |
extensions,
|
129 |
arg,
|
130 |
+
validation: mustBeString,
|
131 |
} );
|
132 |
|
133 |
const regularAmountSingle = Dinero( {
|
assets/js/blocks/cart-checkout/cart/full-cart/index.tsx
CHANGED
@@ -12,10 +12,9 @@ import {
|
|
12 |
Subtotal,
|
13 |
TotalsFees,
|
14 |
TotalsTaxes,
|
15 |
-
TotalsWrapper,
|
16 |
ExperimentalOrderMeta,
|
17 |
-
ExperimentalDiscountsMeta,
|
18 |
} from '@woocommerce/blocks-checkout';
|
|
|
19 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
20 |
import {
|
21 |
useStoreCartCoupons,
|
@@ -41,6 +40,7 @@ import CheckoutButton from '../checkout-button';
|
|
41 |
import CartLineItemsTitle from './cart-line-items-title';
|
42 |
import CartLineItemsTable from './cart-line-items-table';
|
43 |
import { CartExpressPayment } from '../../payment-methods';
|
|
|
44 |
import './style.scss';
|
45 |
|
46 |
interface CartAttributes {
|
@@ -48,7 +48,6 @@ interface CartAttributes {
|
|
48 |
isShippingCalculatorEnabled: boolean;
|
49 |
checkoutPageId: number;
|
50 |
isPreview: boolean;
|
51 |
-
showRateAfterTaxName: boolean;
|
52 |
}
|
53 |
|
54 |
interface CartProps {
|
@@ -61,11 +60,7 @@ interface CartProps {
|
|
61 |
* @param {Object} props.attributes Incoming attributes for block.
|
62 |
*/
|
63 |
const Cart = ( { attributes }: CartProps ) => {
|
64 |
-
const {
|
65 |
-
isShippingCalculatorEnabled,
|
66 |
-
hasDarkControls,
|
67 |
-
showRateAfterTaxName,
|
68 |
-
} = attributes;
|
69 |
|
70 |
const {
|
71 |
cartItems,
|
@@ -114,11 +109,6 @@ const Cart = ( { attributes }: CartProps ) => {
|
|
114 |
cart,
|
115 |
};
|
116 |
|
117 |
-
const discountsSlotFillProps = {
|
118 |
-
extensions,
|
119 |
-
cart,
|
120 |
-
};
|
121 |
-
|
122 |
return (
|
123 |
<>
|
124 |
<CartLineItemsTitle itemCount={ cartItemsCount } />
|
@@ -136,65 +126,49 @@ const Cart = ( { attributes }: CartProps ) => {
|
|
136 |
>
|
137 |
{ __( 'Cart totals', 'woo-gutenberg-products-block' ) }
|
138 |
</Title>
|
139 |
-
<
|
140 |
-
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
values={ cartTotals }
|
143 |
-
/>
|
144 |
-
<TotalsFees
|
145 |
currency={ totalsCurrency }
|
146 |
-
cartFees={ cartFees }
|
147 |
/>
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
|
|
150 |
currency={ totalsCurrency }
|
151 |
-
isRemovingCoupon={ isRemovingCoupon }
|
152 |
-
removeCoupon={ removeCoupon }
|
153 |
values={ cartTotals }
|
154 |
/>
|
155 |
-
|
156 |
{ getSetting( 'couponsEnabled', true ) && (
|
157 |
-
<
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
/>
|
162 |
-
</TotalsWrapper>
|
163 |
) }
|
164 |
-
<
|
165 |
-
{
|
|
|
166 |
/>
|
167 |
-
{ cartNeedsShipping && (
|
168 |
-
<TotalsWrapper>
|
169 |
-
<TotalsShipping
|
170 |
-
showCalculator={ isShippingCalculatorEnabled }
|
171 |
-
showRateSelector={ true }
|
172 |
-
values={ cartTotals }
|
173 |
-
currency={ totalsCurrency }
|
174 |
-
/>
|
175 |
-
</TotalsWrapper>
|
176 |
-
) }
|
177 |
-
{ ! getSetting( 'displayCartPricesIncludingTax', false ) &&
|
178 |
-
parseInt( cartTotals.total_tax, 10 ) > 0 && (
|
179 |
-
<TotalsWrapper>
|
180 |
-
<TotalsTaxes
|
181 |
-
showRateAfterTaxName={
|
182 |
-
showRateAfterTaxName
|
183 |
-
}
|
184 |
-
currency={ totalsCurrency }
|
185 |
-
values={ cartTotals }
|
186 |
-
/>
|
187 |
-
</TotalsWrapper>
|
188 |
-
) }
|
189 |
-
<TotalsWrapper>
|
190 |
-
<TotalsFooterItem
|
191 |
-
currency={ totalsCurrency }
|
192 |
-
values={ cartTotals }
|
193 |
-
/>
|
194 |
-
</TotalsWrapper>
|
195 |
-
|
196 |
<ExperimentalOrderMeta.Slot { ...slotFillProps } />
|
197 |
-
|
198 |
<div className="wc-block-cart__payment-options">
|
199 |
{ cartNeedsPayment && <CartExpressPayment /> }
|
200 |
<CheckoutButton
|
12 |
Subtotal,
|
13 |
TotalsFees,
|
14 |
TotalsTaxes,
|
|
|
15 |
ExperimentalOrderMeta,
|
|
|
16 |
} from '@woocommerce/blocks-checkout';
|
17 |
+
|
18 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
19 |
import {
|
20 |
useStoreCartCoupons,
|
40 |
import CartLineItemsTitle from './cart-line-items-title';
|
41 |
import CartLineItemsTable from './cart-line-items-table';
|
42 |
import { CartExpressPayment } from '../../payment-methods';
|
43 |
+
|
44 |
import './style.scss';
|
45 |
|
46 |
interface CartAttributes {
|
48 |
isShippingCalculatorEnabled: boolean;
|
49 |
checkoutPageId: number;
|
50 |
isPreview: boolean;
|
|
|
51 |
}
|
52 |
|
53 |
interface CartProps {
|
60 |
* @param {Object} props.attributes Incoming attributes for block.
|
61 |
*/
|
62 |
const Cart = ( { attributes }: CartProps ) => {
|
63 |
+
const { isShippingCalculatorEnabled, hasDarkControls } = attributes;
|
|
|
|
|
|
|
|
|
64 |
|
65 |
const {
|
66 |
cartItems,
|
109 |
cart,
|
110 |
};
|
111 |
|
|
|
|
|
|
|
|
|
|
|
112 |
return (
|
113 |
<>
|
114 |
<CartLineItemsTitle itemCount={ cartItemsCount } />
|
126 |
>
|
127 |
{ __( 'Cart totals', 'woo-gutenberg-products-block' ) }
|
128 |
</Title>
|
129 |
+
<Subtotal
|
130 |
+
currency={ totalsCurrency }
|
131 |
+
values={ cartTotals }
|
132 |
+
/>
|
133 |
+
<TotalsFees
|
134 |
+
currency={ totalsCurrency }
|
135 |
+
cartFees={ cartFees }
|
136 |
+
/>
|
137 |
+
<TotalsDiscount
|
138 |
+
cartCoupons={ appliedCoupons }
|
139 |
+
currency={ totalsCurrency }
|
140 |
+
isRemovingCoupon={ isRemovingCoupon }
|
141 |
+
removeCoupon={ removeCoupon }
|
142 |
+
values={ cartTotals }
|
143 |
+
/>
|
144 |
+
{ cartNeedsShipping && (
|
145 |
+
<TotalsShipping
|
146 |
+
showCalculator={ isShippingCalculatorEnabled }
|
147 |
+
showRateSelector={ true }
|
148 |
values={ cartTotals }
|
|
|
|
|
149 |
currency={ totalsCurrency }
|
|
|
150 |
/>
|
151 |
+
) }
|
152 |
+
{ ! getSetting(
|
153 |
+
'displayCartPricesIncludingTax',
|
154 |
+
false
|
155 |
+
) && (
|
156 |
+
<TotalsTaxes
|
157 |
currency={ totalsCurrency }
|
|
|
|
|
158 |
values={ cartTotals }
|
159 |
/>
|
160 |
+
) }
|
161 |
{ getSetting( 'couponsEnabled', true ) && (
|
162 |
+
<TotalsCoupon
|
163 |
+
onSubmit={ applyCoupon }
|
164 |
+
isLoading={ isApplyingCoupon }
|
165 |
+
/>
|
|
|
|
|
166 |
) }
|
167 |
+
<TotalsFooterItem
|
168 |
+
currency={ totalsCurrency }
|
169 |
+
values={ cartTotals }
|
170 |
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
<ExperimentalOrderMeta.Slot { ...slotFillProps } />
|
|
|
172 |
<div className="wc-block-cart__payment-options">
|
173 |
{ cartNeedsPayment && <CartExpressPayment /> }
|
174 |
<CheckoutButton
|
assets/js/blocks/cart-checkout/cart/full-cart/style.scss
CHANGED
@@ -78,11 +78,8 @@ table.wc-block-cart-items {
|
|
78 |
}
|
79 |
}
|
80 |
|
81 |
-
.wc-block-cart {
|
82 |
-
|
83 |
-
.wc-block-components-totals-footer-item {
|
84 |
-
margin: 0;
|
85 |
-
}
|
86 |
}
|
87 |
|
88 |
// Loading placeholder state.
|
@@ -239,14 +236,12 @@ table.wc-block-cart-items {
|
|
239 |
}
|
240 |
td {
|
241 |
@include with-translucent-border(1px 0 0);
|
242 |
-
padding: $gap
|
243 |
vertical-align: top;
|
244 |
}
|
245 |
-
th:last-child
|
246 |
-
padding-right: 0;
|
247 |
-
}
|
248 |
td:last-child {
|
249 |
-
padding-right:
|
250 |
}
|
251 |
}
|
252 |
|
@@ -255,6 +250,7 @@ table.wc-block-cart-items {
|
|
255 |
}
|
256 |
|
257 |
.wc-block-cart__totals-title {
|
|
|
258 |
@include text-heading();
|
259 |
@include font-size(smaller);
|
260 |
display: block;
|
78 |
}
|
79 |
}
|
80 |
|
81 |
+
.wc-block-cart .wc-block-components-shipping-rates-control__package {
|
82 |
+
@include with-translucent-border(1px 0 0);
|
|
|
|
|
|
|
83 |
}
|
84 |
|
85 |
// Loading placeholder state.
|
236 |
}
|
237 |
td {
|
238 |
@include with-translucent-border(1px 0 0);
|
239 |
+
padding: $gap $gap $gap 0;
|
240 |
vertical-align: top;
|
241 |
}
|
242 |
+
th:last-child,
|
|
|
|
|
243 |
td:last-child {
|
244 |
+
padding-right: 0;
|
245 |
}
|
246 |
}
|
247 |
|
250 |
}
|
251 |
|
252 |
.wc-block-cart__totals-title {
|
253 |
+
@include with-translucent-border(0 0 1px);
|
254 |
@include text-heading();
|
255 |
@include font-size(smaller);
|
256 |
display: block;
|
assets/js/blocks/cart-checkout/cart/test/__snapshots__/block.js.snap
DELETED
@@ -1,2219 +0,0 @@
|
|
1 |
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2 |
-
|
3 |
-
exports[`Testing cart Contains a Taxes section if Core options are set to show it 1`] = `
|
4 |
-
<div>
|
5 |
-
<div
|
6 |
-
aria-hidden="true"
|
7 |
-
class="with-scroll-to-top__scroll-point"
|
8 |
-
/>
|
9 |
-
<div
|
10 |
-
class=""
|
11 |
-
>
|
12 |
-
<div
|
13 |
-
aria-hidden="false"
|
14 |
-
class=""
|
15 |
-
>
|
16 |
-
<h2
|
17 |
-
class="wc-block-components-title"
|
18 |
-
>
|
19 |
-
Your cart (3 items)
|
20 |
-
</h2>
|
21 |
-
<div
|
22 |
-
class="wc-block-components-sidebar-layout wc-block-cart"
|
23 |
-
>
|
24 |
-
<iframe
|
25 |
-
aria-hidden="true"
|
26 |
-
frameborder="0"
|
27 |
-
src="about:blank"
|
28 |
-
style="display: block; opacity: 0; position: absolute; top: 0px; left: 0px; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;"
|
29 |
-
tabindex="-1"
|
30 |
-
/>
|
31 |
-
<div
|
32 |
-
class="wc-block-components-main wc-block-cart__main"
|
33 |
-
>
|
34 |
-
<table
|
35 |
-
class="wc-block-cart-items"
|
36 |
-
>
|
37 |
-
<thead>
|
38 |
-
<tr
|
39 |
-
class="wc-block-cart-items__header"
|
40 |
-
>
|
41 |
-
<th
|
42 |
-
class="wc-block-cart-items__header-image"
|
43 |
-
>
|
44 |
-
<span>
|
45 |
-
Product
|
46 |
-
</span>
|
47 |
-
</th>
|
48 |
-
<th
|
49 |
-
class="wc-block-cart-items__header-product"
|
50 |
-
>
|
51 |
-
<span>
|
52 |
-
Details
|
53 |
-
</span>
|
54 |
-
</th>
|
55 |
-
<th
|
56 |
-
class="wc-block-cart-items__header-total"
|
57 |
-
>
|
58 |
-
<span>
|
59 |
-
Total
|
60 |
-
</span>
|
61 |
-
</th>
|
62 |
-
</tr>
|
63 |
-
</thead>
|
64 |
-
<tbody>
|
65 |
-
<tr
|
66 |
-
class="wc-block-cart-items__row"
|
67 |
-
>
|
68 |
-
<td
|
69 |
-
aria-hidden="true"
|
70 |
-
class="wc-block-cart-item__image"
|
71 |
-
>
|
72 |
-
<a
|
73 |
-
href="https://example.org"
|
74 |
-
tabindex="-1"
|
75 |
-
>
|
76 |
-
<img
|
77 |
-
alt=""
|
78 |
-
src="images/previews/beanie.jpg"
|
79 |
-
/>
|
80 |
-
</a>
|
81 |
-
</td>
|
82 |
-
<td
|
83 |
-
class="wc-block-cart-item__product"
|
84 |
-
>
|
85 |
-
<a
|
86 |
-
class="wc-block-components-product-name"
|
87 |
-
href="https://example.org"
|
88 |
-
>
|
89 |
-
Beanie
|
90 |
-
</a>
|
91 |
-
<div
|
92 |
-
class="wc-block-components-product-badge wc-block-components-product-low-stock-badge"
|
93 |
-
>
|
94 |
-
2 left in stock
|
95 |
-
</div>
|
96 |
-
<div
|
97 |
-
class="wc-block-cart-item__prices"
|
98 |
-
>
|
99 |
-
<span
|
100 |
-
class="price wc-block-components-product-price"
|
101 |
-
>
|
102 |
-
<span
|
103 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
104 |
-
>
|
105 |
-
$6.40
|
106 |
-
</span>
|
107 |
-
</span>
|
108 |
-
</div>
|
109 |
-
<div
|
110 |
-
class="wc-block-components-product-metadata"
|
111 |
-
>
|
112 |
-
<div
|
113 |
-
class="wc-block-components-product-metadata__description"
|
114 |
-
>
|
115 |
-
<p>
|
116 |
-
Warm hat for winter
|
117 |
-
</p>
|
118 |
-
|
119 |
-
|
120 |
-
</div>
|
121 |
-
<ul
|
122 |
-
class="wc-block-components-product-details"
|
123 |
-
>
|
124 |
-
<li
|
125 |
-
class="wc-block-components-product-details__color"
|
126 |
-
>
|
127 |
-
<span
|
128 |
-
class="wc-block-components-product-details__name"
|
129 |
-
>
|
130 |
-
Color
|
131 |
-
:
|
132 |
-
</span>
|
133 |
-
|
134 |
-
<span
|
135 |
-
class="wc-block-components-product-details__value"
|
136 |
-
>
|
137 |
-
Yellow
|
138 |
-
</span>
|
139 |
-
</li>
|
140 |
-
<li
|
141 |
-
class="wc-block-components-product-details__size"
|
142 |
-
>
|
143 |
-
<span
|
144 |
-
class="wc-block-components-product-details__name"
|
145 |
-
>
|
146 |
-
Size
|
147 |
-
:
|
148 |
-
</span>
|
149 |
-
|
150 |
-
<span
|
151 |
-
class="wc-block-components-product-details__value"
|
152 |
-
>
|
153 |
-
Small
|
154 |
-
</span>
|
155 |
-
</li>
|
156 |
-
</ul>
|
157 |
-
</div>
|
158 |
-
<div
|
159 |
-
class="wc-block-cart-item__quantity"
|
160 |
-
>
|
161 |
-
<div
|
162 |
-
class="wc-block-components-quantity-selector"
|
163 |
-
>
|
164 |
-
<input
|
165 |
-
aria-label="Quantity of Beanie in your cart."
|
166 |
-
class="wc-block-components-quantity-selector__input"
|
167 |
-
min="0"
|
168 |
-
step="1"
|
169 |
-
type="number"
|
170 |
-
value="1"
|
171 |
-
/>
|
172 |
-
<button
|
173 |
-
aria-label="Reduce quantity"
|
174 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--minus"
|
175 |
-
disabled=""
|
176 |
-
>
|
177 |
-
-
|
178 |
-
</button>
|
179 |
-
<button
|
180 |
-
aria-label="Increase quantity"
|
181 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
|
182 |
-
>
|
183 |
-
+
|
184 |
-
</button>
|
185 |
-
</div>
|
186 |
-
<button
|
187 |
-
class="wc-block-cart-item__remove-link"
|
188 |
-
>
|
189 |
-
Remove item
|
190 |
-
</button>
|
191 |
-
</div>
|
192 |
-
</td>
|
193 |
-
<td
|
194 |
-
class="wc-block-cart-item__total"
|
195 |
-
>
|
196 |
-
<div
|
197 |
-
class="wc-block-cart-item__total-price-and-sale-badge-wrapper"
|
198 |
-
>
|
199 |
-
<span
|
200 |
-
class="price wc-block-components-product-price"
|
201 |
-
>
|
202 |
-
<span
|
203 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
204 |
-
>
|
205 |
-
$12.80
|
206 |
-
</span>
|
207 |
-
</span>
|
208 |
-
</div>
|
209 |
-
</td>
|
210 |
-
</tr>
|
211 |
-
<tr
|
212 |
-
class="wc-block-cart-items__row"
|
213 |
-
>
|
214 |
-
<td
|
215 |
-
aria-hidden="true"
|
216 |
-
class="wc-block-cart-item__image"
|
217 |
-
>
|
218 |
-
<a
|
219 |
-
href="https://example.org"
|
220 |
-
tabindex="-1"
|
221 |
-
>
|
222 |
-
<img
|
223 |
-
alt=""
|
224 |
-
src="images/previews/cap.jpg"
|
225 |
-
/>
|
226 |
-
</a>
|
227 |
-
</td>
|
228 |
-
<td
|
229 |
-
class="wc-block-cart-item__product"
|
230 |
-
>
|
231 |
-
<a
|
232 |
-
class="wc-block-components-product-name"
|
233 |
-
href="https://example.org"
|
234 |
-
>
|
235 |
-
Cap
|
236 |
-
</a>
|
237 |
-
<div
|
238 |
-
class="wc-block-cart-item__prices"
|
239 |
-
>
|
240 |
-
<span
|
241 |
-
class="price wc-block-components-product-price"
|
242 |
-
>
|
243 |
-
<span
|
244 |
-
class="screen-reader-text"
|
245 |
-
>
|
246 |
-
Previous price:
|
247 |
-
</span>
|
248 |
-
<del
|
249 |
-
class="wc-block-components-product-price__regular"
|
250 |
-
>
|
251 |
-
$12.80
|
252 |
-
</del>
|
253 |
-
<span
|
254 |
-
class="screen-reader-text"
|
255 |
-
>
|
256 |
-
Discounted price:
|
257 |
-
</span>
|
258 |
-
<ins
|
259 |
-
class="wc-block-components-product-price__value is-discounted"
|
260 |
-
>
|
261 |
-
$11.20
|
262 |
-
</ins>
|
263 |
-
</span>
|
264 |
-
</div>
|
265 |
-
<div
|
266 |
-
class="wc-block-components-product-badge wc-block-components-sale-badge"
|
267 |
-
>
|
268 |
-
Save
|
269 |
-
<span
|
270 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
271 |
-
>
|
272 |
-
$1.60
|
273 |
-
</span>
|
274 |
-
</div>
|
275 |
-
<div
|
276 |
-
class="wc-block-components-product-metadata"
|
277 |
-
>
|
278 |
-
<div
|
279 |
-
class="wc-block-components-product-metadata__description"
|
280 |
-
>
|
281 |
-
<p>
|
282 |
-
Lightweight baseball cap
|
283 |
-
</p>
|
284 |
-
|
285 |
-
|
286 |
-
</div>
|
287 |
-
<ul
|
288 |
-
class="wc-block-components-product-details"
|
289 |
-
>
|
290 |
-
<li
|
291 |
-
class="wc-block-components-product-details__color"
|
292 |
-
>
|
293 |
-
<span
|
294 |
-
class="wc-block-components-product-details__name"
|
295 |
-
>
|
296 |
-
Color
|
297 |
-
:
|
298 |
-
</span>
|
299 |
-
|
300 |
-
<span
|
301 |
-
class="wc-block-components-product-details__value"
|
302 |
-
>
|
303 |
-
Orange
|
304 |
-
</span>
|
305 |
-
</li>
|
306 |
-
</ul>
|
307 |
-
</div>
|
308 |
-
<div
|
309 |
-
class="wc-block-cart-item__quantity"
|
310 |
-
>
|
311 |
-
<div
|
312 |
-
class="wc-block-components-quantity-selector"
|
313 |
-
>
|
314 |
-
<input
|
315 |
-
aria-label="Quantity of Cap in your cart."
|
316 |
-
class="wc-block-components-quantity-selector__input"
|
317 |
-
min="0"
|
318 |
-
step="1"
|
319 |
-
type="number"
|
320 |
-
value="1"
|
321 |
-
/>
|
322 |
-
<button
|
323 |
-
aria-label="Reduce quantity"
|
324 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--minus"
|
325 |
-
disabled=""
|
326 |
-
>
|
327 |
-
-
|
328 |
-
</button>
|
329 |
-
<button
|
330 |
-
aria-label="Increase quantity"
|
331 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
|
332 |
-
>
|
333 |
-
+
|
334 |
-
</button>
|
335 |
-
</div>
|
336 |
-
<button
|
337 |
-
class="wc-block-cart-item__remove-link"
|
338 |
-
>
|
339 |
-
Remove item
|
340 |
-
</button>
|
341 |
-
</div>
|
342 |
-
</td>
|
343 |
-
<td
|
344 |
-
class="wc-block-cart-item__total"
|
345 |
-
>
|
346 |
-
<div
|
347 |
-
class="wc-block-cart-item__total-price-and-sale-badge-wrapper"
|
348 |
-
>
|
349 |
-
<span
|
350 |
-
class="price wc-block-components-product-price"
|
351 |
-
>
|
352 |
-
<span
|
353 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
354 |
-
>
|
355 |
-
$11.20
|
356 |
-
</span>
|
357 |
-
</span>
|
358 |
-
</div>
|
359 |
-
</td>
|
360 |
-
</tr>
|
361 |
-
</tbody>
|
362 |
-
</table>
|
363 |
-
</div>
|
364 |
-
<div
|
365 |
-
class="wc-block-components-sidebar wc-block-cart__sidebar"
|
366 |
-
>
|
367 |
-
<h2
|
368 |
-
class="wc-block-components-title wc-block-cart__totals-title"
|
369 |
-
>
|
370 |
-
Cart totals
|
371 |
-
</h2>
|
372 |
-
<div
|
373 |
-
class="wc-block-components-totals-wrapper"
|
374 |
-
>
|
375 |
-
<div
|
376 |
-
class="wc-block-components-totals-item"
|
377 |
-
>
|
378 |
-
<span
|
379 |
-
class="wc-block-components-totals-item__label"
|
380 |
-
>
|
381 |
-
Subtotal
|
382 |
-
</span>
|
383 |
-
<span
|
384 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
385 |
-
>
|
386 |
-
$24.00
|
387 |
-
</span>
|
388 |
-
<div
|
389 |
-
class="wc-block-components-totals-item__description"
|
390 |
-
/>
|
391 |
-
</div>
|
392 |
-
</div>
|
393 |
-
<div
|
394 |
-
class="wc-block-components-totals-wrapper"
|
395 |
-
>
|
396 |
-
<div
|
397 |
-
class="wc-block-components-totals-coupon wc-block-components-panel"
|
398 |
-
>
|
399 |
-
<div>
|
400 |
-
<button
|
401 |
-
aria-expanded="false"
|
402 |
-
class="wc-block-components-panel__button"
|
403 |
-
>
|
404 |
-
<svg
|
405 |
-
aria-hidden="true"
|
406 |
-
class="wc-block-components-panel__button-icon"
|
407 |
-
focusable="false"
|
408 |
-
height="24"
|
409 |
-
role="img"
|
410 |
-
viewBox="0 0 24 24"
|
411 |
-
width="24"
|
412 |
-
xmlns="http://www.w3.org/2000/svg"
|
413 |
-
>
|
414 |
-
<path
|
415 |
-
d="M17 9.4L12 14 7 9.4l-1 1.2 6 5.4 6-5.4z"
|
416 |
-
/>
|
417 |
-
</svg>
|
418 |
-
<span
|
419 |
-
aria-hidden="true"
|
420 |
-
>
|
421 |
-
Coupon code
|
422 |
-
</span>
|
423 |
-
<span
|
424 |
-
class="screen-reader-text"
|
425 |
-
>
|
426 |
-
Apply a coupon code
|
427 |
-
</span>
|
428 |
-
</button>
|
429 |
-
</div>
|
430 |
-
<div
|
431 |
-
class="wc-block-components-panel__content"
|
432 |
-
hidden=""
|
433 |
-
>
|
434 |
-
<div
|
435 |
-
class=""
|
436 |
-
>
|
437 |
-
<div
|
438 |
-
aria-hidden="false"
|
439 |
-
class=""
|
440 |
-
>
|
441 |
-
<div
|
442 |
-
class="wc-block-components-totals-coupon__content"
|
443 |
-
>
|
444 |
-
<form
|
445 |
-
class="wc-block-components-totals-coupon__form"
|
446 |
-
>
|
447 |
-
<div
|
448 |
-
class="wc-block-components-text-input wc-block-components-totals-coupon__input is-active"
|
449 |
-
>
|
450 |
-
<input
|
451 |
-
aria-describedby=""
|
452 |
-
aria-label="Enter code"
|
453 |
-
autocapitalize="off"
|
454 |
-
autocomplete="off"
|
455 |
-
id="wc-block-components-totals-coupon__input-1"
|
456 |
-
type="text"
|
457 |
-
value=""
|
458 |
-
/>
|
459 |
-
<label
|
460 |
-
for="wc-block-components-totals-coupon__input-1"
|
461 |
-
>
|
462 |
-
Enter code
|
463 |
-
</label>
|
464 |
-
</div>
|
465 |
-
<button
|
466 |
-
class="components-button wc-block-components-button wc-block-components-totals-coupon__button"
|
467 |
-
disabled=""
|
468 |
-
type="submit"
|
469 |
-
>
|
470 |
-
<span
|
471 |
-
class="wc-block-components-button__text"
|
472 |
-
>
|
473 |
-
Apply
|
474 |
-
</span>
|
475 |
-
</button>
|
476 |
-
</form>
|
477 |
-
</div>
|
478 |
-
</div>
|
479 |
-
</div>
|
480 |
-
</div>
|
481 |
-
</div>
|
482 |
-
</div>
|
483 |
-
<div
|
484 |
-
class="wc-block-components-totals-wrapper"
|
485 |
-
>
|
486 |
-
<div
|
487 |
-
class="wc-block-components-totals-shipping"
|
488 |
-
>
|
489 |
-
<div
|
490 |
-
class="wc-block-components-totals-item"
|
491 |
-
>
|
492 |
-
<span
|
493 |
-
class="wc-block-components-totals-item__label"
|
494 |
-
>
|
495 |
-
Shipping
|
496 |
-
</span>
|
497 |
-
<span
|
498 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
499 |
-
>
|
500 |
-
$0.00
|
501 |
-
</span>
|
502 |
-
<div
|
503 |
-
class="wc-block-components-totals-item__description"
|
504 |
-
>
|
505 |
-
<div
|
506 |
-
class="wc-block-components-totals-item__description wc-block-components-totals-shipping__via"
|
507 |
-
>
|
508 |
-
via
|
509 |
-
|
510 |
-
Free shipping
|
511 |
-
</div>
|
512 |
-
</div>
|
513 |
-
</div>
|
514 |
-
<fieldset
|
515 |
-
class="wc-block-components-totals-shipping__fieldset"
|
516 |
-
>
|
517 |
-
<legend
|
518 |
-
class="screen-reader-text"
|
519 |
-
>
|
520 |
-
Shipping options
|
521 |
-
</legend>
|
522 |
-
<div
|
523 |
-
class=""
|
524 |
-
>
|
525 |
-
<div
|
526 |
-
aria-hidden="false"
|
527 |
-
class=""
|
528 |
-
>
|
529 |
-
<div
|
530 |
-
class="wc-block-components-shipping-rates-control wc-block-components-totals-shipping__options"
|
531 |
-
>
|
532 |
-
<div
|
533 |
-
class="wc-block-components-shipping-rates-control__package wc-block-components-panel"
|
534 |
-
>
|
535 |
-
<div>
|
536 |
-
<button
|
537 |
-
aria-expanded="true"
|
538 |
-
class="wc-block-components-panel__button"
|
539 |
-
>
|
540 |
-
<svg
|
541 |
-
aria-hidden="true"
|
542 |
-
class="wc-block-components-panel__button-icon"
|
543 |
-
focusable="false"
|
544 |
-
height="24"
|
545 |
-
role="img"
|
546 |
-
viewBox="0 0 24 24"
|
547 |
-
width="24"
|
548 |
-
xmlns="http://www.w3.org/2000/svg"
|
549 |
-
>
|
550 |
-
<path
|
551 |
-
d="M12 8l-6 5.4 1 1.2 5-4.6 5 4.6 1-1.2z"
|
552 |
-
/>
|
553 |
-
</svg>
|
554 |
-
<div
|
555 |
-
class="wc-block-components-shipping-rates-control__package-title"
|
556 |
-
>
|
557 |
-
Shipping
|
558 |
-
</div>
|
559 |
-
</button>
|
560 |
-
</div>
|
561 |
-
<div
|
562 |
-
class="wc-block-components-panel__content"
|
563 |
-
>
|
564 |
-
<div
|
565 |
-
class="wc-block-components-radio-control"
|
566 |
-
>
|
567 |
-
<label
|
568 |
-
class="wc-block-components-radio-control__option wc-block-components-radio-control__option-checked"
|
569 |
-
for="radio-control-1-free_shipping:1"
|
570 |
-
>
|
571 |
-
<input
|
572 |
-
aria-describedby="radio-control-1-free_shipping:1__label radio-control-1-free_shipping:1__description"
|
573 |
-
checked=""
|
574 |
-
class="wc-block-components-radio-control__input"
|
575 |
-
id="radio-control-1-free_shipping:1"
|
576 |
-
name="radio-control-1"
|
577 |
-
type="radio"
|
578 |
-
value="free_shipping:1"
|
579 |
-
/>
|
580 |
-
<div
|
581 |
-
class="wc-block-components-radio-control__option-layout"
|
582 |
-
>
|
583 |
-
<div
|
584 |
-
class="wc-block-components-radio-control__label-group"
|
585 |
-
>
|
586 |
-
<span
|
587 |
-
class="wc-block-components-radio-control__label"
|
588 |
-
id="radio-control-1-free_shipping:1__label"
|
589 |
-
>
|
590 |
-
Free shipping
|
591 |
-
</span>
|
592 |
-
</div>
|
593 |
-
<div
|
594 |
-
class="wc-block-components-radio-control__description-group"
|
595 |
-
>
|
596 |
-
<span
|
597 |
-
class="wc-block-components-radio-control__description"
|
598 |
-
id="radio-control-1-free_shipping:1__description"
|
599 |
-
>
|
600 |
-
<span
|
601 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
602 |
-
>
|
603 |
-
$0.00
|
604 |
-
</span>
|
605 |
-
|
606 |
-
</span>
|
607 |
-
</div>
|
608 |
-
</div>
|
609 |
-
</label>
|
610 |
-
<label
|
611 |
-
class="wc-block-components-radio-control__option"
|
612 |
-
for="radio-control-1-local_pickup:1"
|
613 |
-
>
|
614 |
-
<input
|
615 |
-
aria-describedby="radio-control-1-local_pickup:1__label radio-control-1-local_pickup:1__description"
|
616 |
-
class="wc-block-components-radio-control__input"
|
617 |
-
id="radio-control-1-local_pickup:1"
|
618 |
-
name="radio-control-1"
|
619 |
-
type="radio"
|
620 |
-
value="local_pickup:1"
|
621 |
-
/>
|
622 |
-
<div
|
623 |
-
class="wc-block-components-radio-control__option-layout"
|
624 |
-
>
|
625 |
-
<div
|
626 |
-
class="wc-block-components-radio-control__label-group"
|
627 |
-
>
|
628 |
-
<span
|
629 |
-
class="wc-block-components-radio-control__label"
|
630 |
-
id="radio-control-1-local_pickup:1__label"
|
631 |
-
>
|
632 |
-
Local pickup
|
633 |
-
</span>
|
634 |
-
</div>
|
635 |
-
<div
|
636 |
-
class="wc-block-components-radio-control__description-group"
|
637 |
-
>
|
638 |
-
<span
|
639 |
-
class="wc-block-components-radio-control__description"
|
640 |
-
id="radio-control-1-local_pickup:1__description"
|
641 |
-
>
|
642 |
-
<span
|
643 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
644 |
-
>
|
645 |
-
$2.00
|
646 |
-
</span>
|
647 |
-
|
648 |
-
</span>
|
649 |
-
</div>
|
650 |
-
</div>
|
651 |
-
</label>
|
652 |
-
</div>
|
653 |
-
</div>
|
654 |
-
</div>
|
655 |
-
</div>
|
656 |
-
</div>
|
657 |
-
</div>
|
658 |
-
</fieldset>
|
659 |
-
</div>
|
660 |
-
</div>
|
661 |
-
<div
|
662 |
-
class="wc-block-components-totals-wrapper"
|
663 |
-
>
|
664 |
-
<div
|
665 |
-
class="wc-block-components-totals-item wc-block-components-totals-taxes"
|
666 |
-
>
|
667 |
-
<span
|
668 |
-
class="wc-block-components-totals-item__label"
|
669 |
-
>
|
670 |
-
Taxes
|
671 |
-
</span>
|
672 |
-
<span
|
673 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
674 |
-
>
|
675 |
-
$6.00
|
676 |
-
</span>
|
677 |
-
<div
|
678 |
-
class="wc-block-components-totals-item__description"
|
679 |
-
/>
|
680 |
-
</div>
|
681 |
-
</div>
|
682 |
-
<div
|
683 |
-
class="wc-block-components-totals-wrapper"
|
684 |
-
>
|
685 |
-
<div
|
686 |
-
class="wc-block-components-totals-item wc-block-components-totals-footer-item"
|
687 |
-
>
|
688 |
-
<span
|
689 |
-
class="wc-block-components-totals-item__label"
|
690 |
-
>
|
691 |
-
Total
|
692 |
-
</span>
|
693 |
-
<span
|
694 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
695 |
-
>
|
696 |
-
$30.00
|
697 |
-
</span>
|
698 |
-
<div
|
699 |
-
class="wc-block-components-totals-item__description"
|
700 |
-
/>
|
701 |
-
</div>
|
702 |
-
</div>
|
703 |
-
<div
|
704 |
-
class="wc-block-cart__payment-options"
|
705 |
-
>
|
706 |
-
<div
|
707 |
-
class="wc-block-cart__submit"
|
708 |
-
>
|
709 |
-
<div
|
710 |
-
aria-hidden="true"
|
711 |
-
style="bottom: 0px; left: 0px; opacity: 0; pointer-events: none; position: absolute; right: 0px; top: 0px; z-index: -1;"
|
712 |
-
/>
|
713 |
-
<div
|
714 |
-
class="wc-block-cart__submit-container"
|
715 |
-
>
|
716 |
-
<a
|
717 |
-
class="components-button wc-block-components-button wc-block-cart__submit-button"
|
718 |
-
href=""
|
719 |
-
>
|
720 |
-
<span
|
721 |
-
class="wc-block-components-button__text"
|
722 |
-
>
|
723 |
-
Proceed to Checkout
|
724 |
-
</span>
|
725 |
-
</a>
|
726 |
-
</div>
|
727 |
-
</div>
|
728 |
-
</div>
|
729 |
-
</div>
|
730 |
-
</div>
|
731 |
-
<div
|
732 |
-
style="display: none;"
|
733 |
-
/>
|
734 |
-
</div>
|
735 |
-
</div>
|
736 |
-
</div>
|
737 |
-
`;
|
738 |
-
|
739 |
-
exports[`Testing cart Shows individual tax lines if the store is set to do so 1`] = `
|
740 |
-
<div>
|
741 |
-
<div
|
742 |
-
aria-hidden="true"
|
743 |
-
class="with-scroll-to-top__scroll-point"
|
744 |
-
/>
|
745 |
-
<div
|
746 |
-
class=""
|
747 |
-
>
|
748 |
-
<div
|
749 |
-
aria-hidden="false"
|
750 |
-
class=""
|
751 |
-
>
|
752 |
-
<h2
|
753 |
-
class="wc-block-components-title"
|
754 |
-
>
|
755 |
-
Your cart (3 items)
|
756 |
-
</h2>
|
757 |
-
<div
|
758 |
-
class="wc-block-components-sidebar-layout wc-block-cart"
|
759 |
-
>
|
760 |
-
<iframe
|
761 |
-
aria-hidden="true"
|
762 |
-
frameborder="0"
|
763 |
-
src="about:blank"
|
764 |
-
style="display: block; opacity: 0; position: absolute; top: 0px; left: 0px; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;"
|
765 |
-
tabindex="-1"
|
766 |
-
/>
|
767 |
-
<div
|
768 |
-
class="wc-block-components-main wc-block-cart__main"
|
769 |
-
>
|
770 |
-
<table
|
771 |
-
class="wc-block-cart-items"
|
772 |
-
>
|
773 |
-
<thead>
|
774 |
-
<tr
|
775 |
-
class="wc-block-cart-items__header"
|
776 |
-
>
|
777 |
-
<th
|
778 |
-
class="wc-block-cart-items__header-image"
|
779 |
-
>
|
780 |
-
<span>
|
781 |
-
Product
|
782 |
-
</span>
|
783 |
-
</th>
|
784 |
-
<th
|
785 |
-
class="wc-block-cart-items__header-product"
|
786 |
-
>
|
787 |
-
<span>
|
788 |
-
Details
|
789 |
-
</span>
|
790 |
-
</th>
|
791 |
-
<th
|
792 |
-
class="wc-block-cart-items__header-total"
|
793 |
-
>
|
794 |
-
<span>
|
795 |
-
Total
|
796 |
-
</span>
|
797 |
-
</th>
|
798 |
-
</tr>
|
799 |
-
</thead>
|
800 |
-
<tbody>
|
801 |
-
<tr
|
802 |
-
class="wc-block-cart-items__row"
|
803 |
-
>
|
804 |
-
<td
|
805 |
-
aria-hidden="true"
|
806 |
-
class="wc-block-cart-item__image"
|
807 |
-
>
|
808 |
-
<a
|
809 |
-
href="https://example.org"
|
810 |
-
tabindex="-1"
|
811 |
-
>
|
812 |
-
<img
|
813 |
-
alt=""
|
814 |
-
src="images/previews/beanie.jpg"
|
815 |
-
/>
|
816 |
-
</a>
|
817 |
-
</td>
|
818 |
-
<td
|
819 |
-
class="wc-block-cart-item__product"
|
820 |
-
>
|
821 |
-
<a
|
822 |
-
class="wc-block-components-product-name"
|
823 |
-
href="https://example.org"
|
824 |
-
>
|
825 |
-
Beanie
|
826 |
-
</a>
|
827 |
-
<div
|
828 |
-
class="wc-block-components-product-badge wc-block-components-product-low-stock-badge"
|
829 |
-
>
|
830 |
-
2 left in stock
|
831 |
-
</div>
|
832 |
-
<div
|
833 |
-
class="wc-block-cart-item__prices"
|
834 |
-
>
|
835 |
-
<span
|
836 |
-
class="price wc-block-components-product-price"
|
837 |
-
>
|
838 |
-
<span
|
839 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
840 |
-
>
|
841 |
-
$6.40
|
842 |
-
</span>
|
843 |
-
</span>
|
844 |
-
</div>
|
845 |
-
<div
|
846 |
-
class="wc-block-components-product-metadata"
|
847 |
-
>
|
848 |
-
<div
|
849 |
-
class="wc-block-components-product-metadata__description"
|
850 |
-
>
|
851 |
-
<p>
|
852 |
-
Warm hat for winter
|
853 |
-
</p>
|
854 |
-
|
855 |
-
|
856 |
-
</div>
|
857 |
-
<ul
|
858 |
-
class="wc-block-components-product-details"
|
859 |
-
>
|
860 |
-
<li
|
861 |
-
class="wc-block-components-product-details__color"
|
862 |
-
>
|
863 |
-
<span
|
864 |
-
class="wc-block-components-product-details__name"
|
865 |
-
>
|
866 |
-
Color
|
867 |
-
:
|
868 |
-
</span>
|
869 |
-
|
870 |
-
<span
|
871 |
-
class="wc-block-components-product-details__value"
|
872 |
-
>
|
873 |
-
Yellow
|
874 |
-
</span>
|
875 |
-
</li>
|
876 |
-
<li
|
877 |
-
class="wc-block-components-product-details__size"
|
878 |
-
>
|
879 |
-
<span
|
880 |
-
class="wc-block-components-product-details__name"
|
881 |
-
>
|
882 |
-
Size
|
883 |
-
:
|
884 |
-
</span>
|
885 |
-
|
886 |
-
<span
|
887 |
-
class="wc-block-components-product-details__value"
|
888 |
-
>
|
889 |
-
Small
|
890 |
-
</span>
|
891 |
-
</li>
|
892 |
-
</ul>
|
893 |
-
</div>
|
894 |
-
<div
|
895 |
-
class="wc-block-cart-item__quantity"
|
896 |
-
>
|
897 |
-
<div
|
898 |
-
class="wc-block-components-quantity-selector"
|
899 |
-
>
|
900 |
-
<input
|
901 |
-
aria-label="Quantity of Beanie in your cart."
|
902 |
-
class="wc-block-components-quantity-selector__input"
|
903 |
-
min="0"
|
904 |
-
step="1"
|
905 |
-
type="number"
|
906 |
-
value="1"
|
907 |
-
/>
|
908 |
-
<button
|
909 |
-
aria-label="Reduce quantity"
|
910 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--minus"
|
911 |
-
disabled=""
|
912 |
-
>
|
913 |
-
-
|
914 |
-
</button>
|
915 |
-
<button
|
916 |
-
aria-label="Increase quantity"
|
917 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
|
918 |
-
>
|
919 |
-
+
|
920 |
-
</button>
|
921 |
-
</div>
|
922 |
-
<button
|
923 |
-
class="wc-block-cart-item__remove-link"
|
924 |
-
>
|
925 |
-
Remove item
|
926 |
-
</button>
|
927 |
-
</div>
|
928 |
-
</td>
|
929 |
-
<td
|
930 |
-
class="wc-block-cart-item__total"
|
931 |
-
>
|
932 |
-
<div
|
933 |
-
class="wc-block-cart-item__total-price-and-sale-badge-wrapper"
|
934 |
-
>
|
935 |
-
<span
|
936 |
-
class="price wc-block-components-product-price"
|
937 |
-
>
|
938 |
-
<span
|
939 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
940 |
-
>
|
941 |
-
$12.80
|
942 |
-
</span>
|
943 |
-
</span>
|
944 |
-
</div>
|
945 |
-
</td>
|
946 |
-
</tr>
|
947 |
-
<tr
|
948 |
-
class="wc-block-cart-items__row"
|
949 |
-
>
|
950 |
-
<td
|
951 |
-
aria-hidden="true"
|
952 |
-
class="wc-block-cart-item__image"
|
953 |
-
>
|
954 |
-
<a
|
955 |
-
href="https://example.org"
|
956 |
-
tabindex="-1"
|
957 |
-
>
|
958 |
-
<img
|
959 |
-
alt=""
|
960 |
-
src="images/previews/cap.jpg"
|
961 |
-
/>
|
962 |
-
</a>
|
963 |
-
</td>
|
964 |
-
<td
|
965 |
-
class="wc-block-cart-item__product"
|
966 |
-
>
|
967 |
-
<a
|
968 |
-
class="wc-block-components-product-name"
|
969 |
-
href="https://example.org"
|
970 |
-
>
|
971 |
-
Cap
|
972 |
-
</a>
|
973 |
-
<div
|
974 |
-
class="wc-block-cart-item__prices"
|
975 |
-
>
|
976 |
-
<span
|
977 |
-
class="price wc-block-components-product-price"
|
978 |
-
>
|
979 |
-
<span
|
980 |
-
class="screen-reader-text"
|
981 |
-
>
|
982 |
-
Previous price:
|
983 |
-
</span>
|
984 |
-
<del
|
985 |
-
class="wc-block-components-product-price__regular"
|
986 |
-
>
|
987 |
-
$12.80
|
988 |
-
</del>
|
989 |
-
<span
|
990 |
-
class="screen-reader-text"
|
991 |
-
>
|
992 |
-
Discounted price:
|
993 |
-
</span>
|
994 |
-
<ins
|
995 |
-
class="wc-block-components-product-price__value is-discounted"
|
996 |
-
>
|
997 |
-
$11.20
|
998 |
-
</ins>
|
999 |
-
</span>
|
1000 |
-
</div>
|
1001 |
-
<div
|
1002 |
-
class="wc-block-components-product-badge wc-block-components-sale-badge"
|
1003 |
-
>
|
1004 |
-
Save
|
1005 |
-
<span
|
1006 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
1007 |
-
>
|
1008 |
-
$1.60
|
1009 |
-
</span>
|
1010 |
-
</div>
|
1011 |
-
<div
|
1012 |
-
class="wc-block-components-product-metadata"
|
1013 |
-
>
|
1014 |
-
<div
|
1015 |
-
class="wc-block-components-product-metadata__description"
|
1016 |
-
>
|
1017 |
-
<p>
|
1018 |
-
Lightweight baseball cap
|
1019 |
-
</p>
|
1020 |
-
|
1021 |
-
|
1022 |
-
</div>
|
1023 |
-
<ul
|
1024 |
-
class="wc-block-components-product-details"
|
1025 |
-
>
|
1026 |
-
<li
|
1027 |
-
class="wc-block-components-product-details__color"
|
1028 |
-
>
|
1029 |
-
<span
|
1030 |
-
class="wc-block-components-product-details__name"
|
1031 |
-
>
|
1032 |
-
Color
|
1033 |
-
:
|
1034 |
-
</span>
|
1035 |
-
|
1036 |
-
<span
|
1037 |
-
class="wc-block-components-product-details__value"
|
1038 |
-
>
|
1039 |
-
Orange
|
1040 |
-
</span>
|
1041 |
-
</li>
|
1042 |
-
</ul>
|
1043 |
-
</div>
|
1044 |
-
<div
|
1045 |
-
class="wc-block-cart-item__quantity"
|
1046 |
-
>
|
1047 |
-
<div
|
1048 |
-
class="wc-block-components-quantity-selector"
|
1049 |
-
>
|
1050 |
-
<input
|
1051 |
-
aria-label="Quantity of Cap in your cart."
|
1052 |
-
class="wc-block-components-quantity-selector__input"
|
1053 |
-
min="0"
|
1054 |
-
step="1"
|
1055 |
-
type="number"
|
1056 |
-
value="1"
|
1057 |
-
/>
|
1058 |
-
<button
|
1059 |
-
aria-label="Reduce quantity"
|
1060 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--minus"
|
1061 |
-
disabled=""
|
1062 |
-
>
|
1063 |
-
-
|
1064 |
-
</button>
|
1065 |
-
<button
|
1066 |
-
aria-label="Increase quantity"
|
1067 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
|
1068 |
-
>
|
1069 |
-
+
|
1070 |
-
</button>
|
1071 |
-
</div>
|
1072 |
-
<button
|
1073 |
-
class="wc-block-cart-item__remove-link"
|
1074 |
-
>
|
1075 |
-
Remove item
|
1076 |
-
</button>
|
1077 |
-
</div>
|
1078 |
-
</td>
|
1079 |
-
<td
|
1080 |
-
class="wc-block-cart-item__total"
|
1081 |
-
>
|
1082 |
-
<div
|
1083 |
-
class="wc-block-cart-item__total-price-and-sale-badge-wrapper"
|
1084 |
-
>
|
1085 |
-
<span
|
1086 |
-
class="price wc-block-components-product-price"
|
1087 |
-
>
|
1088 |
-
<span
|
1089 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
1090 |
-
>
|
1091 |
-
$11.20
|
1092 |
-
</span>
|
1093 |
-
</span>
|
1094 |
-
</div>
|
1095 |
-
</td>
|
1096 |
-
</tr>
|
1097 |
-
</tbody>
|
1098 |
-
</table>
|
1099 |
-
</div>
|
1100 |
-
<div
|
1101 |
-
class="wc-block-components-sidebar wc-block-cart__sidebar"
|
1102 |
-
>
|
1103 |
-
<h2
|
1104 |
-
class="wc-block-components-title wc-block-cart__totals-title"
|
1105 |
-
>
|
1106 |
-
Cart totals
|
1107 |
-
</h2>
|
1108 |
-
<div
|
1109 |
-
class="wc-block-components-totals-wrapper"
|
1110 |
-
>
|
1111 |
-
<div
|
1112 |
-
class="wc-block-components-totals-item"
|
1113 |
-
>
|
1114 |
-
<span
|
1115 |
-
class="wc-block-components-totals-item__label"
|
1116 |
-
>
|
1117 |
-
Subtotal
|
1118 |
-
</span>
|
1119 |
-
<span
|
1120 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
1121 |
-
>
|
1122 |
-
$24.00
|
1123 |
-
</span>
|
1124 |
-
<div
|
1125 |
-
class="wc-block-components-totals-item__description"
|
1126 |
-
/>
|
1127 |
-
</div>
|
1128 |
-
</div>
|
1129 |
-
<div
|
1130 |
-
class="wc-block-components-totals-wrapper"
|
1131 |
-
>
|
1132 |
-
<div
|
1133 |
-
class="wc-block-components-totals-coupon wc-block-components-panel"
|
1134 |
-
>
|
1135 |
-
<div>
|
1136 |
-
<button
|
1137 |
-
aria-expanded="false"
|
1138 |
-
class="wc-block-components-panel__button"
|
1139 |
-
>
|
1140 |
-
<svg
|
1141 |
-
aria-hidden="true"
|
1142 |
-
class="wc-block-components-panel__button-icon"
|
1143 |
-
focusable="false"
|
1144 |
-
height="24"
|
1145 |
-
role="img"
|
1146 |
-
viewBox="0 0 24 24"
|
1147 |
-
width="24"
|
1148 |
-
xmlns="http://www.w3.org/2000/svg"
|
1149 |
-
>
|
1150 |
-
<path
|
1151 |
-
d="M17 9.4L12 14 7 9.4l-1 1.2 6 5.4 6-5.4z"
|
1152 |
-
/>
|
1153 |
-
</svg>
|
1154 |
-
<span
|
1155 |
-
aria-hidden="true"
|
1156 |
-
>
|
1157 |
-
Coupon code
|
1158 |
-
</span>
|
1159 |
-
<span
|
1160 |
-
class="screen-reader-text"
|
1161 |
-
>
|
1162 |
-
Apply a coupon code
|
1163 |
-
</span>
|
1164 |
-
</button>
|
1165 |
-
</div>
|
1166 |
-
<div
|
1167 |
-
class="wc-block-components-panel__content"
|
1168 |
-
hidden=""
|
1169 |
-
>
|
1170 |
-
<div
|
1171 |
-
class=""
|
1172 |
-
>
|
1173 |
-
<div
|
1174 |
-
aria-hidden="false"
|
1175 |
-
class=""
|
1176 |
-
>
|
1177 |
-
<div
|
1178 |
-
class="wc-block-components-totals-coupon__content"
|
1179 |
-
>
|
1180 |
-
<form
|
1181 |
-
class="wc-block-components-totals-coupon__form"
|
1182 |
-
>
|
1183 |
-
<div
|
1184 |
-
class="wc-block-components-text-input wc-block-components-totals-coupon__input is-active"
|
1185 |
-
>
|
1186 |
-
<input
|
1187 |
-
aria-describedby=""
|
1188 |
-
aria-label="Enter code"
|
1189 |
-
autocapitalize="off"
|
1190 |
-
autocomplete="off"
|
1191 |
-
id="wc-block-components-totals-coupon__input-2"
|
1192 |
-
type="text"
|
1193 |
-
value=""
|
1194 |
-
/>
|
1195 |
-
<label
|
1196 |
-
for="wc-block-components-totals-coupon__input-2"
|
1197 |
-
>
|
1198 |
-
Enter code
|
1199 |
-
</label>
|
1200 |
-
</div>
|
1201 |
-
<button
|
1202 |
-
class="components-button wc-block-components-button wc-block-components-totals-coupon__button"
|
1203 |
-
disabled=""
|
1204 |
-
type="submit"
|
1205 |
-
>
|
1206 |
-
<span
|
1207 |
-
class="wc-block-components-button__text"
|
1208 |
-
>
|
1209 |
-
Apply
|
1210 |
-
</span>
|
1211 |
-
</button>
|
1212 |
-
</form>
|
1213 |
-
</div>
|
1214 |
-
</div>
|
1215 |
-
</div>
|
1216 |
-
</div>
|
1217 |
-
</div>
|
1218 |
-
</div>
|
1219 |
-
<div
|
1220 |
-
class="wc-block-components-totals-wrapper"
|
1221 |
-
>
|
1222 |
-
<div
|
1223 |
-
class="wc-block-components-totals-shipping"
|
1224 |
-
>
|
1225 |
-
<div
|
1226 |
-
class="wc-block-components-totals-item"
|
1227 |
-
>
|
1228 |
-
<span
|
1229 |
-
class="wc-block-components-totals-item__label"
|
1230 |
-
>
|
1231 |
-
Shipping
|
1232 |
-
</span>
|
1233 |
-
<span
|
1234 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
1235 |
-
>
|
1236 |
-
$0.00
|
1237 |
-
</span>
|
1238 |
-
<div
|
1239 |
-
class="wc-block-components-totals-item__description"
|
1240 |
-
>
|
1241 |
-
<div
|
1242 |
-
class="wc-block-components-totals-item__description wc-block-components-totals-shipping__via"
|
1243 |
-
>
|
1244 |
-
via
|
1245 |
-
|
1246 |
-
Free shipping
|
1247 |
-
</div>
|
1248 |
-
</div>
|
1249 |
-
</div>
|
1250 |
-
<fieldset
|
1251 |
-
class="wc-block-components-totals-shipping__fieldset"
|
1252 |
-
>
|
1253 |
-
<legend
|
1254 |
-
class="screen-reader-text"
|
1255 |
-
>
|
1256 |
-
Shipping options
|
1257 |
-
</legend>
|
1258 |
-
<div
|
1259 |
-
class=""
|
1260 |
-
>
|
1261 |
-
<div
|
1262 |
-
aria-hidden="false"
|
1263 |
-
class=""
|
1264 |
-
>
|
1265 |
-
<div
|
1266 |
-
class="wc-block-components-shipping-rates-control wc-block-components-totals-shipping__options"
|
1267 |
-
>
|
1268 |
-
<div
|
1269 |
-
class="wc-block-components-shipping-rates-control__package wc-block-components-panel"
|
1270 |
-
>
|
1271 |
-
<div>
|
1272 |
-
<button
|
1273 |
-
aria-expanded="true"
|
1274 |
-
class="wc-block-components-panel__button"
|
1275 |
-
>
|
1276 |
-
<svg
|
1277 |
-
aria-hidden="true"
|
1278 |
-
class="wc-block-components-panel__button-icon"
|
1279 |
-
focusable="false"
|
1280 |
-
height="24"
|
1281 |
-
role="img"
|
1282 |
-
viewBox="0 0 24 24"
|
1283 |
-
width="24"
|
1284 |
-
xmlns="http://www.w3.org/2000/svg"
|
1285 |
-
>
|
1286 |
-
<path
|
1287 |
-
d="M12 8l-6 5.4 1 1.2 5-4.6 5 4.6 1-1.2z"
|
1288 |
-
/>
|
1289 |
-
</svg>
|
1290 |
-
<div
|
1291 |
-
class="wc-block-components-shipping-rates-control__package-title"
|
1292 |
-
>
|
1293 |
-
Shipping
|
1294 |
-
</div>
|
1295 |
-
</button>
|
1296 |
-
</div>
|
1297 |
-
<div
|
1298 |
-
class="wc-block-components-panel__content"
|
1299 |
-
>
|
1300 |
-
<div
|
1301 |
-
class="wc-block-components-radio-control"
|
1302 |
-
>
|
1303 |
-
<label
|
1304 |
-
class="wc-block-components-radio-control__option wc-block-components-radio-control__option-checked"
|
1305 |
-
for="radio-control-2-free_shipping:1"
|
1306 |
-
>
|
1307 |
-
<input
|
1308 |
-
aria-describedby="radio-control-2-free_shipping:1__label radio-control-2-free_shipping:1__description"
|
1309 |
-
checked=""
|
1310 |
-
class="wc-block-components-radio-control__input"
|
1311 |
-
id="radio-control-2-free_shipping:1"
|
1312 |
-
name="radio-control-2"
|
1313 |
-
type="radio"
|
1314 |
-
value="free_shipping:1"
|
1315 |
-
/>
|
1316 |
-
<div
|
1317 |
-
class="wc-block-components-radio-control__option-layout"
|
1318 |
-
>
|
1319 |
-
<div
|
1320 |
-
class="wc-block-components-radio-control__label-group"
|
1321 |
-
>
|
1322 |
-
<span
|
1323 |
-
class="wc-block-components-radio-control__label"
|
1324 |
-
id="radio-control-2-free_shipping:1__label"
|
1325 |
-
>
|
1326 |
-
Free shipping
|
1327 |
-
</span>
|
1328 |
-
</div>
|
1329 |
-
<div
|
1330 |
-
class="wc-block-components-radio-control__description-group"
|
1331 |
-
>
|
1332 |
-
<span
|
1333 |
-
class="wc-block-components-radio-control__description"
|
1334 |
-
id="radio-control-2-free_shipping:1__description"
|
1335 |
-
>
|
1336 |
-
<span
|
1337 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
1338 |
-
>
|
1339 |
-
$0.00
|
1340 |
-
</span>
|
1341 |
-
|
1342 |
-
</span>
|
1343 |
-
</div>
|
1344 |
-
</div>
|
1345 |
-
</label>
|
1346 |
-
<label
|
1347 |
-
class="wc-block-components-radio-control__option"
|
1348 |
-
for="radio-control-2-local_pickup:1"
|
1349 |
-
>
|
1350 |
-
<input
|
1351 |
-
aria-describedby="radio-control-2-local_pickup:1__label radio-control-2-local_pickup:1__description"
|
1352 |
-
class="wc-block-components-radio-control__input"
|
1353 |
-
id="radio-control-2-local_pickup:1"
|
1354 |
-
name="radio-control-2"
|
1355 |
-
type="radio"
|
1356 |
-
value="local_pickup:1"
|
1357 |
-
/>
|
1358 |
-
<div
|
1359 |
-
class="wc-block-components-radio-control__option-layout"
|
1360 |
-
>
|
1361 |
-
<div
|
1362 |
-
class="wc-block-components-radio-control__label-group"
|
1363 |
-
>
|
1364 |
-
<span
|
1365 |
-
class="wc-block-components-radio-control__label"
|
1366 |
-
id="radio-control-2-local_pickup:1__label"
|
1367 |
-
>
|
1368 |
-
Local pickup
|
1369 |
-
</span>
|
1370 |
-
</div>
|
1371 |
-
<div
|
1372 |
-
class="wc-block-components-radio-control__description-group"
|
1373 |
-
>
|
1374 |
-
<span
|
1375 |
-
class="wc-block-components-radio-control__description"
|
1376 |
-
id="radio-control-2-local_pickup:1__description"
|
1377 |
-
>
|
1378 |
-
<span
|
1379 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
1380 |
-
>
|
1381 |
-
$2.00
|
1382 |
-
</span>
|
1383 |
-
|
1384 |
-
</span>
|
1385 |
-
</div>
|
1386 |
-
</div>
|
1387 |
-
</label>
|
1388 |
-
</div>
|
1389 |
-
</div>
|
1390 |
-
</div>
|
1391 |
-
</div>
|
1392 |
-
</div>
|
1393 |
-
</div>
|
1394 |
-
</fieldset>
|
1395 |
-
</div>
|
1396 |
-
</div>
|
1397 |
-
<div
|
1398 |
-
class="wc-block-components-totals-wrapper"
|
1399 |
-
>
|
1400 |
-
<div
|
1401 |
-
class="wc-block-components-totals-taxes"
|
1402 |
-
>
|
1403 |
-
<div
|
1404 |
-
class="wc-block-components-totals-item wc-block-components-totals-taxes__grouped-rate"
|
1405 |
-
>
|
1406 |
-
<span
|
1407 |
-
class="wc-block-components-totals-item__label"
|
1408 |
-
>
|
1409 |
-
Sales tax
|
1410 |
-
</span>
|
1411 |
-
<span
|
1412 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
1413 |
-
>
|
1414 |
-
$6.00
|
1415 |
-
</span>
|
1416 |
-
<div
|
1417 |
-
class="wc-block-components-totals-item__description"
|
1418 |
-
/>
|
1419 |
-
</div>
|
1420 |
-
|
1421 |
-
</div>
|
1422 |
-
</div>
|
1423 |
-
<div
|
1424 |
-
class="wc-block-components-totals-wrapper"
|
1425 |
-
>
|
1426 |
-
<div
|
1427 |
-
class="wc-block-components-totals-item wc-block-components-totals-footer-item"
|
1428 |
-
>
|
1429 |
-
<span
|
1430 |
-
class="wc-block-components-totals-item__label"
|
1431 |
-
>
|
1432 |
-
Total
|
1433 |
-
</span>
|
1434 |
-
<span
|
1435 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
1436 |
-
>
|
1437 |
-
$30.00
|
1438 |
-
</span>
|
1439 |
-
<div
|
1440 |
-
class="wc-block-components-totals-item__description"
|
1441 |
-
/>
|
1442 |
-
</div>
|
1443 |
-
</div>
|
1444 |
-
<div
|
1445 |
-
class="wc-block-cart__payment-options"
|
1446 |
-
>
|
1447 |
-
<div
|
1448 |
-
class="wc-block-cart__submit"
|
1449 |
-
>
|
1450 |
-
<div
|
1451 |
-
aria-hidden="true"
|
1452 |
-
style="bottom: 0px; left: 0px; opacity: 0; pointer-events: none; position: absolute; right: 0px; top: 0px; z-index: -1;"
|
1453 |
-
/>
|
1454 |
-
<div
|
1455 |
-
class="wc-block-cart__submit-container"
|
1456 |
-
>
|
1457 |
-
<a
|
1458 |
-
class="components-button wc-block-components-button wc-block-cart__submit-button"
|
1459 |
-
href=""
|
1460 |
-
>
|
1461 |
-
<span
|
1462 |
-
class="wc-block-components-button__text"
|
1463 |
-
>
|
1464 |
-
Proceed to Checkout
|
1465 |
-
</span>
|
1466 |
-
</a>
|
1467 |
-
</div>
|
1468 |
-
</div>
|
1469 |
-
</div>
|
1470 |
-
</div>
|
1471 |
-
</div>
|
1472 |
-
<div
|
1473 |
-
style="display: none;"
|
1474 |
-
/>
|
1475 |
-
</div>
|
1476 |
-
</div>
|
1477 |
-
</div>
|
1478 |
-
`;
|
1479 |
-
|
1480 |
-
exports[`Testing cart Shows rate percentages after tax lines if the block is set to do so 1`] = `
|
1481 |
-
<div>
|
1482 |
-
<div
|
1483 |
-
aria-hidden="true"
|
1484 |
-
class="with-scroll-to-top__scroll-point"
|
1485 |
-
/>
|
1486 |
-
<div
|
1487 |
-
class=""
|
1488 |
-
>
|
1489 |
-
<div
|
1490 |
-
aria-hidden="false"
|
1491 |
-
class=""
|
1492 |
-
>
|
1493 |
-
<h2
|
1494 |
-
class="wc-block-components-title"
|
1495 |
-
>
|
1496 |
-
Your cart (3 items)
|
1497 |
-
</h2>
|
1498 |
-
<div
|
1499 |
-
class="wc-block-components-sidebar-layout wc-block-cart"
|
1500 |
-
>
|
1501 |
-
<iframe
|
1502 |
-
aria-hidden="true"
|
1503 |
-
frameborder="0"
|
1504 |
-
src="about:blank"
|
1505 |
-
style="display: block; opacity: 0; position: absolute; top: 0px; left: 0px; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;"
|
1506 |
-
tabindex="-1"
|
1507 |
-
/>
|
1508 |
-
<div
|
1509 |
-
class="wc-block-components-main wc-block-cart__main"
|
1510 |
-
>
|
1511 |
-
<table
|
1512 |
-
class="wc-block-cart-items"
|
1513 |
-
>
|
1514 |
-
<thead>
|
1515 |
-
<tr
|
1516 |
-
class="wc-block-cart-items__header"
|
1517 |
-
>
|
1518 |
-
<th
|
1519 |
-
class="wc-block-cart-items__header-image"
|
1520 |
-
>
|
1521 |
-
<span>
|
1522 |
-
Product
|
1523 |
-
</span>
|
1524 |
-
</th>
|
1525 |
-
<th
|
1526 |
-
class="wc-block-cart-items__header-product"
|
1527 |
-
>
|
1528 |
-
<span>
|
1529 |
-
Details
|
1530 |
-
</span>
|
1531 |
-
</th>
|
1532 |
-
<th
|
1533 |
-
class="wc-block-cart-items__header-total"
|
1534 |
-
>
|
1535 |
-
<span>
|
1536 |
-
Total
|
1537 |
-
</span>
|
1538 |
-
</th>
|
1539 |
-
</tr>
|
1540 |
-
</thead>
|
1541 |
-
<tbody>
|
1542 |
-
<tr
|
1543 |
-
class="wc-block-cart-items__row"
|
1544 |
-
>
|
1545 |
-
<td
|
1546 |
-
aria-hidden="true"
|
1547 |
-
class="wc-block-cart-item__image"
|
1548 |
-
>
|
1549 |
-
<a
|
1550 |
-
href="https://example.org"
|
1551 |
-
tabindex="-1"
|
1552 |
-
>
|
1553 |
-
<img
|
1554 |
-
alt=""
|
1555 |
-
src="images/previews/beanie.jpg"
|
1556 |
-
/>
|
1557 |
-
</a>
|
1558 |
-
</td>
|
1559 |
-
<td
|
1560 |
-
class="wc-block-cart-item__product"
|
1561 |
-
>
|
1562 |
-
<a
|
1563 |
-
class="wc-block-components-product-name"
|
1564 |
-
href="https://example.org"
|
1565 |
-
>
|
1566 |
-
Beanie
|
1567 |
-
</a>
|
1568 |
-
<div
|
1569 |
-
class="wc-block-components-product-badge wc-block-components-product-low-stock-badge"
|
1570 |
-
>
|
1571 |
-
2 left in stock
|
1572 |
-
</div>
|
1573 |
-
<div
|
1574 |
-
class="wc-block-cart-item__prices"
|
1575 |
-
>
|
1576 |
-
<span
|
1577 |
-
class="price wc-block-components-product-price"
|
1578 |
-
>
|
1579 |
-
<span
|
1580 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
1581 |
-
>
|
1582 |
-
$6.40
|
1583 |
-
</span>
|
1584 |
-
</span>
|
1585 |
-
</div>
|
1586 |
-
<div
|
1587 |
-
class="wc-block-components-product-metadata"
|
1588 |
-
>
|
1589 |
-
<div
|
1590 |
-
class="wc-block-components-product-metadata__description"
|
1591 |
-
>
|
1592 |
-
<p>
|
1593 |
-
Warm hat for winter
|
1594 |
-
</p>
|
1595 |
-
|
1596 |
-
|
1597 |
-
</div>
|
1598 |
-
<ul
|
1599 |
-
class="wc-block-components-product-details"
|
1600 |
-
>
|
1601 |
-
<li
|
1602 |
-
class="wc-block-components-product-details__color"
|
1603 |
-
>
|
1604 |
-
<span
|
1605 |
-
class="wc-block-components-product-details__name"
|
1606 |
-
>
|
1607 |
-
Color
|
1608 |
-
:
|
1609 |
-
</span>
|
1610 |
-
|
1611 |
-
<span
|
1612 |
-
class="wc-block-components-product-details__value"
|
1613 |
-
>
|
1614 |
-
Yellow
|
1615 |
-
</span>
|
1616 |
-
</li>
|
1617 |
-
<li
|
1618 |
-
class="wc-block-components-product-details__size"
|
1619 |
-
>
|
1620 |
-
<span
|
1621 |
-
class="wc-block-components-product-details__name"
|
1622 |
-
>
|
1623 |
-
Size
|
1624 |
-
:
|
1625 |
-
</span>
|
1626 |
-
|
1627 |
-
<span
|
1628 |
-
class="wc-block-components-product-details__value"
|
1629 |
-
>
|
1630 |
-
Small
|
1631 |
-
</span>
|
1632 |
-
</li>
|
1633 |
-
</ul>
|
1634 |
-
</div>
|
1635 |
-
<div
|
1636 |
-
class="wc-block-cart-item__quantity"
|
1637 |
-
>
|
1638 |
-
<div
|
1639 |
-
class="wc-block-components-quantity-selector"
|
1640 |
-
>
|
1641 |
-
<input
|
1642 |
-
aria-label="Quantity of Beanie in your cart."
|
1643 |
-
class="wc-block-components-quantity-selector__input"
|
1644 |
-
min="0"
|
1645 |
-
step="1"
|
1646 |
-
type="number"
|
1647 |
-
value="1"
|
1648 |
-
/>
|
1649 |
-
<button
|
1650 |
-
aria-label="Reduce quantity"
|
1651 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--minus"
|
1652 |
-
disabled=""
|
1653 |
-
>
|
1654 |
-
-
|
1655 |
-
</button>
|
1656 |
-
<button
|
1657 |
-
aria-label="Increase quantity"
|
1658 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
|
1659 |
-
>
|
1660 |
-
+
|
1661 |
-
</button>
|
1662 |
-
</div>
|
1663 |
-
<button
|
1664 |
-
class="wc-block-cart-item__remove-link"
|
1665 |
-
>
|
1666 |
-
Remove item
|
1667 |
-
</button>
|
1668 |
-
</div>
|
1669 |
-
</td>
|
1670 |
-
<td
|
1671 |
-
class="wc-block-cart-item__total"
|
1672 |
-
>
|
1673 |
-
<div
|
1674 |
-
class="wc-block-cart-item__total-price-and-sale-badge-wrapper"
|
1675 |
-
>
|
1676 |
-
<span
|
1677 |
-
class="price wc-block-components-product-price"
|
1678 |
-
>
|
1679 |
-
<span
|
1680 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
1681 |
-
>
|
1682 |
-
$12.80
|
1683 |
-
</span>
|
1684 |
-
</span>
|
1685 |
-
</div>
|
1686 |
-
</td>
|
1687 |
-
</tr>
|
1688 |
-
<tr
|
1689 |
-
class="wc-block-cart-items__row"
|
1690 |
-
>
|
1691 |
-
<td
|
1692 |
-
aria-hidden="true"
|
1693 |
-
class="wc-block-cart-item__image"
|
1694 |
-
>
|
1695 |
-
<a
|
1696 |
-
href="https://example.org"
|
1697 |
-
tabindex="-1"
|
1698 |
-
>
|
1699 |
-
<img
|
1700 |
-
alt=""
|
1701 |
-
src="images/previews/cap.jpg"
|
1702 |
-
/>
|
1703 |
-
</a>
|
1704 |
-
</td>
|
1705 |
-
<td
|
1706 |
-
class="wc-block-cart-item__product"
|
1707 |
-
>
|
1708 |
-
<a
|
1709 |
-
class="wc-block-components-product-name"
|
1710 |
-
href="https://example.org"
|
1711 |
-
>
|
1712 |
-
Cap
|
1713 |
-
</a>
|
1714 |
-
<div
|
1715 |
-
class="wc-block-cart-item__prices"
|
1716 |
-
>
|
1717 |
-
<span
|
1718 |
-
class="price wc-block-components-product-price"
|
1719 |
-
>
|
1720 |
-
<span
|
1721 |
-
class="screen-reader-text"
|
1722 |
-
>
|
1723 |
-
Previous price:
|
1724 |
-
</span>
|
1725 |
-
<del
|
1726 |
-
class="wc-block-components-product-price__regular"
|
1727 |
-
>
|
1728 |
-
$12.80
|
1729 |
-
</del>
|
1730 |
-
<span
|
1731 |
-
class="screen-reader-text"
|
1732 |
-
>
|
1733 |
-
Discounted price:
|
1734 |
-
</span>
|
1735 |
-
<ins
|
1736 |
-
class="wc-block-components-product-price__value is-discounted"
|
1737 |
-
>
|
1738 |
-
$11.20
|
1739 |
-
</ins>
|
1740 |
-
</span>
|
1741 |
-
</div>
|
1742 |
-
<div
|
1743 |
-
class="wc-block-components-product-badge wc-block-components-sale-badge"
|
1744 |
-
>
|
1745 |
-
Save
|
1746 |
-
<span
|
1747 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
1748 |
-
>
|
1749 |
-
$1.60
|
1750 |
-
</span>
|
1751 |
-
</div>
|
1752 |
-
<div
|
1753 |
-
class="wc-block-components-product-metadata"
|
1754 |
-
>
|
1755 |
-
<div
|
1756 |
-
class="wc-block-components-product-metadata__description"
|
1757 |
-
>
|
1758 |
-
<p>
|
1759 |
-
Lightweight baseball cap
|
1760 |
-
</p>
|
1761 |
-
|
1762 |
-
|
1763 |
-
</div>
|
1764 |
-
<ul
|
1765 |
-
class="wc-block-components-product-details"
|
1766 |
-
>
|
1767 |
-
<li
|
1768 |
-
class="wc-block-components-product-details__color"
|
1769 |
-
>
|
1770 |
-
<span
|
1771 |
-
class="wc-block-components-product-details__name"
|
1772 |
-
>
|
1773 |
-
Color
|
1774 |
-
:
|
1775 |
-
</span>
|
1776 |
-
|
1777 |
-
<span
|
1778 |
-
class="wc-block-components-product-details__value"
|
1779 |
-
>
|
1780 |
-
Orange
|
1781 |
-
</span>
|
1782 |
-
</li>
|
1783 |
-
</ul>
|
1784 |
-
</div>
|
1785 |
-
<div
|
1786 |
-
class="wc-block-cart-item__quantity"
|
1787 |
-
>
|
1788 |
-
<div
|
1789 |
-
class="wc-block-components-quantity-selector"
|
1790 |
-
>
|
1791 |
-
<input
|
1792 |
-
aria-label="Quantity of Cap in your cart."
|
1793 |
-
class="wc-block-components-quantity-selector__input"
|
1794 |
-
min="0"
|
1795 |
-
step="1"
|
1796 |
-
type="number"
|
1797 |
-
value="1"
|
1798 |
-
/>
|
1799 |
-
<button
|
1800 |
-
aria-label="Reduce quantity"
|
1801 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--minus"
|
1802 |
-
disabled=""
|
1803 |
-
>
|
1804 |
-
-
|
1805 |
-
</button>
|
1806 |
-
<button
|
1807 |
-
aria-label="Increase quantity"
|
1808 |
-
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
|
1809 |
-
>
|
1810 |
-
+
|
1811 |
-
</button>
|
1812 |
-
</div>
|
1813 |
-
<button
|
1814 |
-
class="wc-block-cart-item__remove-link"
|
1815 |
-
>
|
1816 |
-
Remove item
|
1817 |
-
</button>
|
1818 |
-
</div>
|
1819 |
-
</td>
|
1820 |
-
<td
|
1821 |
-
class="wc-block-cart-item__total"
|
1822 |
-
>
|
1823 |
-
<div
|
1824 |
-
class="wc-block-cart-item__total-price-and-sale-badge-wrapper"
|
1825 |
-
>
|
1826 |
-
<span
|
1827 |
-
class="price wc-block-components-product-price"
|
1828 |
-
>
|
1829 |
-
<span
|
1830 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value"
|
1831 |
-
>
|
1832 |
-
$11.20
|
1833 |
-
</span>
|
1834 |
-
</span>
|
1835 |
-
</div>
|
1836 |
-
</td>
|
1837 |
-
</tr>
|
1838 |
-
</tbody>
|
1839 |
-
</table>
|
1840 |
-
</div>
|
1841 |
-
<div
|
1842 |
-
class="wc-block-components-sidebar wc-block-cart__sidebar"
|
1843 |
-
>
|
1844 |
-
<h2
|
1845 |
-
class="wc-block-components-title wc-block-cart__totals-title"
|
1846 |
-
>
|
1847 |
-
Cart totals
|
1848 |
-
</h2>
|
1849 |
-
<div
|
1850 |
-
class="wc-block-components-totals-wrapper"
|
1851 |
-
>
|
1852 |
-
<div
|
1853 |
-
class="wc-block-components-totals-item"
|
1854 |
-
>
|
1855 |
-
<span
|
1856 |
-
class="wc-block-components-totals-item__label"
|
1857 |
-
>
|
1858 |
-
Subtotal
|
1859 |
-
</span>
|
1860 |
-
<span
|
1861 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
1862 |
-
>
|
1863 |
-
$24.00
|
1864 |
-
</span>
|
1865 |
-
<div
|
1866 |
-
class="wc-block-components-totals-item__description"
|
1867 |
-
/>
|
1868 |
-
</div>
|
1869 |
-
</div>
|
1870 |
-
<div
|
1871 |
-
class="wc-block-components-totals-wrapper"
|
1872 |
-
>
|
1873 |
-
<div
|
1874 |
-
class="wc-block-components-totals-coupon wc-block-components-panel"
|
1875 |
-
>
|
1876 |
-
<div>
|
1877 |
-
<button
|
1878 |
-
aria-expanded="false"
|
1879 |
-
class="wc-block-components-panel__button"
|
1880 |
-
>
|
1881 |
-
<svg
|
1882 |
-
aria-hidden="true"
|
1883 |
-
class="wc-block-components-panel__button-icon"
|
1884 |
-
focusable="false"
|
1885 |
-
height="24"
|
1886 |
-
role="img"
|
1887 |
-
viewBox="0 0 24 24"
|
1888 |
-
width="24"
|
1889 |
-
xmlns="http://www.w3.org/2000/svg"
|
1890 |
-
>
|
1891 |
-
<path
|
1892 |
-
d="M17 9.4L12 14 7 9.4l-1 1.2 6 5.4 6-5.4z"
|
1893 |
-
/>
|
1894 |
-
</svg>
|
1895 |
-
<span
|
1896 |
-
aria-hidden="true"
|
1897 |
-
>
|
1898 |
-
Coupon code
|
1899 |
-
</span>
|
1900 |
-
<span
|
1901 |
-
class="screen-reader-text"
|
1902 |
-
>
|
1903 |
-
Apply a coupon code
|
1904 |
-
</span>
|
1905 |
-
</button>
|
1906 |
-
</div>
|
1907 |
-
<div
|
1908 |
-
class="wc-block-components-panel__content"
|
1909 |
-
hidden=""
|
1910 |
-
>
|
1911 |
-
<div
|
1912 |
-
class=""
|
1913 |
-
>
|
1914 |
-
<div
|
1915 |
-
aria-hidden="false"
|
1916 |
-
class=""
|
1917 |
-
>
|
1918 |
-
<div
|
1919 |
-
class="wc-block-components-totals-coupon__content"
|
1920 |
-
>
|
1921 |
-
<form
|
1922 |
-
class="wc-block-components-totals-coupon__form"
|
1923 |
-
>
|
1924 |
-
<div
|
1925 |
-
class="wc-block-components-text-input wc-block-components-totals-coupon__input is-active"
|
1926 |
-
>
|
1927 |
-
<input
|
1928 |
-
aria-describedby=""
|
1929 |
-
aria-label="Enter code"
|
1930 |
-
autocapitalize="off"
|
1931 |
-
autocomplete="off"
|
1932 |
-
id="wc-block-components-totals-coupon__input-3"
|
1933 |
-
type="text"
|
1934 |
-
value=""
|
1935 |
-
/>
|
1936 |
-
<label
|
1937 |
-
for="wc-block-components-totals-coupon__input-3"
|
1938 |
-
>
|
1939 |
-
Enter code
|
1940 |
-
</label>
|
1941 |
-
</div>
|
1942 |
-
<button
|
1943 |
-
class="components-button wc-block-components-button wc-block-components-totals-coupon__button"
|
1944 |
-
disabled=""
|
1945 |
-
type="submit"
|
1946 |
-
>
|
1947 |
-
<span
|
1948 |
-
class="wc-block-components-button__text"
|
1949 |
-
>
|
1950 |
-
Apply
|
1951 |
-
</span>
|
1952 |
-
</button>
|
1953 |
-
</form>
|
1954 |
-
</div>
|
1955 |
-
</div>
|
1956 |
-
</div>
|
1957 |
-
</div>
|
1958 |
-
</div>
|
1959 |
-
</div>
|
1960 |
-
<div
|
1961 |
-
class="wc-block-components-totals-wrapper"
|
1962 |
-
>
|
1963 |
-
<div
|
1964 |
-
class="wc-block-components-totals-shipping"
|
1965 |
-
>
|
1966 |
-
<div
|
1967 |
-
class="wc-block-components-totals-item"
|
1968 |
-
>
|
1969 |
-
<span
|
1970 |
-
class="wc-block-components-totals-item__label"
|
1971 |
-
>
|
1972 |
-
Shipping
|
1973 |
-
</span>
|
1974 |
-
<span
|
1975 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
1976 |
-
>
|
1977 |
-
$0.00
|
1978 |
-
</span>
|
1979 |
-
<div
|
1980 |
-
class="wc-block-components-totals-item__description"
|
1981 |
-
>
|
1982 |
-
<div
|
1983 |
-
class="wc-block-components-totals-item__description wc-block-components-totals-shipping__via"
|
1984 |
-
>
|
1985 |
-
via
|
1986 |
-
|
1987 |
-
Free shipping
|
1988 |
-
</div>
|
1989 |
-
</div>
|
1990 |
-
</div>
|
1991 |
-
<fieldset
|
1992 |
-
class="wc-block-components-totals-shipping__fieldset"
|
1993 |
-
>
|
1994 |
-
<legend
|
1995 |
-
class="screen-reader-text"
|
1996 |
-
>
|
1997 |
-
Shipping options
|
1998 |
-
</legend>
|
1999 |
-
<div
|
2000 |
-
class=""
|
2001 |
-
>
|
2002 |
-
<div
|
2003 |
-
aria-hidden="false"
|
2004 |
-
class=""
|
2005 |
-
>
|
2006 |
-
<div
|
2007 |
-
class="wc-block-components-shipping-rates-control wc-block-components-totals-shipping__options"
|
2008 |
-
>
|
2009 |
-
<div
|
2010 |
-
class="wc-block-components-shipping-rates-control__package wc-block-components-panel"
|
2011 |
-
>
|
2012 |
-
<div>
|
2013 |
-
<button
|
2014 |
-
aria-expanded="true"
|
2015 |
-
class="wc-block-components-panel__button"
|
2016 |
-
>
|
2017 |
-
<svg
|
2018 |
-
aria-hidden="true"
|
2019 |
-
class="wc-block-components-panel__button-icon"
|
2020 |
-
focusable="false"
|
2021 |
-
height="24"
|
2022 |
-
role="img"
|
2023 |
-
viewBox="0 0 24 24"
|
2024 |
-
width="24"
|
2025 |
-
xmlns="http://www.w3.org/2000/svg"
|
2026 |
-
>
|
2027 |
-
<path
|
2028 |
-
d="M12 8l-6 5.4 1 1.2 5-4.6 5 4.6 1-1.2z"
|
2029 |
-
/>
|
2030 |
-
</svg>
|
2031 |
-
<div
|
2032 |
-
class="wc-block-components-shipping-rates-control__package-title"
|
2033 |
-
>
|
2034 |
-
Shipping
|
2035 |
-
</div>
|
2036 |
-
</button>
|
2037 |
-
</div>
|
2038 |
-
<div
|
2039 |
-
class="wc-block-components-panel__content"
|
2040 |
-
>
|
2041 |
-
<div
|
2042 |
-
class="wc-block-components-radio-control"
|
2043 |
-
>
|
2044 |
-
<label
|
2045 |
-
class="wc-block-components-radio-control__option wc-block-components-radio-control__option-checked"
|
2046 |
-
for="radio-control-3-free_shipping:1"
|
2047 |
-
>
|
2048 |
-
<input
|
2049 |
-
aria-describedby="radio-control-3-free_shipping:1__label radio-control-3-free_shipping:1__description"
|
2050 |
-
checked=""
|
2051 |
-
class="wc-block-components-radio-control__input"
|
2052 |
-
id="radio-control-3-free_shipping:1"
|
2053 |
-
name="radio-control-3"
|
2054 |
-
type="radio"
|
2055 |
-
value="free_shipping:1"
|
2056 |
-
/>
|
2057 |
-
<div
|
2058 |
-
class="wc-block-components-radio-control__option-layout"
|
2059 |
-
>
|
2060 |
-
<div
|
2061 |
-
class="wc-block-components-radio-control__label-group"
|
2062 |
-
>
|
2063 |
-
<span
|
2064 |
-
class="wc-block-components-radio-control__label"
|
2065 |
-
id="radio-control-3-free_shipping:1__label"
|
2066 |
-
>
|
2067 |
-
Free shipping
|
2068 |
-
</span>
|
2069 |
-
</div>
|
2070 |
-
<div
|
2071 |
-
class="wc-block-components-radio-control__description-group"
|
2072 |
-
>
|
2073 |
-
<span
|
2074 |
-
class="wc-block-components-radio-control__description"
|
2075 |
-
id="radio-control-3-free_shipping:1__description"
|
2076 |
-
>
|
2077 |
-
<span
|
2078 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
2079 |
-
>
|
2080 |
-
$0.00
|
2081 |
-
</span>
|
2082 |
-
|
2083 |
-
</span>
|
2084 |
-
</div>
|
2085 |
-
</div>
|
2086 |
-
</label>
|
2087 |
-
<label
|
2088 |
-
class="wc-block-components-radio-control__option"
|
2089 |
-
for="radio-control-3-local_pickup:1"
|
2090 |
-
>
|
2091 |
-
<input
|
2092 |
-
aria-describedby="radio-control-3-local_pickup:1__label radio-control-3-local_pickup:1__description"
|
2093 |
-
class="wc-block-components-radio-control__input"
|
2094 |
-
id="radio-control-3-local_pickup:1"
|
2095 |
-
name="radio-control-3"
|
2096 |
-
type="radio"
|
2097 |
-
value="local_pickup:1"
|
2098 |
-
/>
|
2099 |
-
<div
|
2100 |
-
class="wc-block-components-radio-control__option-layout"
|
2101 |
-
>
|
2102 |
-
<div
|
2103 |
-
class="wc-block-components-radio-control__label-group"
|
2104 |
-
>
|
2105 |
-
<span
|
2106 |
-
class="wc-block-components-radio-control__label"
|
2107 |
-
id="radio-control-3-local_pickup:1__label"
|
2108 |
-
>
|
2109 |
-
Local pickup
|
2110 |
-
</span>
|
2111 |
-
</div>
|
2112 |
-
<div
|
2113 |
-
class="wc-block-components-radio-control__description-group"
|
2114 |
-
>
|
2115 |
-
<span
|
2116 |
-
class="wc-block-components-radio-control__description"
|
2117 |
-
id="radio-control-3-local_pickup:1__description"
|
2118 |
-
>
|
2119 |
-
<span
|
2120 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount"
|
2121 |
-
>
|
2122 |
-
$2.00
|
2123 |
-
</span>
|
2124 |
-
|
2125 |
-
</span>
|
2126 |
-
</div>
|
2127 |
-
</div>
|
2128 |
-
</label>
|
2129 |
-
</div>
|
2130 |
-
</div>
|
2131 |
-
</div>
|
2132 |
-
</div>
|
2133 |
-
</div>
|
2134 |
-
</div>
|
2135 |
-
</fieldset>
|
2136 |
-
</div>
|
2137 |
-
</div>
|
2138 |
-
<div
|
2139 |
-
class="wc-block-components-totals-wrapper"
|
2140 |
-
>
|
2141 |
-
<div
|
2142 |
-
class="wc-block-components-totals-taxes"
|
2143 |
-
>
|
2144 |
-
<div
|
2145 |
-
class="wc-block-components-totals-item wc-block-components-totals-taxes__grouped-rate"
|
2146 |
-
>
|
2147 |
-
<span
|
2148 |
-
class="wc-block-components-totals-item__label"
|
2149 |
-
>
|
2150 |
-
Sales tax 20%
|
2151 |
-
</span>
|
2152 |
-
<span
|
2153 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
2154 |
-
>
|
2155 |
-
$6.00
|
2156 |
-
</span>
|
2157 |
-
<div
|
2158 |
-
class="wc-block-components-totals-item__description"
|
2159 |
-
/>
|
2160 |
-
</div>
|
2161 |
-
|
2162 |
-
</div>
|
2163 |
-
</div>
|
2164 |
-
<div
|
2165 |
-
class="wc-block-components-totals-wrapper"
|
2166 |
-
>
|
2167 |
-
<div
|
2168 |
-
class="wc-block-components-totals-item wc-block-components-totals-footer-item"
|
2169 |
-
>
|
2170 |
-
<span
|
2171 |
-
class="wc-block-components-totals-item__label"
|
2172 |
-
>
|
2173 |
-
Total
|
2174 |
-
</span>
|
2175 |
-
<span
|
2176 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
2177 |
-
>
|
2178 |
-
$30.00
|
2179 |
-
</span>
|
2180 |
-
<div
|
2181 |
-
class="wc-block-components-totals-item__description"
|
2182 |
-
/>
|
2183 |
-
</div>
|
2184 |
-
</div>
|
2185 |
-
<div
|
2186 |
-
class="wc-block-cart__payment-options"
|
2187 |
-
>
|
2188 |
-
<div
|
2189 |
-
class="wc-block-cart__submit"
|
2190 |
-
>
|
2191 |
-
<div
|
2192 |
-
aria-hidden="true"
|
2193 |
-
style="bottom: 0px; left: 0px; opacity: 0; pointer-events: none; position: absolute; right: 0px; top: 0px; z-index: -1;"
|
2194 |
-
/>
|
2195 |
-
<div
|
2196 |
-
class="wc-block-cart__submit-container"
|
2197 |
-
>
|
2198 |
-
<a
|
2199 |
-
class="components-button wc-block-components-button wc-block-cart__submit-button"
|
2200 |
-
href=""
|
2201 |
-
>
|
2202 |
-
<span
|
2203 |
-
class="wc-block-components-button__text"
|
2204 |
-
>
|
2205 |
-
Proceed to Checkout
|
2206 |
-
</span>
|
2207 |
-
</a>
|
2208 |
-
</div>
|
2209 |
-
</div>
|
2210 |
-
</div>
|
2211 |
-
</div>
|
2212 |
-
</div>
|
2213 |
-
<div
|
2214 |
-
style="display: none;"
|
2215 |
-
/>
|
2216 |
-
</div>
|
2217 |
-
</div>
|
2218 |
-
</div>
|
2219 |
-
`;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/blocks/cart-checkout/cart/test/block.js
CHANGED
@@ -12,7 +12,6 @@ import { default as fetchMock } from 'jest-fetch-mock';
|
|
12 |
*/
|
13 |
import CartBlock from '../block';
|
14 |
import { defaultCartState } from '../../../../data/default-states';
|
15 |
-
import { allSettings } from '../../../../settings/shared/settings-init';
|
16 |
|
17 |
describe( 'Testing cart', () => {
|
18 |
beforeEach( async () => {
|
@@ -50,59 +49,6 @@ describe( 'Testing cart', () => {
|
|
50 |
expect( console ).toHaveWarned();
|
51 |
} );
|
52 |
|
53 |
-
it( 'Contains a Taxes section if Core options are set to show it', async () => {
|
54 |
-
allSettings.displayCartPricesIncludingTax = false;
|
55 |
-
// The criteria for showing the Taxes section is:
|
56 |
-
// Display prices during basket and checkout: 'Excluding tax'.
|
57 |
-
const { container } = render(
|
58 |
-
<CartBlock
|
59 |
-
emptyCart={ null }
|
60 |
-
attributes={ {
|
61 |
-
isShippingCalculatorEnabled: false,
|
62 |
-
} }
|
63 |
-
/>
|
64 |
-
);
|
65 |
-
await waitFor( () => expect( fetchMock ).toHaveBeenCalled() );
|
66 |
-
expect( container ).toMatchSnapshot();
|
67 |
-
} );
|
68 |
-
|
69 |
-
it( 'Shows individual tax lines if the store is set to do so', async () => {
|
70 |
-
allSettings.displayCartPricesIncludingTax = false;
|
71 |
-
allSettings.displayItemizedTaxes = true;
|
72 |
-
// The criteria for showing the lines in the Taxes section is:
|
73 |
-
// Display prices during basket and checkout: 'Excluding tax'.
|
74 |
-
// Display tax totals: 'Itemized';
|
75 |
-
const { container } = render(
|
76 |
-
<CartBlock
|
77 |
-
emptyCart={ null }
|
78 |
-
attributes={ {
|
79 |
-
isShippingCalculatorEnabled: false,
|
80 |
-
} }
|
81 |
-
/>
|
82 |
-
);
|
83 |
-
await waitFor( () => expect( fetchMock ).toHaveBeenCalled() );
|
84 |
-
expect( container ).toMatchSnapshot();
|
85 |
-
} );
|
86 |
-
|
87 |
-
it( 'Shows rate percentages after tax lines if the block is set to do so', async () => {
|
88 |
-
allSettings.displayCartPricesIncludingTax = false;
|
89 |
-
allSettings.displayItemizedTaxes = true;
|
90 |
-
// The criteria for showing the lines in the Taxes section is:
|
91 |
-
// Display prices during basket and checkout: 'Excluding tax'.
|
92 |
-
// Display tax totals: 'Itemized';
|
93 |
-
const { container } = render(
|
94 |
-
<CartBlock
|
95 |
-
emptyCart={ null }
|
96 |
-
attributes={ {
|
97 |
-
showRateAfterTaxName: true,
|
98 |
-
isShippingCalculatorEnabled: false,
|
99 |
-
} }
|
100 |
-
/>
|
101 |
-
);
|
102 |
-
await waitFor( () => expect( fetchMock ).toHaveBeenCalled() );
|
103 |
-
expect( container ).toMatchSnapshot();
|
104 |
-
} );
|
105 |
-
|
106 |
it( 'renders empty cart if there are no items in the cart', async () => {
|
107 |
fetchMock.mockResponse( ( req ) => {
|
108 |
if ( req.url.match( /wc\/store\/cart/ ) ) {
|
12 |
*/
|
13 |
import CartBlock from '../block';
|
14 |
import { defaultCartState } from '../../../../data/default-states';
|
|
|
15 |
|
16 |
describe( 'Testing cart', () => {
|
17 |
beforeEach( async () => {
|
49 |
expect( console ).toHaveWarned();
|
50 |
} );
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
it( 'renders empty cart if there are no items in the cart', async () => {
|
53 |
fetchMock.mockResponse( ( req ) => {
|
54 |
if ( req.url.match( /wc\/store\/cart/ ) ) {
|
assets/js/blocks/cart-checkout/checkout/attributes.js
CHANGED
@@ -53,10 +53,6 @@ const blockAttributes = {
|
|
53 |
type: 'boolean',
|
54 |
default: getSetting( 'hasDarkEditorStyleSupport', false ),
|
55 |
},
|
56 |
-
showRateAfterTaxName: {
|
57 |
-
type: 'boolean',
|
58 |
-
default: getSetting( 'displayCartPricesIncludingTax', false ),
|
59 |
-
},
|
60 |
};
|
61 |
|
62 |
export default blockAttributes;
|
53 |
type: 'boolean',
|
54 |
default: getSetting( 'hasDarkEditorStyleSupport', false ),
|
55 |
},
|
|
|
|
|
|
|
|
|
56 |
};
|
57 |
|
58 |
export default blockAttributes;
|
assets/js/blocks/cart-checkout/checkout/block.js
CHANGED
@@ -155,7 +155,6 @@ const Checkout = ( { attributes, scrollToTop } ) => {
|
|
155 |
cartItems={ cartItems }
|
156 |
cartTotals={ cartTotals }
|
157 |
cartFees={ cartFees }
|
158 |
-
showRateAfterTaxName={ attributes.showRateAfterTaxName }
|
159 |
/>
|
160 |
</Sidebar>
|
161 |
</SidebarLayout>
|
155 |
cartItems={ cartItems }
|
156 |
cartTotals={ cartTotals }
|
157 |
cartFees={ cartFees }
|
|
|
158 |
/>
|
159 |
</Sidebar>
|
160 |
</SidebarLayout>
|
assets/js/blocks/cart-checkout/checkout/edit.js
CHANGED
@@ -52,7 +52,6 @@ const BlockSettings = ( { attributes, setAttributes } ) => {
|
|
52 |
showReturnToCart,
|
53 |
cartPageId,
|
54 |
hasDarkControls,
|
55 |
-
showRateAfterTaxName,
|
56 |
} = attributes;
|
57 |
const { currentPostId } = useEditorContext();
|
58 |
const { current: savedCartPageId } = useRef( cartPageId );
|
@@ -299,30 +298,6 @@ const BlockSettings = ( { attributes, setAttributes } ) => {
|
|
299 |
} }
|
300 |
/>
|
301 |
) }
|
302 |
-
{ getSetting( 'taxesEnabled' ) &&
|
303 |
-
getSetting( 'displayItemizedTaxes', false ) &&
|
304 |
-
! getSetting( 'displayCartPricesIncludingTax', false ) && (
|
305 |
-
<PanelBody
|
306 |
-
title={ __( 'Taxes', 'woo-gutenberg-products-block' ) }
|
307 |
-
>
|
308 |
-
<ToggleControl
|
309 |
-
label={ __(
|
310 |
-
'Show rate after tax name',
|
311 |
-
'woo-gutenberg-products-block'
|
312 |
-
) }
|
313 |
-
help={ __(
|
314 |
-
'Show the percentage rate alongside each tax line in the summary.',
|
315 |
-
'woo-gutenberg-products-block'
|
316 |
-
) }
|
317 |
-
checked={ showRateAfterTaxName }
|
318 |
-
onChange={ () =>
|
319 |
-
setAttributes( {
|
320 |
-
showRateAfterTaxName: ! showRateAfterTaxName,
|
321 |
-
} )
|
322 |
-
}
|
323 |
-
/>
|
324 |
-
</PanelBody>
|
325 |
-
) }
|
326 |
<PanelBody title={ __( 'Style', 'woo-gutenberg-products-block' ) }>
|
327 |
<ToggleControl
|
328 |
label={ __(
|
52 |
showReturnToCart,
|
53 |
cartPageId,
|
54 |
hasDarkControls,
|
|
|
55 |
} = attributes;
|
56 |
const { currentPostId } = useEditorContext();
|
57 |
const { current: savedCartPageId } = useRef( cartPageId );
|
298 |
} }
|
299 |
/>
|
300 |
) }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
<PanelBody title={ __( 'Style', 'woo-gutenberg-products-block' ) }>
|
302 |
<ToggleControl
|
303 |
label={ __(
|
assets/js/blocks/cart-checkout/checkout/form/billing-fields-step.js
CHANGED
@@ -3,15 +3,16 @@
|
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { FormStep } from '@woocommerce/base-components/cart-checkout';
|
6 |
-
import {
|
7 |
import PropTypes from 'prop-types';
|
8 |
|
9 |
const BillingFieldsStep = ( { children } ) => {
|
10 |
-
const {
|
|
|
11 |
return (
|
12 |
<FormStep
|
13 |
id="billing-fields"
|
14 |
-
disabled={
|
15 |
className="wc-block-checkout__billing-fields"
|
16 |
title={ __( 'Billing address', 'woo-gutenberg-products-block' ) }
|
17 |
description={ __(
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { FormStep } from '@woocommerce/base-components/cart-checkout';
|
6 |
+
import { useCheckoutContext } from '@woocommerce/base-context';
|
7 |
import PropTypes from 'prop-types';
|
8 |
|
9 |
const BillingFieldsStep = ( { children } ) => {
|
10 |
+
const { isProcessing: checkoutIsProcessing } = useCheckoutContext();
|
11 |
+
|
12 |
return (
|
13 |
<FormStep
|
14 |
id="billing-fields"
|
15 |
+
disabled={ checkoutIsProcessing }
|
16 |
className="wc-block-checkout__billing-fields"
|
17 |
title={ __( 'Billing address', 'woo-gutenberg-products-block' ) }
|
18 |
description={ __(
|
assets/js/blocks/cart-checkout/checkout/form/contact-fields-step.js
CHANGED
@@ -5,7 +5,6 @@ import { __ } from '@wordpress/i18n';
|
|
5 |
import { FormStep } from '@woocommerce/base-components/cart-checkout';
|
6 |
import { ValidatedTextInput } from '@woocommerce/base-components/text-input';
|
7 |
import { useCheckoutContext } from '@woocommerce/base-context';
|
8 |
-
import { useCheckoutSubmit } from '@woocommerce/base-context/hooks';
|
9 |
import { getSetting } from '@woocommerce/settings';
|
10 |
import CheckboxControl from '@woocommerce/base-components/checkbox-control';
|
11 |
|
@@ -19,11 +18,11 @@ const ContactFieldsStep = ( {
|
|
19 |
allowCreateAccount,
|
20 |
} ) => {
|
21 |
const {
|
|
|
22 |
customerId,
|
23 |
shouldCreateAccount,
|
24 |
setShouldCreateAccount,
|
25 |
} = useCheckoutContext();
|
26 |
-
const { isDisabled } = useCheckoutSubmit();
|
27 |
|
28 |
const createAccountUI = ! customerId &&
|
29 |
allowCreateAccount &&
|
@@ -39,11 +38,10 @@ const ContactFieldsStep = ( {
|
|
39 |
onChange={ ( value ) => setShouldCreateAccount( value ) }
|
40 |
/>
|
41 |
);
|
42 |
-
|
43 |
return (
|
44 |
<FormStep
|
45 |
id="contact-fields"
|
46 |
-
disabled={
|
47 |
className="wc-block-checkout__contact-fields"
|
48 |
title={ __(
|
49 |
'Contact information',
|
5 |
import { FormStep } from '@woocommerce/base-components/cart-checkout';
|
6 |
import { ValidatedTextInput } from '@woocommerce/base-components/text-input';
|
7 |
import { useCheckoutContext } from '@woocommerce/base-context';
|
|
|
8 |
import { getSetting } from '@woocommerce/settings';
|
9 |
import CheckboxControl from '@woocommerce/base-components/checkbox-control';
|
10 |
|
18 |
allowCreateAccount,
|
19 |
} ) => {
|
20 |
const {
|
21 |
+
isProcessing: checkoutIsProcessing,
|
22 |
customerId,
|
23 |
shouldCreateAccount,
|
24 |
setShouldCreateAccount,
|
25 |
} = useCheckoutContext();
|
|
|
26 |
|
27 |
const createAccountUI = ! customerId &&
|
28 |
allowCreateAccount &&
|
38 |
onChange={ ( value ) => setShouldCreateAccount( value ) }
|
39 |
/>
|
40 |
);
|
|
|
41 |
return (
|
42 |
<FormStep
|
43 |
id="contact-fields"
|
44 |
+
disabled={ checkoutIsProcessing }
|
45 |
className="wc-block-checkout__contact-fields"
|
46 |
title={ __(
|
47 |
'Contact information',
|
assets/js/blocks/cart-checkout/checkout/form/order-notes-step.js
CHANGED
@@ -7,7 +7,6 @@ import {
|
|
7 |
useCheckoutContext,
|
8 |
useShippingDataContext,
|
9 |
} from '@woocommerce/base-context';
|
10 |
-
import { useCheckoutSubmit } from '@woocommerce/base-context/hooks';
|
11 |
|
12 |
/**
|
13 |
* Internal dependencies
|
@@ -16,8 +15,11 @@ import CheckoutOrderNotes from './order-notes';
|
|
16 |
|
17 |
const OrderNotesStep = () => {
|
18 |
const { needsShipping } = useShippingDataContext();
|
19 |
-
const {
|
20 |
-
|
|
|
|
|
|
|
21 |
const { setOrderNotes } = dispatchActions;
|
22 |
|
23 |
return (
|
@@ -25,11 +27,11 @@ const OrderNotesStep = () => {
|
|
25 |
id="order-notes"
|
26 |
showStepNumber={ false }
|
27 |
className="wc-block-checkout__order-notes"
|
28 |
-
disabled={
|
29 |
>
|
30 |
<CheckoutOrderNotes
|
|
|
31 |
onChange={ setOrderNotes }
|
32 |
-
disabled={ isDisabled }
|
33 |
placeholder={
|
34 |
needsShipping
|
35 |
? __(
|
7 |
useCheckoutContext,
|
8 |
useShippingDataContext,
|
9 |
} from '@woocommerce/base-context';
|
|
|
10 |
|
11 |
/**
|
12 |
* Internal dependencies
|
15 |
|
16 |
const OrderNotesStep = () => {
|
17 |
const { needsShipping } = useShippingDataContext();
|
18 |
+
const {
|
19 |
+
isProcessing: checkoutIsProcessing,
|
20 |
+
orderNotes,
|
21 |
+
dispatchActions,
|
22 |
+
} = useCheckoutContext();
|
23 |
const { setOrderNotes } = dispatchActions;
|
24 |
|
25 |
return (
|
27 |
id="order-notes"
|
28 |
showStepNumber={ false }
|
29 |
className="wc-block-checkout__order-notes"
|
30 |
+
disabled={ checkoutIsProcessing }
|
31 |
>
|
32 |
<CheckoutOrderNotes
|
33 |
+
disabled={ checkoutIsProcessing }
|
34 |
onChange={ setOrderNotes }
|
|
|
35 |
placeholder={
|
36 |
needsShipping
|
37 |
? __(
|
assets/js/blocks/cart-checkout/checkout/form/payment-method-step.js
CHANGED
@@ -3,12 +3,14 @@
|
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { FormStep } from '@woocommerce/base-components/cart-checkout';
|
6 |
-
import {
|
|
|
|
|
|
|
7 |
import {
|
8 |
useStoreCart,
|
9 |
useEmitResponse,
|
10 |
usePaymentMethods,
|
11 |
-
useCheckoutSubmit,
|
12 |
} from '@woocommerce/base-context/hooks';
|
13 |
|
14 |
/**
|
@@ -17,7 +19,7 @@ import {
|
|
17 |
import { PaymentMethods } from '../../payment-methods';
|
18 |
|
19 |
const PaymentMethodStep = () => {
|
20 |
-
const {
|
21 |
const { cartNeedsPayment } = useStoreCart();
|
22 |
const { paymentMethods } = usePaymentMethods();
|
23 |
const { noticeContexts } = useEmitResponse();
|
@@ -29,7 +31,7 @@ const PaymentMethodStep = () => {
|
|
29 |
return (
|
30 |
<FormStep
|
31 |
id="payment-method"
|
32 |
-
disabled={
|
33 |
className="wc-block-checkout__payment-method"
|
34 |
title={ __( 'Payment method', 'woo-gutenberg-products-block' ) }
|
35 |
description={
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { FormStep } from '@woocommerce/base-components/cart-checkout';
|
6 |
+
import {
|
7 |
+
useCheckoutContext,
|
8 |
+
StoreNoticesProvider,
|
9 |
+
} from '@woocommerce/base-context';
|
10 |
import {
|
11 |
useStoreCart,
|
12 |
useEmitResponse,
|
13 |
usePaymentMethods,
|
|
|
14 |
} from '@woocommerce/base-context/hooks';
|
15 |
|
16 |
/**
|
19 |
import { PaymentMethods } from '../../payment-methods';
|
20 |
|
21 |
const PaymentMethodStep = () => {
|
22 |
+
const { isProcessing: checkoutIsProcessing } = useCheckoutContext();
|
23 |
const { cartNeedsPayment } = useStoreCart();
|
24 |
const { paymentMethods } = usePaymentMethods();
|
25 |
const { noticeContexts } = useEmitResponse();
|
31 |
return (
|
32 |
<FormStep
|
33 |
id="payment-method"
|
34 |
+
disabled={ checkoutIsProcessing }
|
35 |
className="wc-block-checkout__payment-method"
|
36 |
title={ __( 'Payment method', 'woo-gutenberg-products-block' ) }
|
37 |
description={
|
assets/js/blocks/cart-checkout/checkout/form/shipping-fields-step.js
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { FormStep } from '@woocommerce/base-components/cart-checkout';
|
6 |
import CheckboxControl from '@woocommerce/base-components/checkbox-control';
|
7 |
-
import {
|
8 |
import PropTypes from 'prop-types';
|
9 |
|
10 |
const ShippingFieldsStep = ( {
|
@@ -12,12 +12,12 @@ const ShippingFieldsStep = ( {
|
|
12 |
setShippingAsBilling,
|
13 |
children,
|
14 |
} ) => {
|
15 |
-
const {
|
16 |
|
17 |
return (
|
18 |
<FormStep
|
19 |
id="shipping-fields"
|
20 |
-
disabled={
|
21 |
className="wc-block-checkout__shipping-fields"
|
22 |
title={ __( 'Shipping address', 'woo-gutenberg-products-block' ) }
|
23 |
description={ __(
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
import { FormStep } from '@woocommerce/base-components/cart-checkout';
|
6 |
import CheckboxControl from '@woocommerce/base-components/checkbox-control';
|
7 |
+
import { useCheckoutContext } from '@woocommerce/base-context';
|
8 |
import PropTypes from 'prop-types';
|
9 |
|
10 |
const ShippingFieldsStep = ( {
|
12 |
setShippingAsBilling,
|
13 |
children,
|
14 |
} ) => {
|
15 |
+
const { isProcessing: checkoutIsProcessing } = useCheckoutContext();
|
16 |
|
17 |
return (
|
18 |
<FormStep
|
19 |
id="shipping-fields"
|
20 |
+
disabled={ checkoutIsProcessing }
|
21 |
className="wc-block-checkout__shipping-fields"
|
22 |
title={ __( 'Shipping address', 'woo-gutenberg-products-block' ) }
|
23 |
description={ __(
|
assets/js/blocks/cart-checkout/checkout/form/shipping-options-step.tsx
CHANGED
@@ -13,10 +13,10 @@ import {
|
|
13 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
14 |
import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
|
15 |
import {
|
|
|
16 |
useEditorContext,
|
17 |
useShippingDataContext,
|
18 |
} from '@woocommerce/base-context';
|
19 |
-
import { useCheckoutSubmit } from '@woocommerce/base-context/hooks';
|
20 |
import { decodeEntities } from '@wordpress/html-entities';
|
21 |
import { Notice } from 'wordpress-components';
|
22 |
import classnames from 'classnames';
|
@@ -55,7 +55,7 @@ const renderShippingRatesControlOption = (
|
|
55 |
};
|
56 |
|
57 |
const ShippingOptionsStep = (): JSX.Element | null => {
|
58 |
-
const {
|
59 |
const { isEditor } = useEditorContext();
|
60 |
const {
|
61 |
shippingRates,
|
@@ -71,7 +71,7 @@ const ShippingOptionsStep = (): JSX.Element | null => {
|
|
71 |
return (
|
72 |
<FormStep
|
73 |
id="shipping-option"
|
74 |
-
disabled={
|
75 |
className="wc-block-checkout__shipping-option"
|
76 |
title={ __( 'Shipping options', 'woo-gutenberg-products-block' ) }
|
77 |
description={
|
13 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
14 |
import FormattedMonetaryAmount from '@woocommerce/base-components/formatted-monetary-amount';
|
15 |
import {
|
16 |
+
useCheckoutContext,
|
17 |
useEditorContext,
|
18 |
useShippingDataContext,
|
19 |
} from '@woocommerce/base-context';
|
|
|
20 |
import { decodeEntities } from '@wordpress/html-entities';
|
21 |
import { Notice } from 'wordpress-components';
|
22 |
import classnames from 'classnames';
|
55 |
};
|
56 |
|
57 |
const ShippingOptionsStep = (): JSX.Element | null => {
|
58 |
+
const { isProcessing: checkoutIsProcessing } = useCheckoutContext();
|
59 |
const { isEditor } = useEditorContext();
|
60 |
const {
|
61 |
shippingRates,
|
71 |
return (
|
72 |
<FormStep
|
73 |
id="shipping-option"
|
74 |
+
disabled={ checkoutIsProcessing }
|
75 |
className="wc-block-checkout__shipping-option"
|
76 |
title={ __( 'Shipping options', 'woo-gutenberg-products-block' ) }
|
77 |
description={
|
assets/js/blocks/cart-checkout/checkout/frontend.js
CHANGED
@@ -13,11 +13,11 @@ import {
|
|
13 |
} from '@woocommerce/base-context';
|
14 |
import BlockErrorBoundary from '@woocommerce/base-components/block-error-boundary';
|
15 |
import { CURRENT_USER_IS_ADMIN } from '@woocommerce/settings';
|
|
|
16 |
import {
|
17 |
renderFrontend,
|
18 |
getValidBlockAttributes,
|
19 |
} from '@woocommerce/base-utils';
|
20 |
-
import { StoreSnackbarNoticesProvider } from '@woocommerce/base-context/providers';
|
21 |
|
22 |
/**
|
23 |
* Internal dependencies
|
@@ -28,20 +28,6 @@ import EmptyCart from './empty-cart/index.js';
|
|
28 |
|
29 |
const reloadPage = () => void window.location.reload( true );
|
30 |
|
31 |
-
const errorBoundaryProps = {
|
32 |
-
header: __( 'Something went wrong…', 'woo-gutenberg-products-block' ),
|
33 |
-
text: __(
|
34 |
-
'The checkout has encountered an unexpected error. If the error persists, please get in touch with us for help.',
|
35 |
-
'woo-gutenberg-products-block'
|
36 |
-
),
|
37 |
-
showErrorMessage: CURRENT_USER_IS_ADMIN,
|
38 |
-
button: (
|
39 |
-
<button className="wc-block-button" onClick={ reloadPage }>
|
40 |
-
{ __( 'Reload the page', 'woo-gutenberg-products-block' ) }
|
41 |
-
</button>
|
42 |
-
),
|
43 |
-
};
|
44 |
-
|
45 |
/**
|
46 |
* Wrapper component for the checkout block.
|
47 |
*
|
@@ -55,14 +41,32 @@ const CheckoutFrontend = ( props ) => {
|
|
55 |
{ ! cartIsLoading && cartItems.length === 0 ? (
|
56 |
<EmptyCart />
|
57 |
) : (
|
58 |
-
<BlockErrorBoundary
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
</BlockErrorBoundary>
|
67 |
) }
|
68 |
</>
|
@@ -76,7 +80,24 @@ const getProps = ( el ) => {
|
|
76 |
};
|
77 |
|
78 |
const getErrorBoundaryProps = () => {
|
79 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
};
|
81 |
|
82 |
renderFrontend( {
|
13 |
} from '@woocommerce/base-context';
|
14 |
import BlockErrorBoundary from '@woocommerce/base-components/block-error-boundary';
|
15 |
import { CURRENT_USER_IS_ADMIN } from '@woocommerce/settings';
|
16 |
+
import { createInterpolateElement } from 'wordpress-element';
|
17 |
import {
|
18 |
renderFrontend,
|
19 |
getValidBlockAttributes,
|
20 |
} from '@woocommerce/base-utils';
|
|
|
21 |
|
22 |
/**
|
23 |
* Internal dependencies
|
28 |
|
29 |
const reloadPage = () => void window.location.reload( true );
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Wrapper component for the checkout block.
|
33 |
*
|
41 |
{ ! cartIsLoading && cartItems.length === 0 ? (
|
42 |
<EmptyCart />
|
43 |
) : (
|
44 |
+
<BlockErrorBoundary
|
45 |
+
header={ __(
|
46 |
+
'Something went wrong…',
|
47 |
+
'woo-gutenberg-products-block'
|
48 |
+
) }
|
49 |
+
text={ createInterpolateElement(
|
50 |
+
__(
|
51 |
+
'The checkout has encountered an unexpected error. <button>Try reloading the page</button>. If the error persists, please get in touch with us so we can assist.',
|
52 |
+
'woo-gutenberg-products-block'
|
53 |
+
),
|
54 |
+
{
|
55 |
+
button: (
|
56 |
+
<button
|
57 |
+
className="wc-block-link-button"
|
58 |
+
onClick={ reloadPage }
|
59 |
+
/>
|
60 |
+
),
|
61 |
+
}
|
62 |
+
) }
|
63 |
+
showErrorMessage={ CURRENT_USER_IS_ADMIN }
|
64 |
+
>
|
65 |
+
<StoreNoticesProvider context="wc/checkout">
|
66 |
+
<ValidationContextProvider>
|
67 |
+
<Block { ...props } />
|
68 |
+
</ValidationContextProvider>
|
69 |
+
</StoreNoticesProvider>
|
70 |
</BlockErrorBoundary>
|
71 |
) }
|
72 |
</>
|
80 |
};
|
81 |
|
82 |
const getErrorBoundaryProps = () => {
|
83 |
+
return {
|
84 |
+
header: __( 'Something went wrong…', 'woo-gutenberg-products-block' ),
|
85 |
+
text: createInterpolateElement(
|
86 |
+
__(
|
87 |
+
'The checkout has encountered an unexpected error. <button>Try reloading the page</button>. If the error persists, please get in touch with us so we can assist.',
|
88 |
+
'woo-gutenberg-products-block'
|
89 |
+
),
|
90 |
+
{
|
91 |
+
button: (
|
92 |
+
<button
|
93 |
+
className="wc-block-link-button"
|
94 |
+
onClick={ reloadPage }
|
95 |
+
/>
|
96 |
+
),
|
97 |
+
}
|
98 |
+
),
|
99 |
+
showErrorMessage: CURRENT_USER_IS_ADMIN,
|
100 |
+
};
|
101 |
};
|
102 |
|
103 |
renderFrontend( {
|
assets/js/blocks/cart-checkout/checkout/sidebar/index.js
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
-
|
5 |
import {
|
6 |
OrderSummary,
|
7 |
TotalsCoupon,
|
@@ -14,10 +13,7 @@ import {
|
|
14 |
TotalsFees,
|
15 |
TotalsTaxes,
|
16 |
ExperimentalOrderMeta,
|
17 |
-
ExperimentalDiscountsMeta,
|
18 |
-
TotalsWrapper,
|
19 |
} from '@woocommerce/blocks-checkout';
|
20 |
-
|
21 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
22 |
import { useShippingDataContext } from '@woocommerce/base-context';
|
23 |
import {
|
@@ -31,7 +27,6 @@ const CheckoutSidebar = ( {
|
|
31 |
cartItems = [],
|
32 |
cartFees = [],
|
33 |
cartTotals = {},
|
34 |
-
showRateAfterTaxName = false,
|
35 |
} ) => {
|
36 |
const {
|
37 |
applyCoupon,
|
@@ -52,63 +47,43 @@ const CheckoutSidebar = ( {
|
|
52 |
cart,
|
53 |
};
|
54 |
|
55 |
-
const discountsSlotFillProps = {
|
56 |
-
extensions,
|
57 |
-
cart,
|
58 |
-
};
|
59 |
-
|
60 |
return (
|
61 |
<>
|
62 |
-
<
|
63 |
-
|
64 |
-
|
65 |
-
<
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
73 |
values={ cartTotals }
|
|
|
74 |
/>
|
75 |
-
</TotalsWrapper>
|
76 |
-
{ getSetting( 'couponsEnabled', true ) && (
|
77 |
-
<TotalsWrapper>
|
78 |
-
<TotalsCoupon
|
79 |
-
onSubmit={ applyCoupon }
|
80 |
-
initialOpen={ false }
|
81 |
-
isLoading={ isApplyingCoupon }
|
82 |
-
/>
|
83 |
-
</TotalsWrapper>
|
84 |
-
) }
|
85 |
-
<ExperimentalDiscountsMeta.Slot { ...discountsSlotFillProps } />
|
86 |
-
{ needsShipping && (
|
87 |
-
<TotalsWrapper>
|
88 |
-
<TotalsShipping
|
89 |
-
showCalculator={ false }
|
90 |
-
showRateSelector={ false }
|
91 |
-
values={ cartTotals }
|
92 |
-
currency={ totalsCurrency }
|
93 |
-
/>
|
94 |
-
</TotalsWrapper>
|
95 |
) }
|
96 |
-
{ ! getSetting( 'displayCartPricesIncludingTax', false ) &&
|
97 |
-
|
98 |
-
<TotalsWrapper>
|
99 |
-
<TotalsTaxes
|
100 |
-
currency={ totalsCurrency }
|
101 |
-
showRateAfterTaxName={ showRateAfterTaxName }
|
102 |
-
values={ cartTotals }
|
103 |
-
/>
|
104 |
-
</TotalsWrapper>
|
105 |
-
) }
|
106 |
-
<TotalsWrapper>
|
107 |
-
<TotalsFooterItem
|
108 |
currency={ totalsCurrency }
|
109 |
values={ cartTotals }
|
110 |
/>
|
111 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
<ExperimentalOrderMeta.Slot { ...slotFillProps } />
|
113 |
</>
|
114 |
);
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
|
|
4 |
import {
|
5 |
OrderSummary,
|
6 |
TotalsCoupon,
|
13 |
TotalsFees,
|
14 |
TotalsTaxes,
|
15 |
ExperimentalOrderMeta,
|
|
|
|
|
16 |
} from '@woocommerce/blocks-checkout';
|
|
|
17 |
import { getCurrencyFromPriceResponse } from '@woocommerce/price-format';
|
18 |
import { useShippingDataContext } from '@woocommerce/base-context';
|
19 |
import {
|
27 |
cartItems = [],
|
28 |
cartFees = [],
|
29 |
cartTotals = {},
|
|
|
30 |
} ) => {
|
31 |
const {
|
32 |
applyCoupon,
|
47 |
cart,
|
48 |
};
|
49 |
|
|
|
|
|
|
|
|
|
|
|
50 |
return (
|
51 |
<>
|
52 |
+
<OrderSummary cartItems={ cartItems } />
|
53 |
+
<Subtotal currency={ totalsCurrency } values={ cartTotals } />
|
54 |
+
<TotalsFees currency={ totalsCurrency } cartFees={ cartFees } />
|
55 |
+
<TotalsDiscount
|
56 |
+
cartCoupons={ cartCoupons }
|
57 |
+
currency={ totalsCurrency }
|
58 |
+
isRemovingCoupon={ isRemovingCoupon }
|
59 |
+
removeCoupon={ removeCoupon }
|
60 |
+
values={ cartTotals }
|
61 |
+
/>
|
62 |
+
{ needsShipping && (
|
63 |
+
<TotalsShipping
|
64 |
+
showCalculator={ false }
|
65 |
+
showRateSelector={ false }
|
66 |
values={ cartTotals }
|
67 |
+
currency={ totalsCurrency }
|
68 |
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
) }
|
70 |
+
{ ! getSetting( 'displayCartPricesIncludingTax', false ) && (
|
71 |
+
<TotalsTaxes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
currency={ totalsCurrency }
|
73 |
values={ cartTotals }
|
74 |
/>
|
75 |
+
) }
|
76 |
+
{ getSetting( 'couponsEnabled', true ) && (
|
77 |
+
<TotalsCoupon
|
78 |
+
onSubmit={ applyCoupon }
|
79 |
+
initialOpen={ false }
|
80 |
+
isLoading={ isApplyingCoupon }
|
81 |
+
/>
|
82 |
+
) }
|
83 |
+
<TotalsFooterItem
|
84 |
+
currency={ totalsCurrency }
|
85 |
+
values={ cartTotals }
|
86 |
+
/>
|
87 |
<ExperimentalOrderMeta.Slot { ...slotFillProps } />
|
88 |
</>
|
89 |
);
|
assets/js/blocks/cart-checkout/checkout/sidebar/test/__snapshots__/index.js.snap
DELETED
@@ -1,167 +0,0 @@
|
|
1 |
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2 |
-
|
3 |
-
exports[`Testing checkout sidebar Shows rate percentages after tax lines if the block is set to do so 1`] = `
|
4 |
-
<div>
|
5 |
-
<div
|
6 |
-
class="wc-block-components-totals-wrapper"
|
7 |
-
/>
|
8 |
-
<div
|
9 |
-
class="wc-block-components-totals-wrapper"
|
10 |
-
>
|
11 |
-
<div
|
12 |
-
class="wc-block-components-totals-item"
|
13 |
-
>
|
14 |
-
<span
|
15 |
-
class="wc-block-components-totals-item__label"
|
16 |
-
>
|
17 |
-
Subtotal
|
18 |
-
</span>
|
19 |
-
<span
|
20 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
21 |
-
>
|
22 |
-
$24.00
|
23 |
-
</span>
|
24 |
-
<div
|
25 |
-
class="wc-block-components-totals-item__description"
|
26 |
-
/>
|
27 |
-
</div>
|
28 |
-
</div>
|
29 |
-
<div
|
30 |
-
class="wc-block-components-totals-wrapper"
|
31 |
-
>
|
32 |
-
<div
|
33 |
-
class="wc-block-components-totals-coupon wc-block-components-panel"
|
34 |
-
>
|
35 |
-
<div>
|
36 |
-
<button
|
37 |
-
aria-expanded="false"
|
38 |
-
class="wc-block-components-panel__button"
|
39 |
-
>
|
40 |
-
<svg
|
41 |
-
aria-hidden="true"
|
42 |
-
class="wc-block-components-panel__button-icon"
|
43 |
-
focusable="false"
|
44 |
-
height="24"
|
45 |
-
role="img"
|
46 |
-
viewBox="0 0 24 24"
|
47 |
-
width="24"
|
48 |
-
xmlns="http://www.w3.org/2000/svg"
|
49 |
-
>
|
50 |
-
<path
|
51 |
-
d="M17 9.4L12 14 7 9.4l-1 1.2 6 5.4 6-5.4z"
|
52 |
-
/>
|
53 |
-
</svg>
|
54 |
-
<span
|
55 |
-
aria-hidden="true"
|
56 |
-
>
|
57 |
-
Coupon code
|
58 |
-
</span>
|
59 |
-
<span
|
60 |
-
class="screen-reader-text"
|
61 |
-
>
|
62 |
-
Apply a coupon code
|
63 |
-
</span>
|
64 |
-
</button>
|
65 |
-
</div>
|
66 |
-
<div
|
67 |
-
class="wc-block-components-panel__content"
|
68 |
-
hidden=""
|
69 |
-
>
|
70 |
-
<div
|
71 |
-
class=""
|
72 |
-
>
|
73 |
-
<div
|
74 |
-
aria-hidden="false"
|
75 |
-
class=""
|
76 |
-
>
|
77 |
-
<div
|
78 |
-
class="wc-block-components-totals-coupon__content"
|
79 |
-
>
|
80 |
-
<form
|
81 |
-
class="wc-block-components-totals-coupon__form"
|
82 |
-
>
|
83 |
-
<div
|
84 |
-
class="wc-block-components-text-input wc-block-components-totals-coupon__input is-active"
|
85 |
-
>
|
86 |
-
<input
|
87 |
-
aria-describedby="wc-block-components-totals-coupon__input-0"
|
88 |
-
aria-label="Enter code"
|
89 |
-
autocapitalize="off"
|
90 |
-
autocomplete="off"
|
91 |
-
id="wc-block-components-totals-coupon__input-0"
|
92 |
-
type="text"
|
93 |
-
value=""
|
94 |
-
/>
|
95 |
-
<label
|
96 |
-
for="wc-block-components-totals-coupon__input-0"
|
97 |
-
>
|
98 |
-
Enter code
|
99 |
-
</label>
|
100 |
-
</div>
|
101 |
-
<button
|
102 |
-
class="components-button wc-block-components-button wc-block-components-totals-coupon__button"
|
103 |
-
disabled=""
|
104 |
-
type="submit"
|
105 |
-
>
|
106 |
-
<span
|
107 |
-
class="wc-block-components-button__text"
|
108 |
-
>
|
109 |
-
Apply
|
110 |
-
</span>
|
111 |
-
</button>
|
112 |
-
</form>
|
113 |
-
</div>
|
114 |
-
</div>
|
115 |
-
</div>
|
116 |
-
</div>
|
117 |
-
</div>
|
118 |
-
</div>
|
119 |
-
<div
|
120 |
-
class="wc-block-components-totals-wrapper"
|
121 |
-
>
|
122 |
-
<div
|
123 |
-
class="wc-block-components-totals-taxes"
|
124 |
-
>
|
125 |
-
<div
|
126 |
-
class="wc-block-components-totals-item wc-block-components-totals-taxes__grouped-rate"
|
127 |
-
>
|
128 |
-
<span
|
129 |
-
class="wc-block-components-totals-item__label"
|
130 |
-
>
|
131 |
-
Sales tax 20%
|
132 |
-
</span>
|
133 |
-
<span
|
134 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
135 |
-
>
|
136 |
-
$6.00
|
137 |
-
</span>
|
138 |
-
<div
|
139 |
-
class="wc-block-components-totals-item__description"
|
140 |
-
/>
|
141 |
-
</div>
|
142 |
-
|
143 |
-
</div>
|
144 |
-
</div>
|
145 |
-
<div
|
146 |
-
class="wc-block-components-totals-wrapper"
|
147 |
-
>
|
148 |
-
<div
|
149 |
-
class="wc-block-components-totals-item wc-block-components-totals-footer-item"
|
150 |
-
>
|
151 |
-
<span
|
152 |
-
class="wc-block-components-totals-item__label"
|
153 |
-
>
|
154 |
-
Total
|
155 |
-
</span>
|
156 |
-
<span
|
157 |
-
class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value"
|
158 |
-
>
|
159 |
-
$30.00
|
160 |
-
</span>
|
161 |
-
<div
|
162 |
-
class="wc-block-components-totals-item__description"
|
163 |
-
/>
|
164 |
-
</div>
|
165 |
-
</div>
|
166 |
-
</div>
|
167 |
-
`;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/blocks/cart-checkout/checkout/sidebar/test/index.js
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { render } from '@testing-library/react';
|
5 |
-
import { previewCart } from '@woocommerce/resource-previews';
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Internal dependencies
|
9 |
-
*/
|
10 |
-
import { allSettings } from '../../../../../settings/shared/settings-init';
|
11 |
-
import CheckoutSidebar from '../index';
|
12 |
-
|
13 |
-
describe( 'Testing checkout sidebar', () => {
|
14 |
-
it( 'Shows rate percentages after tax lines if the block is set to do so', async () => {
|
15 |
-
allSettings.displayCartPricesIncludingTax = false;
|
16 |
-
allSettings.displayItemizedTaxes = true;
|
17 |
-
const { totals: cartTotals, items: cartItems } = previewCart;
|
18 |
-
const { container } = render(
|
19 |
-
<CheckoutSidebar
|
20 |
-
cartItems={ cartItems }
|
21 |
-
cartTotals={ cartTotals }
|
22 |
-
showRateAfterTaxName={ true }
|
23 |
-
/>
|
24 |
-
);
|
25 |
-
expect( container ).toMatchSnapshot();
|
26 |
-
} );
|
27 |
-
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/blocks/cart-checkout/checkout/style.scss
CHANGED
@@ -10,11 +10,6 @@
|
|
10 |
// Required by IE11.
|
11 |
flex-basis: 0;
|
12 |
}
|
13 |
-
.wc-block-components-totals-taxes,
|
14 |
-
.wc-block-components-totals-footer-item {
|
15 |
-
margin: 0;
|
16 |
-
padding: 0;
|
17 |
-
}
|
18 |
}
|
19 |
|
20 |
.wc-block-checkout__actions {
|
10 |
// Required by IE11.
|
11 |
flex-basis: 0;
|
12 |
}
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
14 |
|
15 |
.wc-block-checkout__actions {
|
assets/js/blocks/cart-checkout/payment-methods/express-payment-methods.js
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
-
import { __ } from '@wordpress/i18n';
|
5 |
import {
|
6 |
useExpressPaymentMethods,
|
7 |
usePaymentMethodInterface,
|
@@ -16,7 +15,6 @@ import {
|
|
16 |
useEditorContext,
|
17 |
usePaymentMethodDataContext,
|
18 |
} from '@woocommerce/base-context';
|
19 |
-
import deprecated from '@wordpress/deprecated';
|
20 |
|
21 |
/**
|
22 |
* Internal dependencies
|
@@ -27,7 +25,6 @@ const ExpressPaymentMethods = () => {
|
|
27 |
const { isEditor } = useEditorContext();
|
28 |
const {
|
29 |
setActivePaymentMethod,
|
30 |
-
setExpressPaymentError,
|
31 |
activePaymentMethod,
|
32 |
paymentMethodData,
|
33 |
setPaymentStatus,
|
@@ -37,11 +34,6 @@ const ExpressPaymentMethods = () => {
|
|
37 |
const previousActivePaymentMethod = useRef( activePaymentMethod );
|
38 |
const previousPaymentMethodData = useRef( paymentMethodData );
|
39 |
|
40 |
-
/**
|
41 |
-
* onExpressPaymentClick should be triggered when the express payment button is clicked.
|
42 |
-
*
|
43 |
-
* This will store the previous active payment method, set the express method as active, and set the payment status to started.
|
44 |
-
*/
|
45 |
const onExpressPaymentClick = useCallback(
|
46 |
( paymentMethodId ) => () => {
|
47 |
previousActivePaymentMethod.current = activePaymentMethod;
|
@@ -56,95 +48,32 @@ const ExpressPaymentMethods = () => {
|
|
56 |
setPaymentStatus,
|
57 |
]
|
58 |
);
|
59 |
-
|
60 |
-
/**
|
61 |
-
* onExpressPaymentClose should be triggered when the express payment process is cancelled or closed.
|
62 |
-
*
|
63 |
-
* This restores the active method and returns the state to pristine.
|
64 |
-
*/
|
65 |
const onExpressPaymentClose = useCallback( () => {
|
66 |
-
setPaymentStatus().pristine();
|
67 |
setActivePaymentMethod( previousActivePaymentMethod.current );
|
68 |
if ( previousPaymentMethodData.current.isSavedToken ) {
|
69 |
setPaymentStatus().started( previousPaymentMethodData.current );
|
70 |
}
|
71 |
}, [ setActivePaymentMethod, setPaymentStatus ] );
|
72 |
-
|
73 |
-
/**
|
74 |
-
* onExpressPaymentError should be triggered when the express payment process errors.
|
75 |
-
*
|
76 |
-
* This shows an error message then restores the active method and returns the state to pristine.
|
77 |
-
*/
|
78 |
-
const onExpressPaymentError = useCallback(
|
79 |
-
( errorMessage ) => {
|
80 |
-
setPaymentStatus().error( errorMessage );
|
81 |
-
setExpressPaymentError( errorMessage );
|
82 |
-
setActivePaymentMethod( previousActivePaymentMethod.current );
|
83 |
-
if ( previousPaymentMethodData.current.isSavedToken ) {
|
84 |
-
setPaymentStatus().started( previousPaymentMethodData.current );
|
85 |
-
}
|
86 |
-
},
|
87 |
-
[ setActivePaymentMethod, setPaymentStatus, setExpressPaymentError ]
|
88 |
-
);
|
89 |
-
|
90 |
-
/**
|
91 |
-
* Calling setExpressPaymentError directly is deprecated.
|
92 |
-
*/
|
93 |
-
const deprecatedSetExpressPaymentError = useCallback(
|
94 |
-
( errorMessage = '' ) => {
|
95 |
-
deprecated(
|
96 |
-
'Express Payment Methods should use the provided onError handler instead.',
|
97 |
-
{
|
98 |
-
alternative: 'onError',
|
99 |
-
plugin: 'woocommerce-gutenberg-products-block',
|
100 |
-
link:
|
101 |
-
'https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/4228',
|
102 |
-
}
|
103 |
-
);
|
104 |
-
if ( errorMessage ) {
|
105 |
-
onExpressPaymentError( errorMessage );
|
106 |
-
} else {
|
107 |
-
setExpressPaymentError( '' );
|
108 |
-
}
|
109 |
-
},
|
110 |
-
[ setExpressPaymentError, onExpressPaymentError ]
|
111 |
-
);
|
112 |
-
|
113 |
-
/**
|
114 |
-
* @todo Find a way to Memoize Express Payment Method Content
|
115 |
-
*
|
116 |
-
* Payment method content could potentially become a bottleneck if lots of logic is ran in the content component. It
|
117 |
-
* Currently re-renders excessively but is not easy to useMemo because paymentMethodInterface could become stale.
|
118 |
-
* paymentMethodInterface itself also updates on most renders.
|
119 |
-
*/
|
120 |
-
const entries = Object.entries( paymentMethods );
|
121 |
const content =
|
122 |
-
|
123 |
-
|
124 |
const expressPaymentMethod = isEditor
|
125 |
-
?
|
126 |
-
:
|
127 |
return isValidElement( expressPaymentMethod ) ? (
|
128 |
<li key={ id } id={ `express-payment-method-${ id }` }>
|
129 |
{ cloneElement( expressPaymentMethod, {
|
130 |
...paymentMethodInterface,
|
131 |
onClick: onExpressPaymentClick( id ),
|
132 |
onClose: onExpressPaymentClose,
|
133 |
-
onError: onExpressPaymentError,
|
134 |
-
setExpressPaymentError: deprecatedSetExpressPaymentError,
|
135 |
} ) }
|
136 |
</li>
|
137 |
) : null;
|
138 |
} )
|
139 |
) : (
|
140 |
-
<li key="noneRegistered">
|
141 |
-
{ __(
|
142 |
-
'No registered Payment Methods',
|
143 |
-
'woo-gutenberg-products-block'
|
144 |
-
) }
|
145 |
-
</li>
|
146 |
);
|
147 |
-
|
148 |
return (
|
149 |
<PaymentMethodErrorBoundary isEditor={ isEditor }>
|
150 |
<ul className="wc-block-components-express-payment__event-buttons">
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
|
|
4 |
import {
|
5 |
useExpressPaymentMethods,
|
6 |
usePaymentMethodInterface,
|
15 |
useEditorContext,
|
16 |
usePaymentMethodDataContext,
|
17 |
} from '@woocommerce/base-context';
|
|
|
18 |
|
19 |
/**
|
20 |
* Internal dependencies
|
25 |
const { isEditor } = useEditorContext();
|
26 |
const {
|
27 |
setActivePaymentMethod,
|
|
|
28 |
activePaymentMethod,
|
29 |
paymentMethodData,
|
30 |
setPaymentStatus,
|
34 |
const previousActivePaymentMethod = useRef( activePaymentMethod );
|
35 |
const previousPaymentMethodData = useRef( paymentMethodData );
|
36 |
|
|
|
|
|
|
|
|
|
|
|
37 |
const onExpressPaymentClick = useCallback(
|
38 |
( paymentMethodId ) => () => {
|
39 |
previousActivePaymentMethod.current = activePaymentMethod;
|
48 |
setPaymentStatus,
|
49 |
]
|
50 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
const onExpressPaymentClose = useCallback( () => {
|
|
|
52 |
setActivePaymentMethod( previousActivePaymentMethod.current );
|
53 |
if ( previousPaymentMethodData.current.isSavedToken ) {
|
54 |
setPaymentStatus().started( previousPaymentMethodData.current );
|
55 |
}
|
56 |
}, [ setActivePaymentMethod, setPaymentStatus ] );
|
57 |
+
const paymentMethodIds = Object.keys( paymentMethods );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
const content =
|
59 |
+
paymentMethodIds.length > 0 ? (
|
60 |
+
paymentMethodIds.map( ( id ) => {
|
61 |
const expressPaymentMethod = isEditor
|
62 |
+
? paymentMethods[ id ].edit
|
63 |
+
: paymentMethods[ id ].content;
|
64 |
return isValidElement( expressPaymentMethod ) ? (
|
65 |
<li key={ id } id={ `express-payment-method-${ id }` }>
|
66 |
{ cloneElement( expressPaymentMethod, {
|
67 |
...paymentMethodInterface,
|
68 |
onClick: onExpressPaymentClick( id ),
|
69 |
onClose: onExpressPaymentClose,
|
|
|
|
|
70 |
} ) }
|
71 |
</li>
|
72 |
) : null;
|
73 |
} )
|
74 |
) : (
|
75 |
+
<li key="noneRegistered">No registered Payment Methods</li>
|
|
|
|
|
|
|
|
|
|
|
76 |
);
|
|
|
77 |
return (
|
78 |
<PaymentMethodErrorBoundary isEditor={ isEditor }>
|
79 |
<ul className="wc-block-components-express-payment__event-buttons">
|
assets/js/blocks/cart-checkout/payment-methods/express-payment/cart-express-payment.js
CHANGED
@@ -6,12 +6,7 @@ import {
|
|
6 |
useEmitResponse,
|
7 |
useExpressPaymentMethods,
|
8 |
} from '@woocommerce/base-context/hooks';
|
9 |
-
import {
|
10 |
-
StoreNoticesProvider,
|
11 |
-
useCheckoutContext,
|
12 |
-
usePaymentMethodDataContext,
|
13 |
-
} from '@woocommerce/base-context';
|
14 |
-
import LoadingMask from '@woocommerce/base-components/loading-mask';
|
15 |
|
16 |
/**
|
17 |
* Internal dependencies
|
@@ -22,15 +17,6 @@ import './style.scss';
|
|
22 |
const CartExpressPayment = () => {
|
23 |
const { paymentMethods, isInitialized } = useExpressPaymentMethods();
|
24 |
const { noticeContexts } = useEmitResponse();
|
25 |
-
const {
|
26 |
-
isCalculating,
|
27 |
-
isProcessing,
|
28 |
-
isAfterProcessing,
|
29 |
-
isBeforeProcessing,
|
30 |
-
isComplete,
|
31 |
-
hasError,
|
32 |
-
} = useCheckoutContext();
|
33 |
-
const { currentStatus: paymentStatus } = usePaymentMethodDataContext();
|
34 |
|
35 |
if (
|
36 |
! isInitialized ||
|
@@ -39,32 +25,17 @@ const CartExpressPayment = () => {
|
|
39 |
return null;
|
40 |
}
|
41 |
|
42 |
-
// Set loading state for express payment methods when payment or checkout is in progress.
|
43 |
-
const checkoutProcessing =
|
44 |
-
isProcessing ||
|
45 |
-
isAfterProcessing ||
|
46 |
-
isBeforeProcessing ||
|
47 |
-
( isComplete && ! hasError );
|
48 |
-
|
49 |
return (
|
50 |
<>
|
51 |
-
<
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
<div className="wc-block-components-express-payment wc-block-components-express-payment--cart">
|
59 |
-
<div className="wc-block-components-express-payment__content">
|
60 |
-
<StoreNoticesProvider
|
61 |
-
context={ noticeContexts.EXPRESS_PAYMENTS }
|
62 |
-
>
|
63 |
-
<ExpressPaymentMethods />
|
64 |
-
</StoreNoticesProvider>
|
65 |
-
</div>
|
66 |
</div>
|
67 |
-
</
|
68 |
<div className="wc-block-components-express-payment-continue-rule wc-block-components-express-payment-continue-rule--cart">
|
69 |
{ /* translators: Shown in the Cart block between the express payment methods and the Proceed to Checkout button */ }
|
70 |
{ __( 'Or', 'woo-gutenberg-products-block' ) }
|
6 |
useEmitResponse,
|
7 |
useExpressPaymentMethods,
|
8 |
} from '@woocommerce/base-context/hooks';
|
9 |
+
import { StoreNoticesProvider } from '@woocommerce/base-context';
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
/**
|
12 |
* Internal dependencies
|
17 |
const CartExpressPayment = () => {
|
18 |
const { paymentMethods, isInitialized } = useExpressPaymentMethods();
|
19 |
const { noticeContexts } = useEmitResponse();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
if (
|
22 |
! isInitialized ||
|
25 |
return null;
|
26 |
}
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
return (
|
29 |
<>
|
30 |
+
<div className="wc-block-components-express-payment wc-block-components-express-payment--cart">
|
31 |
+
<div className="wc-block-components-express-payment__content">
|
32 |
+
<StoreNoticesProvider
|
33 |
+
context={ noticeContexts.EXPRESS_PAYMENTS }
|
34 |
+
>
|
35 |
+
<ExpressPaymentMethods />
|
36 |
+
</StoreNoticesProvider>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
</div>
|
38 |
+
</div>
|
39 |
<div className="wc-block-components-express-payment-continue-rule wc-block-components-express-payment-continue-rule--cart">
|
40 |
{ /* translators: Shown in the Cart block between the express payment methods and the Proceed to Checkout button */ }
|
41 |
{ __( 'Or', 'woo-gutenberg-products-block' ) }
|
assets/js/blocks/cart-checkout/payment-methods/express-payment/checkout-express-payment.js
CHANGED
@@ -8,12 +8,9 @@ import {
|
|
8 |
} from '@woocommerce/base-context/hooks';
|
9 |
import {
|
10 |
StoreNoticesProvider,
|
11 |
-
useCheckoutContext,
|
12 |
-
usePaymentMethodDataContext,
|
13 |
useEditorContext,
|
14 |
} from '@woocommerce/base-context';
|
15 |
import Title from '@woocommerce/base-components/title';
|
16 |
-
import LoadingMask from '@woocommerce/base-components/loading-mask';
|
17 |
import { CURRENT_USER_IS_ADMIN } from '@woocommerce/settings';
|
18 |
|
19 |
/**
|
@@ -23,15 +20,6 @@ import ExpressPaymentMethods from '../express-payment-methods';
|
|
23 |
import './style.scss';
|
24 |
|
25 |
const CheckoutExpressPayment = () => {
|
26 |
-
const {
|
27 |
-
isCalculating,
|
28 |
-
isProcessing,
|
29 |
-
isAfterProcessing,
|
30 |
-
isBeforeProcessing,
|
31 |
-
isComplete,
|
32 |
-
hasError,
|
33 |
-
} = useCheckoutContext();
|
34 |
-
const { currentStatus: paymentStatus } = usePaymentMethodDataContext();
|
35 |
const { paymentMethods, isInitialized } = useExpressPaymentMethods();
|
36 |
const { isEditor } = useEditorContext();
|
37 |
const { noticeContexts } = useEmitResponse();
|
@@ -52,49 +40,34 @@ const CheckoutExpressPayment = () => {
|
|
52 |
return null;
|
53 |
}
|
54 |
|
55 |
-
// Set loading state for express payment methods when payment or checkout is in progress.
|
56 |
-
const checkoutProcessing =
|
57 |
-
isProcessing ||
|
58 |
-
isAfterProcessing ||
|
59 |
-
isBeforeProcessing ||
|
60 |
-
( isComplete && ! hasError );
|
61 |
-
|
62 |
return (
|
63 |
<>
|
64 |
-
<
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
77 |
{ __(
|
78 |
-
'
|
79 |
'woo-gutenberg-products-block'
|
80 |
) }
|
81 |
-
</
|
82 |
-
|
83 |
-
|
84 |
-
<StoreNoticesProvider
|
85 |
-
context={ noticeContexts.EXPRESS_PAYMENTS }
|
86 |
-
>
|
87 |
-
<p>
|
88 |
-
{ __(
|
89 |
-
'In a hurry? Use one of our express checkout options below:',
|
90 |
-
'woo-gutenberg-products-block'
|
91 |
-
) }
|
92 |
-
</p>
|
93 |
-
<ExpressPaymentMethods />
|
94 |
-
</StoreNoticesProvider>
|
95 |
-
</div>
|
96 |
</div>
|
97 |
-
</
|
98 |
<div className="wc-block-components-express-payment-continue-rule wc-block-components-express-payment-continue-rule--checkout">
|
99 |
{ __( 'Or continue below', 'woo-gutenberg-products-block' ) }
|
100 |
</div>
|
8 |
} from '@woocommerce/base-context/hooks';
|
9 |
import {
|
10 |
StoreNoticesProvider,
|
|
|
|
|
11 |
useEditorContext,
|
12 |
} from '@woocommerce/base-context';
|
13 |
import Title from '@woocommerce/base-components/title';
|
|
|
14 |
import { CURRENT_USER_IS_ADMIN } from '@woocommerce/settings';
|
15 |
|
16 |
/**
|
20 |
import './style.scss';
|
21 |
|
22 |
const CheckoutExpressPayment = () => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
const { paymentMethods, isInitialized } = useExpressPaymentMethods();
|
24 |
const { isEditor } = useEditorContext();
|
25 |
const { noticeContexts } = useEmitResponse();
|
40 |
return null;
|
41 |
}
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
return (
|
44 |
<>
|
45 |
+
<div className="wc-block-components-express-payment wc-block-components-express-payment--checkout">
|
46 |
+
<div className="wc-block-components-express-payment__title-container">
|
47 |
+
<Title
|
48 |
+
className="wc-block-components-express-payment__title"
|
49 |
+
headingLevel="2"
|
50 |
+
>
|
51 |
+
{ __(
|
52 |
+
'Express checkout',
|
53 |
+
'woo-gutenberg-products-block'
|
54 |
+
) }
|
55 |
+
</Title>
|
56 |
+
</div>
|
57 |
+
<div className="wc-block-components-express-payment__content">
|
58 |
+
<StoreNoticesProvider
|
59 |
+
context={ noticeContexts.EXPRESS_PAYMENTS }
|
60 |
+
>
|
61 |
+
<p>
|
62 |
{ __(
|
63 |
+
'In a hurry? Use one of our express checkout options below:',
|
64 |
'woo-gutenberg-products-block'
|
65 |
) }
|
66 |
+
</p>
|
67 |
+
<ExpressPaymentMethods />
|
68 |
+
</StoreNoticesProvider>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
</div>
|
70 |
+
</div>
|
71 |
<div className="wc-block-components-express-payment-continue-rule wc-block-components-express-payment-continue-rule--checkout">
|
72 |
{ __( 'Or continue below', 'woo-gutenberg-products-block' ) }
|
73 |
</div>
|
assets/js/blocks/cart-checkout/payment-methods/payment-method-options.js
CHANGED
@@ -30,7 +30,7 @@ const PaymentMethodOptions = () => {
|
|
30 |
setActivePaymentMethod,
|
31 |
activeSavedToken,
|
32 |
setActiveSavedToken,
|
33 |
-
|
34 |
customerPaymentMethods,
|
35 |
} = usePaymentMethodDataContext();
|
36 |
const { paymentMethods } = usePaymentMethods();
|
@@ -38,6 +38,9 @@ const PaymentMethodOptions = () => {
|
|
38 |
activePaymentMethod,
|
39 |
...paymentMethodInterface
|
40 |
} = usePaymentMethodInterface();
|
|
|
|
|
|
|
41 |
const { noticeContexts } = useEmitResponse();
|
42 |
const { removeNotice } = useStoreNotices();
|
43 |
const { isEditor } = useEditorContext();
|
@@ -79,7 +82,7 @@ const PaymentMethodOptions = () => {
|
|
79 |
'disable-radio-control': isSinglePaymentMethod,
|
80 |
} );
|
81 |
|
82 |
-
return
|
83 |
<RadioControlAccordion
|
84 |
id={ 'wc-payment-method-options' }
|
85 |
className={ singleOptionClass }
|
30 |
setActivePaymentMethod,
|
31 |
activeSavedToken,
|
32 |
setActiveSavedToken,
|
33 |
+
expressPaymentMethods,
|
34 |
customerPaymentMethods,
|
35 |
} = usePaymentMethodDataContext();
|
36 |
const { paymentMethods } = usePaymentMethods();
|
38 |
activePaymentMethod,
|
39 |
...paymentMethodInterface
|
40 |
} = usePaymentMethodInterface();
|
41 |
+
const expressPaymentMethodActive = Object.keys(
|
42 |
+
expressPaymentMethods
|
43 |
+
).includes( activePaymentMethod );
|
44 |
const { noticeContexts } = useEmitResponse();
|
45 |
const { removeNotice } = useStoreNotices();
|
46 |
const { isEditor } = useEditorContext();
|
82 |
'disable-radio-control': isSinglePaymentMethod,
|
83 |
} );
|
84 |
|
85 |
+
return expressPaymentMethodActive ? null : (
|
86 |
<RadioControlAccordion
|
87 |
id={ 'wc-payment-method-options' }
|
88 |
className={ singleOptionClass }
|
assets/js/blocks/handpicked-products/block.js
CHANGED
@@ -106,7 +106,6 @@ class ProductsBlock extends Component {
|
|
106 |
const ids = value.map( ( { id } ) => id );
|
107 |
setAttributes( { products: ids } );
|
108 |
} }
|
109 |
-
isCompact={ true }
|
110 |
/>
|
111 |
</PanelBody>
|
112 |
</InspectorControls>
|
106 |
const ids = value.map( ( { id } ) => id );
|
107 |
setAttributes( { products: ids } );
|
108 |
} }
|
|
|
109 |
/>
|
110 |
</PanelBody>
|
111 |
</InspectorControls>
|
assets/js/blocks/product-categories/block.js
CHANGED
@@ -5,12 +5,7 @@ import { __ } from '@wordpress/i18n';
|
|
5 |
import { InspectorControls } from '@wordpress/block-editor';
|
6 |
import ServerSideRender from '@wordpress/server-side-render';
|
7 |
import PropTypes from 'prop-types';
|
8 |
-
import {
|
9 |
-
Disabled,
|
10 |
-
PanelBody,
|
11 |
-
ToggleControl,
|
12 |
-
Placeholder,
|
13 |
-
} from '@wordpress/components';
|
14 |
import { Icon, list } from '@woocommerce/icons';
|
15 |
import ToggleButtonControl from '@woocommerce/editor-components/toggle-button-control';
|
16 |
|
@@ -186,13 +181,11 @@ const ProductCategoriesBlock = ( { attributes, setAttributes, name } ) => {
|
|
186 |
return (
|
187 |
<>
|
188 |
{ getInspectorControls() }
|
189 |
-
<
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
/>
|
195 |
-
</Disabled>
|
196 |
</>
|
197 |
);
|
198 |
};
|
5 |
import { InspectorControls } from '@wordpress/block-editor';
|
6 |
import ServerSideRender from '@wordpress/server-side-render';
|
7 |
import PropTypes from 'prop-types';
|
8 |
+
import { PanelBody, ToggleControl, Placeholder } from '@wordpress/components';
|
|
|
|
|
|
|
|
|
|
|
9 |
import { Icon, list } from '@woocommerce/icons';
|
10 |
import ToggleButtonControl from '@woocommerce/editor-components/toggle-button-control';
|
11 |
|
181 |
return (
|
182 |
<>
|
183 |
{ getInspectorControls() }
|
184 |
+
<ServerSideRender
|
185 |
+
block={ name }
|
186 |
+
attributes={ attributes }
|
187 |
+
EmptyResponsePlaceholder={ EmptyPlaceholder }
|
188 |
+
/>
|
|
|
|
|
189 |
</>
|
190 |
);
|
191 |
};
|
assets/js/blocks/product-categories/index.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
-
import {
|
6 |
import { Icon, list } from '@woocommerce/icons';
|
7 |
|
8 |
/**
|
@@ -83,26 +83,6 @@ registerBlockType( 'woocommerce/product-categories', {
|
|
83 |
},
|
84 |
},
|
85 |
|
86 |
-
transforms: {
|
87 |
-
from: [
|
88 |
-
{
|
89 |
-
type: 'block',
|
90 |
-
blocks: [ 'core/legacy-widget' ],
|
91 |
-
// We can't transform if raw instance isn't shown in the REST API.
|
92 |
-
isMatch: ( { idBase, instance } ) =>
|
93 |
-
idBase === 'woocommerce_product_categories' &&
|
94 |
-
!! instance?.raw,
|
95 |
-
transform: ( { instance } ) =>
|
96 |
-
createBlock( 'woocommerce/product-categories', {
|
97 |
-
hasCount: !! instance.raw.count,
|
98 |
-
hasEmpty: ! instance.raw.hide_empty,
|
99 |
-
isDropdown: !! instance.raw.dropdown,
|
100 |
-
isHierarchical: !! instance.raw.hierarchical,
|
101 |
-
} ),
|
102 |
-
},
|
103 |
-
],
|
104 |
-
},
|
105 |
-
|
106 |
deprecated: [
|
107 |
{
|
108 |
// Deprecate HTML save method in favor of dynamic rendering.
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import { registerBlockType } from '@wordpress/blocks';
|
6 |
import { Icon, list } from '@woocommerce/icons';
|
7 |
|
8 |
/**
|
83 |
},
|
84 |
},
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
deprecated: [
|
87 |
{
|
88 |
// Deprecate HTML save method in favor of dynamic rendering.
|
assets/js/blocks/product-categories/style.scss
CHANGED
@@ -36,10 +36,7 @@
|
|
36 |
border: 1px solid #eee;
|
37 |
|
38 |
img {
|
39 |
-
display: block;
|
40 |
-
height: auto;
|
41 |
margin: 0;
|
42 |
-
max-width: 100%;
|
43 |
padding: 0;
|
44 |
}
|
45 |
}
|
36 |
border: 1px solid #eee;
|
37 |
|
38 |
img {
|
|
|
|
|
39 |
margin: 0;
|
|
|
40 |
padding: 0;
|
41 |
}
|
42 |
}
|
assets/js/blocks/product-category/block.js
CHANGED
@@ -135,7 +135,6 @@ class ProductByCategoryBlock extends Component {
|
|
135 |
setAttributes( changes );
|
136 |
this.setChangedAttributes( changes );
|
137 |
} }
|
138 |
-
isCompact={ true }
|
139 |
/>
|
140 |
</PanelBody>
|
141 |
<PanelBody
|
135 |
setAttributes( changes );
|
136 |
this.setChangedAttributes( changes );
|
137 |
} }
|
|
|
138 |
/>
|
139 |
</PanelBody>
|
140 |
<PanelBody
|
assets/js/blocks/product-search/index.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
-
import {
|
6 |
import { Icon, search } from '@woocommerce/icons';
|
7 |
/**
|
8 |
* Internal dependencies
|
@@ -71,25 +71,6 @@ registerBlockType( 'woocommerce/product-search', {
|
|
71 |
},
|
72 |
},
|
73 |
|
74 |
-
transforms: {
|
75 |
-
from: [
|
76 |
-
{
|
77 |
-
type: 'block',
|
78 |
-
blocks: [ 'core/legacy-widget' ],
|
79 |
-
// We can't transform if raw instance isn't shown in the REST API.
|
80 |
-
isMatch: ( { idBase, instance } ) =>
|
81 |
-
idBase === 'woocommerce_product_search' && !! instance?.raw,
|
82 |
-
transform: ( { instance } ) =>
|
83 |
-
createBlock( 'woocommerce/product-search', {
|
84 |
-
label:
|
85 |
-
instance.raw.title === ''
|
86 |
-
? __( 'Search', 'woo-gutenberg-products-block' )
|
87 |
-
: instance.raw.title,
|
88 |
-
} ),
|
89 |
-
},
|
90 |
-
],
|
91 |
-
},
|
92 |
-
|
93 |
edit,
|
94 |
|
95 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import { registerBlockType } from '@wordpress/blocks';
|
6 |
import { Icon, search } from '@woocommerce/icons';
|
7 |
/**
|
8 |
* Internal dependencies
|
71 |
},
|
72 |
},
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
edit,
|
75 |
|
76 |
/**
|
assets/js/blocks/product-tag/block.js
CHANGED
@@ -112,7 +112,6 @@ class ProductsByTagBlock extends Component {
|
|
112 |
onOperatorChange={ ( value = 'any' ) =>
|
113 |
setAttributes( { tagOperator: value } )
|
114 |
}
|
115 |
-
isCompact={ true }
|
116 |
/>
|
117 |
</PanelBody>
|
118 |
<PanelBody
|
112 |
onOperatorChange={ ( value = 'any' ) =>
|
113 |
setAttributes( { tagOperator: value } )
|
114 |
}
|
|
|
115 |
/>
|
116 |
</PanelBody>
|
117 |
<PanelBody
|
assets/js/blocks/products-by-attribute/block.js
CHANGED
@@ -90,7 +90,6 @@ class ProductsByAttributeBlock extends Component {
|
|
90 |
onOperatorChange={ ( value = 'any' ) =>
|
91 |
setAttributes( { attrOperator: value } )
|
92 |
}
|
93 |
-
isCompact={ true }
|
94 |
/>
|
95 |
</PanelBody>
|
96 |
<PanelBody
|
90 |
onOperatorChange={ ( value = 'any' ) =>
|
91 |
setAttributes( { attrOperator: value } )
|
92 |
}
|
|
|
93 |
/>
|
94 |
</PanelBody>
|
95 |
<PanelBody
|
assets/js/blocks/reviews/all-reviews/index.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
-
import {
|
6 |
import { Icon, discussion } from '@woocommerce/icons';
|
7 |
|
8 |
/**
|
@@ -51,27 +51,6 @@ registerBlockType( 'woocommerce/all-reviews', {
|
|
51 |
},
|
52 |
},
|
53 |
|
54 |
-
transforms: {
|
55 |
-
from: [
|
56 |
-
{
|
57 |
-
type: 'block',
|
58 |
-
blocks: [ 'core/legacy-widget' ],
|
59 |
-
// We can't transform if raw instance isn't shown in the REST API.
|
60 |
-
isMatch: ( { idBase, instance } ) =>
|
61 |
-
idBase === 'woocommerce_recent_reviews' && !! instance?.raw,
|
62 |
-
transform: ( { instance } ) =>
|
63 |
-
createBlock( 'woocommerce/all-reviews', {
|
64 |
-
reviewsOnPageLoad: instance.raw.number,
|
65 |
-
imageType: 'product',
|
66 |
-
showLoadMore: false,
|
67 |
-
showOrderby: false,
|
68 |
-
showReviewDate: false,
|
69 |
-
showReviewContent: false,
|
70 |
-
} ),
|
71 |
-
},
|
72 |
-
],
|
73 |
-
},
|
74 |
-
|
75 |
/**
|
76 |
* Renders and manages the block.
|
77 |
*
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import { registerBlockType } from '@wordpress/blocks';
|
6 |
import { Icon, discussion } from '@woocommerce/icons';
|
7 |
|
8 |
/**
|
51 |
},
|
52 |
},
|
53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
/**
|
55 |
* Renders and manages the block.
|
56 |
*
|
assets/js/blocks/reviews/reviews-by-category/edit.js
CHANGED
@@ -14,7 +14,6 @@ import { SearchListItem } from '@woocommerce/components';
|
|
14 |
import PropTypes from 'prop-types';
|
15 |
import ProductCategoryControl from '@woocommerce/editor-components/product-category-control';
|
16 |
import { Icon, review } from '@woocommerce/icons';
|
17 |
-
import classNames from 'classnames';
|
18 |
|
19 |
/**
|
20 |
* Internal dependencies
|
@@ -44,6 +43,13 @@ const ReviewsByCategoryEditor = ( {
|
|
44 |
|
45 |
const renderCategoryControlItem = ( args ) => {
|
46 |
const { item, search, depth = 0 } = args;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
const accessibleName = ! item.breadcrumbs.length
|
49 |
? item.name
|
@@ -51,15 +57,9 @@ const ReviewsByCategoryEditor = ( {
|
|
51 |
|
52 |
return (
|
53 |
<SearchListItem
|
54 |
-
className={
|
55 |
-
'woocommerce-product-categories__item',
|
56 |
-
'has-count',
|
57 |
-
{
|
58 |
-
'is-searching': search.length > 0,
|
59 |
-
'is-skip-level': depth === 0 && item.parent !== 0,
|
60 |
-
}
|
61 |
-
) }
|
62 |
{ ...args }
|
|
|
63 |
aria-label={ sprintf(
|
64 |
/* translators: %1$s is the search term name, %2$d is the number of products returned for search query. */
|
65 |
_n(
|
@@ -89,7 +89,6 @@ const ReviewsByCategoryEditor = ( {
|
|
89 |
setAttributes( { categoryIds: ids } );
|
90 |
} }
|
91 |
renderItem={ renderCategoryControlItem }
|
92 |
-
isCompact={ true }
|
93 |
/>
|
94 |
</PanelBody>
|
95 |
<PanelBody
|
14 |
import PropTypes from 'prop-types';
|
15 |
import ProductCategoryControl from '@woocommerce/editor-components/product-category-control';
|
16 |
import { Icon, review } from '@woocommerce/icons';
|
|
|
17 |
|
18 |
/**
|
19 |
* Internal dependencies
|
43 |
|
44 |
const renderCategoryControlItem = ( args ) => {
|
45 |
const { item, search, depth = 0 } = args;
|
46 |
+
const classes = [ 'woocommerce-product-categories__item' ];
|
47 |
+
if ( search.length ) {
|
48 |
+
classes.push( 'is-searching' );
|
49 |
+
}
|
50 |
+
if ( depth === 0 && item.parent !== 0 ) {
|
51 |
+
classes.push( 'is-skip-level' );
|
52 |
+
}
|
53 |
|
54 |
const accessibleName = ! item.breadcrumbs.length
|
55 |
? item.name
|
57 |
|
58 |
return (
|
59 |
<SearchListItem
|
60 |
+
className={ classes.join( ' ' ) }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
{ ...args }
|
62 |
+
showCount
|
63 |
aria-label={ sprintf(
|
64 |
/* translators: %1$s is the search term name, %2$d is the number of products returned for search query. */
|
65 |
_n(
|
89 |
setAttributes( { categoryIds: ids } );
|
90 |
} }
|
91 |
renderItem={ renderCategoryControlItem }
|
|
|
92 |
/>
|
93 |
</PanelBody>
|
94 |
<PanelBody
|
assets/js/blocks/reviews/reviews-by-product/edit.js
CHANGED
@@ -49,13 +49,14 @@ const ReviewsByProductEditor = ( {
|
|
49 |
countLabel={ sprintf(
|
50 |
/* translators: %d is the review count. */
|
51 |
_n(
|
52 |
-
'%d
|
53 |
-
'%d
|
54 |
item.review_count,
|
55 |
'woo-gutenberg-products-block'
|
56 |
),
|
57 |
item.review_count
|
58 |
) }
|
|
|
59 |
aria-label={ sprintf(
|
60 |
/* translators: %1$s is the item name, and %2$d is the number of reviews for the item. */
|
61 |
_n(
|
@@ -85,7 +86,6 @@ const ReviewsByProductEditor = ( {
|
|
85 |
setAttributes( { productId: id } );
|
86 |
} }
|
87 |
renderItem={ renderProductControlItem }
|
88 |
-
isCompact={ true }
|
89 |
/>
|
90 |
</PanelBody>
|
91 |
<PanelBody
|
49 |
countLabel={ sprintf(
|
50 |
/* translators: %d is the review count. */
|
51 |
_n(
|
52 |
+
'%d Review',
|
53 |
+
'%d Reviews',
|
54 |
item.review_count,
|
55 |
'woo-gutenberg-products-block'
|
56 |
),
|
57 |
item.review_count
|
58 |
) }
|
59 |
+
showCount
|
60 |
aria-label={ sprintf(
|
61 |
/* translators: %1$s is the item name, and %2$d is the number of reviews for the item. */
|
62 |
_n(
|
86 |
setAttributes( { productId: id } );
|
87 |
} }
|
88 |
renderItem={ renderProductControlItem }
|
|
|
89 |
/>
|
90 |
</PanelBody>
|
91 |
<PanelBody
|
assets/js/blocks/single-product/frontend.js
CHANGED
@@ -3,7 +3,6 @@
|
|
3 |
*/
|
4 |
import { getValidBlockAttributes } from '@woocommerce/base-utils';
|
5 |
import {
|
6 |
-
getBlockMap,
|
7 |
renderParentBlock,
|
8 |
renderStandaloneBlocks,
|
9 |
} from '@woocommerce/atomic-utils';
|
@@ -26,7 +25,6 @@ renderParentBlock( {
|
|
26 |
blockName: BLOCK_NAME,
|
27 |
selector: '.wp-block-woocommerce-single-product',
|
28 |
getProps,
|
29 |
-
blockMap: getBlockMap( BLOCK_NAME ),
|
30 |
} );
|
31 |
|
32 |
renderStandaloneBlocks();
|
3 |
*/
|
4 |
import { getValidBlockAttributes } from '@woocommerce/base-utils';
|
5 |
import {
|
|
|
6 |
renderParentBlock,
|
7 |
renderStandaloneBlocks,
|
8 |
} from '@woocommerce/atomic-utils';
|
25 |
blockName: BLOCK_NAME,
|
26 |
selector: '.wp-block-woocommerce-single-product',
|
27 |
getProps,
|
|
|
28 |
} );
|
29 |
|
30 |
renderStandaloneBlocks();
|
assets/js/data/cart/actions.ts
CHANGED
@@ -8,7 +8,6 @@ import type {
|
|
8 |
CartResponseItem,
|
9 |
CartBillingAddress,
|
10 |
CartShippingAddress,
|
11 |
-
ExtensionCartUpdateArgs,
|
12 |
} from '@woocommerce/types';
|
13 |
import { ReturnOrGeneratorYieldUnion } from '@automattic/data-stores';
|
14 |
import { camelCase, mapKeys } from 'lodash';
|
@@ -29,16 +28,14 @@ import type { ResponseError } from '../types';
|
|
29 |
*
|
30 |
* @param {CartResponse} response
|
31 |
*/
|
32 |
-
export const receiveCart = (
|
33 |
-
response: CartResponse
|
34 |
-
): { type: string; response: Cart } => {
|
35 |
const cart = ( mapKeys( response, ( _, key ) =>
|
36 |
camelCase( key )
|
37 |
) as unknown ) as Cart;
|
38 |
return {
|
39 |
type: types.RECEIVE_CART,
|
40 |
response: cart,
|
41 |
-
};
|
42 |
};
|
43 |
|
44 |
/**
|
@@ -168,36 +165,6 @@ export const updateCartFragments = () =>
|
|
168 |
type: types.UPDATE_LEGACY_CART_FRAGMENTS,
|
169 |
} as const );
|
170 |
|
171 |
-
/**
|
172 |
-
* POSTs to the /cart/extensions endpoint with the data supplied by the extension.
|
173 |
-
*
|
174 |
-
* @param {Object} args The data to be posted to the endpoint
|
175 |
-
*/
|
176 |
-
export function* applyExtensionCartUpdate(
|
177 |
-
args: ExtensionCartUpdateArgs
|
178 |
-
): Generator< unknown, CartResponse, { response: CartResponse } > {
|
179 |
-
try {
|
180 |
-
const { response } = yield apiFetchWithHeaders( {
|
181 |
-
path: '/wc/store/cart/extensions',
|
182 |
-
method: 'POST',
|
183 |
-
data: { namespace: args.namespace, data: args.data },
|
184 |
-
cache: 'no-store',
|
185 |
-
} );
|
186 |
-
yield receiveCart( response );
|
187 |
-
yield updateCartFragments();
|
188 |
-
return response;
|
189 |
-
} catch ( error ) {
|
190 |
-
yield receiveError( error );
|
191 |
-
// If updated cart state was returned, also update that.
|
192 |
-
if ( error.data?.cart ) {
|
193 |
-
yield receiveCart( error.data.cart );
|
194 |
-
}
|
195 |
-
|
196 |
-
// Re-throw the error.
|
197 |
-
throw error;
|
198 |
-
}
|
199 |
-
}
|
200 |
-
|
201 |
/**
|
202 |
* Applies a coupon code and either invalidates caches, or receives an error if
|
203 |
* the coupon cannot be applied.
|
8 |
CartResponseItem,
|
9 |
CartBillingAddress,
|
10 |
CartShippingAddress,
|
|
|
11 |
} from '@woocommerce/types';
|
12 |
import { ReturnOrGeneratorYieldUnion } from '@automattic/data-stores';
|
13 |
import { camelCase, mapKeys } from 'lodash';
|
28 |
*
|
29 |
* @param {CartResponse} response
|
30 |
*/
|
31 |
+
export const receiveCart = ( response: CartResponse ) => {
|
|
|
|
|
32 |
const cart = ( mapKeys( response, ( _, key ) =>
|
33 |
camelCase( key )
|
34 |
) as unknown ) as Cart;
|
35 |
return {
|
36 |
type: types.RECEIVE_CART,
|
37 |
response: cart,
|
38 |
+
} as const;
|
39 |
};
|
40 |
|
41 |
/**
|
165 |
type: types.UPDATE_LEGACY_CART_FRAGMENTS,
|
166 |
} as const );
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
/**
|
169 |
* Applies a coupon code and either invalidates caches, or receives an error if
|
170 |
* the coupon cannot be applied.
|
assets/js/data/cart/index.ts
CHANGED
@@ -12,14 +12,13 @@ import * as selectors from './selectors';
|
|
12 |
import * as actions from './actions';
|
13 |
import * as resolvers from './resolvers';
|
14 |
import reducer, { State } from './reducers';
|
15 |
-
import { controls
|
16 |
-
import { controls } from './controls';
|
17 |
|
18 |
registerStore< State >( STORE_KEY, {
|
19 |
reducer,
|
20 |
actions,
|
21 |
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
22 |
-
controls: { ...dataControls, ...
|
23 |
selectors,
|
24 |
resolvers,
|
25 |
} );
|
12 |
import * as actions from './actions';
|
13 |
import * as resolvers from './resolvers';
|
14 |
import reducer, { State } from './reducers';
|
15 |
+
import { controls } from '../shared-controls';
|
|
|
16 |
|
17 |
registerStore< State >( STORE_KEY, {
|
18 |
reducer,
|
19 |
actions,
|
20 |
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
21 |
+
controls: { ...dataControls, ...controls } as any,
|
22 |
selectors,
|
23 |
resolvers,
|
24 |
} );
|
assets/js/editor-components/expandable-search-list-item/expandable-search-list-item.tsx
DELETED
@@ -1,60 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { SearchListItem } from '@woocommerce/components';
|
5 |
-
import { Spinner } from '@wordpress/components';
|
6 |
-
import classNames from 'classnames';
|
7 |
-
|
8 |
-
interface SearchListItem {
|
9 |
-
id: string;
|
10 |
-
}
|
11 |
-
|
12 |
-
interface ExpandableSearchListItemProps {
|
13 |
-
className?: string;
|
14 |
-
item: SearchListItem;
|
15 |
-
isSelected: boolean;
|
16 |
-
isLoading: boolean;
|
17 |
-
onSelect: () => void;
|
18 |
-
disabled: boolean;
|
19 |
-
}
|
20 |
-
|
21 |
-
const ExpandableSearchListItem = ( {
|
22 |
-
className,
|
23 |
-
item,
|
24 |
-
isSelected,
|
25 |
-
isLoading,
|
26 |
-
onSelect,
|
27 |
-
disabled,
|
28 |
-
...rest
|
29 |
-
}: ExpandableSearchListItemProps ): JSX.Element => {
|
30 |
-
return (
|
31 |
-
<>
|
32 |
-
<SearchListItem
|
33 |
-
{ ...rest }
|
34 |
-
key={ item.id }
|
35 |
-
className={ className }
|
36 |
-
isSelected={ isSelected }
|
37 |
-
item={ item }
|
38 |
-
onSelect={ onSelect }
|
39 |
-
isSingle
|
40 |
-
disabled={ disabled }
|
41 |
-
/>
|
42 |
-
{ isSelected && isLoading && (
|
43 |
-
<div
|
44 |
-
key="loading"
|
45 |
-
className={ classNames(
|
46 |
-
'woocommerce-search-list__item',
|
47 |
-
'woocommerce-product-attributes__item',
|
48 |
-
'depth-1',
|
49 |
-
'is-loading',
|
50 |
-
'is-not-active'
|
51 |
-
) }
|
52 |
-
>
|
53 |
-
<Spinner />
|
54 |
-
</div>
|
55 |
-
) }
|
56 |
-
</>
|
57 |
-
);
|
58 |
-
};
|
59 |
-
|
60 |
-
export default ExpandableSearchListItem;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/editor-components/product-attribute-term-control/index.js
CHANGED
@@ -2,14 +2,12 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
|
5 |
import PropTypes from 'prop-types';
|
6 |
import { SearchListControl, SearchListItem } from '@woocommerce/components';
|
7 |
-
import { SelectControl } from '@wordpress/components';
|
8 |
-
import { withInstanceId } from '@wordpress/compose';
|
9 |
import { withAttributes } from '@woocommerce/block-hocs';
|
10 |
import ErrorMessage from '@woocommerce/editor-components/error-placeholder/error-message.js';
|
11 |
-
import classNames from 'classnames';
|
12 |
-
import ExpandableSearchListItem from '@woocommerce/editor-components/expandable-search-list-item/expandable-search-list-item.tsx';
|
13 |
|
14 |
/**
|
15 |
* Internal dependencies
|
@@ -23,54 +21,43 @@ const ProductAttributeTermControl = ( {
|
|
23 |
onChange,
|
24 |
onExpandAttribute,
|
25 |
onOperatorChange,
|
26 |
-
instanceId,
|
27 |
-
isCompact,
|
28 |
isLoading,
|
29 |
operator,
|
30 |
selected,
|
31 |
termsAreLoading,
|
32 |
termsList,
|
33 |
} ) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
const renderItem = ( args ) => {
|
35 |
const { item, search, depth = 0 } = args;
|
36 |
const classes = [
|
37 |
'woocommerce-product-attributes__item',
|
38 |
'woocommerce-search-list__item',
|
39 |
-
{
|
40 |
-
'is-searching': search.length > 0,
|
41 |
-
'is-skip-level': depth === 0 && item.parent !== 0,
|
42 |
-
},
|
43 |
];
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
if ( ! item.breadcrumbs.length ) {
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
{ ...args }
|
50 |
-
className={
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
item={ item }
|
55 |
-
isLoading={ termsAreLoading }
|
56 |
disabled={ item.count === '0' }
|
57 |
-
|
58 |
-
return () => {
|
59 |
-
onChange( [] );
|
60 |
-
onExpandAttribute( id );
|
61 |
-
};
|
62 |
-
} }
|
63 |
-
name={ `attributes-${ instanceId }` }
|
64 |
-
countLabel={ sprintf(
|
65 |
-
/* translators: %d is the count of terms. */
|
66 |
-
_n(
|
67 |
-
'%d term',
|
68 |
-
'%d terms',
|
69 |
-
item.count,
|
70 |
-
'woo-gutenberg-products-block'
|
71 |
-
),
|
72 |
-
item.count
|
73 |
-
) }
|
74 |
aria-label={ sprintf(
|
75 |
/* translators: %1$s is the item name, %2$d is the count of terms for the item. */
|
76 |
_n(
|
@@ -82,38 +69,27 @@ const ProductAttributeTermControl = ( {
|
|
82 |
item.name,
|
83 |
item.count
|
84 |
) }
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
|
89 |
-
const itemName = `${ item.breadcrumbs[ 0 ] }: ${ item.name }`;
|
90 |
-
|
91 |
return (
|
92 |
<SearchListItem
|
|
|
93 |
{ ...args }
|
94 |
-
|
95 |
-
|
96 |
-
countLabel={ sprintf(
|
97 |
-
/* translators: %d is the count of products. */
|
98 |
-
_n(
|
99 |
-
'%d product',
|
100 |
-
'%d products',
|
101 |
-
item.count,
|
102 |
-
'woo-gutenberg-products-block'
|
103 |
-
),
|
104 |
-
item.count
|
105 |
-
) }
|
106 |
-
aria-label={ sprintf(
|
107 |
-
/* translators: %1$s is the attribute name, %2$d is the count of products for that attribute. */
|
108 |
-
_n(
|
109 |
-
'%1$s, has %2$d product',
|
110 |
-
'%1$s, has %2$d products',
|
111 |
-
item.count,
|
112 |
-
'woo-gutenberg-products-block'
|
113 |
-
),
|
114 |
-
itemName,
|
115 |
-
item.count
|
116 |
-
) }
|
117 |
/>
|
118 |
);
|
119 |
};
|
@@ -163,16 +139,11 @@ const ProductAttributeTermControl = ( {
|
|
163 |
list={ currentList }
|
164 |
isLoading={ isLoading }
|
165 |
selected={ selected
|
166 |
-
.map( ( { id } ) =>
|
167 |
-
currentList.find(
|
168 |
-
( currentListItem ) => currentListItem.id === id
|
169 |
-
)
|
170 |
-
)
|
171 |
.filter( Boolean ) }
|
172 |
onChange={ onChange }
|
173 |
renderItem={ renderItem }
|
174 |
messages={ messages }
|
175 |
-
isCompact={ isCompact }
|
176 |
isHierarchical
|
177 |
/>
|
178 |
{ !! onOperatorChange && (
|
@@ -238,15 +209,13 @@ ProductAttributeTermControl.propTypes = {
|
|
238 |
error: PropTypes.object,
|
239 |
expandedAttribute: PropTypes.number,
|
240 |
onExpandAttribute: PropTypes.func,
|
241 |
-
isCompact: PropTypes.bool,
|
242 |
isLoading: PropTypes.bool,
|
243 |
termsAreLoading: PropTypes.bool,
|
244 |
termsList: PropTypes.object,
|
245 |
};
|
246 |
|
247 |
ProductAttributeTermControl.defaultProps = {
|
248 |
-
isCompact: false,
|
249 |
operator: 'any',
|
250 |
};
|
251 |
|
252 |
-
export default withAttributes(
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __, _n, sprintf } from '@wordpress/i18n';
|
5 |
+
import { find } from 'lodash';
|
6 |
import PropTypes from 'prop-types';
|
7 |
import { SearchListControl, SearchListItem } from '@woocommerce/components';
|
8 |
+
import { SelectControl, Spinner } from '@wordpress/components';
|
|
|
9 |
import { withAttributes } from '@woocommerce/block-hocs';
|
10 |
import ErrorMessage from '@woocommerce/editor-components/error-placeholder/error-message.js';
|
|
|
|
|
11 |
|
12 |
/**
|
13 |
* Internal dependencies
|
21 |
onChange,
|
22 |
onExpandAttribute,
|
23 |
onOperatorChange,
|
|
|
|
|
24 |
isLoading,
|
25 |
operator,
|
26 |
selected,
|
27 |
termsAreLoading,
|
28 |
termsList,
|
29 |
} ) => {
|
30 |
+
const onSelectAttribute = ( item ) => {
|
31 |
+
return () => {
|
32 |
+
onChange( [] );
|
33 |
+
onExpandAttribute( item.id );
|
34 |
+
};
|
35 |
+
};
|
36 |
+
|
37 |
const renderItem = ( args ) => {
|
38 |
const { item, search, depth = 0 } = args;
|
39 |
const classes = [
|
40 |
'woocommerce-product-attributes__item',
|
41 |
'woocommerce-search-list__item',
|
|
|
|
|
|
|
|
|
42 |
];
|
43 |
+
if ( search.length ) {
|
44 |
+
classes.push( 'is-searching' );
|
45 |
+
}
|
46 |
+
if ( depth === 0 && item.parent ) {
|
47 |
+
classes.push( 'is-skip-level' );
|
48 |
+
}
|
49 |
|
50 |
if ( ! item.breadcrumbs.length ) {
|
51 |
+
return [
|
52 |
+
<SearchListItem
|
53 |
+
key={ `attr-${ item.id }` }
|
54 |
{ ...args }
|
55 |
+
className={ classes.join( ' ' ) }
|
56 |
+
isSelected={ expandedAttribute === item.id }
|
57 |
+
onSelect={ onSelectAttribute }
|
58 |
+
isSingle
|
|
|
|
|
59 |
disabled={ item.count === '0' }
|
60 |
+
aria-expanded={ expandedAttribute === item.id }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
aria-label={ sprintf(
|
62 |
/* translators: %1$s is the item name, %2$d is the count of terms for the item. */
|
63 |
_n(
|
69 |
item.name,
|
70 |
item.count
|
71 |
) }
|
72 |
+
/>,
|
73 |
+
expandedAttribute === item.id && termsAreLoading && (
|
74 |
+
<div
|
75 |
+
key="loading"
|
76 |
+
className={
|
77 |
+
'woocommerce-search-list__item woocommerce-product-attributes__item' +
|
78 |
+
'depth-1 is-loading is-not-active'
|
79 |
+
}
|
80 |
+
>
|
81 |
+
<Spinner />
|
82 |
+
</div>
|
83 |
+
),
|
84 |
+
];
|
85 |
}
|
86 |
|
|
|
|
|
87 |
return (
|
88 |
<SearchListItem
|
89 |
+
className={ classes.join( ' ' ) }
|
90 |
{ ...args }
|
91 |
+
showCount
|
92 |
+
aria-label={ `${ item.breadcrumbs[ 0 ] }: ${ item.name }` }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
/>
|
94 |
);
|
95 |
};
|
139 |
list={ currentList }
|
140 |
isLoading={ isLoading }
|
141 |
selected={ selected
|
142 |
+
.map( ( { id } ) => find( currentList, { id } ) )
|
|
|
|
|
|
|
|
|
143 |
.filter( Boolean ) }
|
144 |
onChange={ onChange }
|
145 |
renderItem={ renderItem }
|
146 |
messages={ messages }
|
|
|
147 |
isHierarchical
|
148 |
/>
|
149 |
{ !! onOperatorChange && (
|
209 |
error: PropTypes.object,
|
210 |
expandedAttribute: PropTypes.number,
|
211 |
onExpandAttribute: PropTypes.func,
|
|
|
212 |
isLoading: PropTypes.bool,
|
213 |
termsAreLoading: PropTypes.bool,
|
214 |
termsList: PropTypes.object,
|
215 |
};
|
216 |
|
217 |
ProductAttributeTermControl.defaultProps = {
|
|
|
218 |
operator: 'any',
|
219 |
};
|
220 |
|
221 |
+
export default withAttributes( ProductAttributeTermControl );
|
assets/js/editor-components/product-attribute-term-control/style.scss
CHANGED
@@ -9,6 +9,17 @@
|
|
9 |
}
|
10 |
}
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
.woocommerce-search-list__item.woocommerce-product-attributes__item {
|
13 |
&.is-searching,
|
14 |
&.is-skip-level {
|
@@ -44,7 +55,7 @@
|
|
44 |
background-size: contain;
|
45 |
}
|
46 |
|
47 |
-
&.depth-0
|
48 |
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" fill="#{encode-color($gray-700)}" /></svg>');
|
49 |
}
|
50 |
|
9 |
}
|
10 |
}
|
11 |
|
12 |
+
.components-panel {
|
13 |
+
.woocommerce-product-attributes__operator.components-base-control {
|
14 |
+
margin-top: $gap;
|
15 |
+
|
16 |
+
.components-select-control__input {
|
17 |
+
margin-left: 0;
|
18 |
+
min-width: 100%;
|
19 |
+
}
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
.woocommerce-search-list__item.woocommerce-product-attributes__item {
|
24 |
&.is-searching,
|
25 |
&.is-skip-level {
|
55 |
background-size: contain;
|
56 |
}
|
57 |
|
58 |
+
&.depth-0[aria-expanded="true"]::after {
|
59 |
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" fill="#{encode-color($gray-700)}" /></svg>');
|
60 |
}
|
61 |
|
assets/js/editor-components/product-category-control/index.js
CHANGED
@@ -2,12 +2,12 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
|
5 |
import PropTypes from 'prop-types';
|
6 |
import { SearchListControl, SearchListItem } from '@woocommerce/components';
|
7 |
import { SelectControl } from '@wordpress/components';
|
8 |
import { withCategories } from '@woocommerce/block-hocs';
|
9 |
import ErrorMessage from '@woocommerce/editor-components/error-placeholder/error-message.js';
|
10 |
-
import classNames from 'classnames';
|
11 |
|
12 |
/**
|
13 |
* Internal dependencies
|
@@ -22,12 +22,18 @@ const ProductCategoryControl = ( {
|
|
22 |
onOperatorChange,
|
23 |
operator,
|
24 |
selected,
|
25 |
-
isCompact,
|
26 |
isSingle,
|
27 |
showReviewCount,
|
28 |
} ) => {
|
29 |
const renderItem = ( args ) => {
|
30 |
const { item, search, depth = 0 } = args;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
const accessibleName = ! item.breadcrumbs.length
|
33 |
? item.name
|
@@ -61,8 +67,8 @@ const ProductCategoryControl = ( {
|
|
61 |
? sprintf(
|
62 |
/* translators: %d is the count of reviews. */
|
63 |
_n(
|
64 |
-
'%d
|
65 |
-
'%d
|
66 |
item.review_count,
|
67 |
'woo-gutenberg-products-block'
|
68 |
),
|
@@ -71,8 +77,8 @@ const ProductCategoryControl = ( {
|
|
71 |
: sprintf(
|
72 |
/* translators: %d is the count of products. */
|
73 |
_n(
|
74 |
-
'%d
|
75 |
-
'%d
|
76 |
item.count,
|
77 |
'woo-gutenberg-products-block'
|
78 |
),
|
@@ -80,15 +86,9 @@ const ProductCategoryControl = ( {
|
|
80 |
);
|
81 |
return (
|
82 |
<SearchListItem
|
83 |
-
className={
|
84 |
-
'woocommerce-product-categories__item',
|
85 |
-
'has-count',
|
86 |
-
{
|
87 |
-
'is-searching': search.length > 0,
|
88 |
-
'is-skip-level': depth === 0 && item.parent !== 0,
|
89 |
-
}
|
90 |
-
) }
|
91 |
{ ...args }
|
|
|
92 |
countLabel={ listItemCountLabel }
|
93 |
aria-label={ listItemAriaLabel }
|
94 |
/>
|
@@ -137,14 +137,11 @@ const ProductCategoryControl = ( {
|
|
137 |
list={ categories }
|
138 |
isLoading={ isLoading }
|
139 |
selected={ selected
|
140 |
-
.map( ( id ) =>
|
141 |
-
categories.find( ( category ) => category.id === id )
|
142 |
-
)
|
143 |
.filter( Boolean ) }
|
144 |
onChange={ onChange }
|
145 |
renderItem={ renderItem }
|
146 |
messages={ messages }
|
147 |
-
isCompact={ isCompact }
|
148 |
isHierarchical
|
149 |
isSingle={ isSingle }
|
150 |
/>
|
@@ -206,7 +203,6 @@ ProductCategoryControl.propTypes = {
|
|
206 |
* The list of currently selected category IDs.
|
207 |
*/
|
208 |
selected: PropTypes.array.isRequired,
|
209 |
-
isCompact: PropTypes.bool,
|
210 |
/**
|
211 |
* Allow only a single selection. Defaults to false.
|
212 |
*/
|
@@ -215,7 +211,6 @@ ProductCategoryControl.propTypes = {
|
|
215 |
|
216 |
ProductCategoryControl.defaultProps = {
|
217 |
operator: 'any',
|
218 |
-
isCompact: false,
|
219 |
isSingle: false,
|
220 |
};
|
221 |
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __, _n, sprintf } from '@wordpress/i18n';
|
5 |
+
import { find } from 'lodash';
|
6 |
import PropTypes from 'prop-types';
|
7 |
import { SearchListControl, SearchListItem } from '@woocommerce/components';
|
8 |
import { SelectControl } from '@wordpress/components';
|
9 |
import { withCategories } from '@woocommerce/block-hocs';
|
10 |
import ErrorMessage from '@woocommerce/editor-components/error-placeholder/error-message.js';
|
|
|
11 |
|
12 |
/**
|
13 |
* Internal dependencies
|
22 |
onOperatorChange,
|
23 |
operator,
|
24 |
selected,
|
|
|
25 |
isSingle,
|
26 |
showReviewCount,
|
27 |
} ) => {
|
28 |
const renderItem = ( args ) => {
|
29 |
const { item, search, depth = 0 } = args;
|
30 |
+
const classes = [ 'woocommerce-product-categories__item' ];
|
31 |
+
if ( search.length ) {
|
32 |
+
classes.push( 'is-searching' );
|
33 |
+
}
|
34 |
+
if ( depth === 0 && item.parent !== 0 ) {
|
35 |
+
classes.push( 'is-skip-level' );
|
36 |
+
}
|
37 |
|
38 |
const accessibleName = ! item.breadcrumbs.length
|
39 |
? item.name
|
67 |
? sprintf(
|
68 |
/* translators: %d is the count of reviews. */
|
69 |
_n(
|
70 |
+
'%d Review',
|
71 |
+
'%d Reviews',
|
72 |
item.review_count,
|
73 |
'woo-gutenberg-products-block'
|
74 |
),
|
77 |
: sprintf(
|
78 |
/* translators: %d is the count of products. */
|
79 |
_n(
|
80 |
+
'%d Product',
|
81 |
+
'%d Products',
|
82 |
item.count,
|
83 |
'woo-gutenberg-products-block'
|
84 |
),
|
86 |
);
|
87 |
return (
|
88 |
<SearchListItem
|
89 |
+
className={ classes.join( ' ' ) }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
{ ...args }
|
91 |
+
showCount
|
92 |
countLabel={ listItemCountLabel }
|
93 |
aria-label={ listItemAriaLabel }
|
94 |
/>
|
137 |
list={ categories }
|
138 |
isLoading={ isLoading }
|
139 |
selected={ selected
|
140 |
+
.map( ( id ) => find( categories, { id } ) )
|
|
|
|
|
141 |
.filter( Boolean ) }
|
142 |
onChange={ onChange }
|
143 |
renderItem={ renderItem }
|
144 |
messages={ messages }
|
|
|
145 |
isHierarchical
|
146 |
isSingle={ isSingle }
|
147 |
/>
|
203 |
* The list of currently selected category IDs.
|
204 |
*/
|
205 |
selected: PropTypes.array.isRequired,
|
|
|
206 |
/**
|
207 |
* Allow only a single selection. Defaults to false.
|
208 |
*/
|
211 |
|
212 |
ProductCategoryControl.defaultProps = {
|
213 |
operator: 'any',
|
|
|
214 |
isSingle: false,
|
215 |
};
|
216 |
|
assets/js/editor-components/product-category-control/style.scss
CHANGED
@@ -8,3 +8,14 @@
|
|
8 |
margin-right: 0.5em;
|
9 |
}
|
10 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
margin-right: 0.5em;
|
9 |
}
|
10 |
}
|
11 |
+
|
12 |
+
.components-panel {
|
13 |
+
.woocommerce-product-categories__operator.components-base-control {
|
14 |
+
margin-top: $gap;
|
15 |
+
|
16 |
+
.components-select-control__input {
|
17 |
+
margin-left: 0;
|
18 |
+
min-width: 100%;
|
19 |
+
}
|
20 |
+
}
|
21 |
+
}
|
assets/js/editor-components/product-control/index.js
CHANGED
@@ -2,24 +2,40 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __, _n, sprintf } from '@wordpress/i18n';
|
5 |
-
import { isEmpty } from 'lodash';
|
6 |
import PropTypes from 'prop-types';
|
7 |
import { SearchListControl, SearchListItem } from '@woocommerce/components';
|
8 |
-
import {
|
|
|
9 |
import {
|
10 |
withProductVariations,
|
11 |
withSearchedProducts,
|
12 |
withTransformSingleSelectToMultipleSelect,
|
13 |
} from '@woocommerce/block-hocs';
|
|
|
14 |
import ErrorMessage from '@woocommerce/editor-components/error-placeholder/error-message.js';
|
15 |
-
import classNames from 'classnames';
|
16 |
-
import ExpandableSearchListItem from '@woocommerce/editor-components/expandable-search-list-item/expandable-search-list-item.tsx';
|
17 |
|
18 |
/**
|
19 |
* Internal dependencies
|
20 |
*/
|
21 |
import './style.scss';
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
const messages = {
|
24 |
list: __( 'Products', 'woo-gutenberg-products-block' ),
|
25 |
noItems: __(
|
@@ -39,8 +55,6 @@ const messages = {
|
|
39 |
const ProductControl = ( {
|
40 |
expandedProduct,
|
41 |
error,
|
42 |
-
instanceId,
|
43 |
-
isCompact,
|
44 |
isLoading,
|
45 |
onChange,
|
46 |
onSearch,
|
@@ -57,11 +71,10 @@ const ProductControl = ( {
|
|
57 |
item.variations && Array.isArray( item.variations )
|
58 |
? item.variations.length
|
59 |
: 0;
|
60 |
-
const classes =
|
61 |
'woocommerce-search-product__item',
|
62 |
'woocommerce-search-list__item',
|
63 |
`depth-${ depth }`,
|
64 |
-
'has-count',
|
65 |
{
|
66 |
'is-searching': search.length > 0,
|
67 |
'is-skip-level': depth === 0 && item.parent !== 0,
|
@@ -69,66 +82,89 @@ const ProductControl = ( {
|
|
69 |
}
|
70 |
);
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
// Top level items custom rendering based on SearchListItem.
|
73 |
if ( ! item.breadcrumbs.length ) {
|
74 |
-
return
|
75 |
-
<
|
76 |
-
{
|
77 |
-
className={ classNames( classes, {
|
78 |
-
'is-selected': isSelected,
|
79 |
-
} ) }
|
80 |
isSelected={ isSelected }
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
} }
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
}
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
...args,
|
120 |
-
item: {
|
121 |
-
...args.item,
|
122 |
-
name: item.variation,
|
123 |
-
},
|
124 |
-
'aria-label': `${ item.breadcrumbs[ 0 ] }: ${ item.variation }`,
|
125 |
-
};
|
126 |
|
127 |
return (
|
128 |
<SearchListItem
|
129 |
-
{ ...itemArgs }
|
130 |
className={ classes }
|
131 |
-
|
|
|
132 |
/>
|
133 |
);
|
134 |
};
|
@@ -156,7 +192,6 @@ const ProductControl = ( {
|
|
156 |
<SearchListControl
|
157 |
className="woocommerce-products"
|
158 |
list={ currentList }
|
159 |
-
isCompact={ isCompact }
|
160 |
isLoading={ isLoading }
|
161 |
isSingle
|
162 |
selected={ currentList.filter( ( { id } ) =>
|
@@ -176,7 +211,6 @@ ProductControl.propTypes = {
|
|
176 |
* Callback to update the selected products.
|
177 |
*/
|
178 |
onChange: PropTypes.func.isRequired,
|
179 |
-
isCompact: PropTypes.bool,
|
180 |
/**
|
181 |
* The ID of the currently expanded product.
|
182 |
*/
|
@@ -204,14 +238,11 @@ ProductControl.propTypes = {
|
|
204 |
};
|
205 |
|
206 |
ProductControl.defaultProps = {
|
207 |
-
isCompact: false,
|
208 |
expandedProduct: null,
|
209 |
selected: [],
|
210 |
showVariations: false,
|
211 |
};
|
212 |
|
213 |
export default withTransformSingleSelectToMultipleSelect(
|
214 |
-
withSearchedProducts(
|
215 |
-
withProductVariations( withInstanceId( ProductControl ) )
|
216 |
-
)
|
217 |
);
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __, _n, sprintf } from '@wordpress/i18n';
|
5 |
+
import { escapeRegExp, isEmpty } from 'lodash';
|
6 |
import PropTypes from 'prop-types';
|
7 |
import { SearchListControl, SearchListItem } from '@woocommerce/components';
|
8 |
+
import { Spinner, MenuItem } from '@wordpress/components';
|
9 |
+
import classnames from 'classnames';
|
10 |
import {
|
11 |
withProductVariations,
|
12 |
withSearchedProducts,
|
13 |
withTransformSingleSelectToMultipleSelect,
|
14 |
} from '@woocommerce/block-hocs';
|
15 |
+
import { Icon, radioSelected, radioUnselected } from '@woocommerce/icons';
|
16 |
import ErrorMessage from '@woocommerce/editor-components/error-placeholder/error-message.js';
|
|
|
|
|
17 |
|
18 |
/**
|
19 |
* Internal dependencies
|
20 |
*/
|
21 |
import './style.scss';
|
22 |
|
23 |
+
function getHighlightedName( name, search ) {
|
24 |
+
if ( ! search ) {
|
25 |
+
return name;
|
26 |
+
}
|
27 |
+
const re = new RegExp( escapeRegExp( search ), 'ig' );
|
28 |
+
return name.replace( re, '<strong>$&</strong>' );
|
29 |
+
}
|
30 |
+
|
31 |
+
const getInteractionIcon = ( isSelected = false ) => {
|
32 |
+
return isSelected ? (
|
33 |
+
<Icon srcElement={ radioSelected } />
|
34 |
+
) : (
|
35 |
+
<Icon srcElement={ radioUnselected } />
|
36 |
+
);
|
37 |
+
};
|
38 |
+
|
39 |
const messages = {
|
40 |
list: __( 'Products', 'woo-gutenberg-products-block' ),
|
41 |
noItems: __(
|
55 |
const ProductControl = ( {
|
56 |
expandedProduct,
|
57 |
error,
|
|
|
|
|
58 |
isLoading,
|
59 |
onChange,
|
60 |
onSearch,
|
71 |
item.variations && Array.isArray( item.variations )
|
72 |
? item.variations.length
|
73 |
: 0;
|
74 |
+
const classes = classnames(
|
75 |
'woocommerce-search-product__item',
|
76 |
'woocommerce-search-list__item',
|
77 |
`depth-${ depth }`,
|
|
|
78 |
{
|
79 |
'is-searching': search.length > 0,
|
80 |
'is-skip-level': depth === 0 && item.parent !== 0,
|
82 |
}
|
83 |
);
|
84 |
|
85 |
+
const itemArgs = Object.assign( {}, args );
|
86 |
+
delete itemArgs.isSingle;
|
87 |
+
|
88 |
+
const a11yProps = {
|
89 |
+
role: 'menuitemradio',
|
90 |
+
};
|
91 |
+
|
92 |
+
if ( item.breadcrumbs.length ) {
|
93 |
+
a11yProps[
|
94 |
+
'aria-label'
|
95 |
+
] = `${ item.breadcrumbs[ 0 ] }: ${ item.name }`;
|
96 |
+
}
|
97 |
+
|
98 |
+
if ( variationsCount ) {
|
99 |
+
a11yProps[ 'aria-expanded' ] = item.id === expandedProduct;
|
100 |
+
}
|
101 |
+
|
102 |
// Top level items custom rendering based on SearchListItem.
|
103 |
if ( ! item.breadcrumbs.length ) {
|
104 |
+
return [
|
105 |
+
<MenuItem
|
106 |
+
key={ `product-${ item.id }` }
|
|
|
|
|
|
|
107 |
isSelected={ isSelected }
|
108 |
+
{ ...itemArgs }
|
109 |
+
{ ...a11yProps }
|
110 |
+
className={ classes }
|
111 |
+
onClick={ () => {
|
112 |
+
onSelect( item )();
|
113 |
} }
|
114 |
+
>
|
115 |
+
<span className="woocommerce-search-list__item-state">
|
116 |
+
{ getInteractionIcon( isSelected ) }
|
117 |
+
</span>
|
118 |
+
|
119 |
+
<span className="woocommerce-search-list__item-label">
|
120 |
+
<span
|
121 |
+
className="woocommerce-search-list__item-name"
|
122 |
+
dangerouslySetInnerHTML={ {
|
123 |
+
__html: getHighlightedName( item.name, search ),
|
124 |
+
} }
|
125 |
+
/>
|
126 |
+
</span>
|
127 |
+
|
128 |
+
{ variationsCount ? (
|
129 |
+
<span className="woocommerce-search-list__item-variation-count">
|
130 |
+
{ sprintf(
|
131 |
+
/* translators: %d is the count of variations. */
|
132 |
+
_n(
|
133 |
+
'%d variation',
|
134 |
+
'%d variations',
|
135 |
+
variationsCount,
|
136 |
+
'woo-gutenberg-products-block'
|
137 |
+
),
|
138 |
+
variationsCount
|
139 |
+
) }
|
140 |
+
</span>
|
141 |
+
) : null }
|
142 |
+
</MenuItem>,
|
143 |
+
expandedProduct === item.id &&
|
144 |
+
variationsCount > 0 &&
|
145 |
+
variationsLoading && (
|
146 |
+
<div
|
147 |
+
key="loading"
|
148 |
+
className={
|
149 |
+
'woocommerce-search-list__item woocommerce-search-product__item' +
|
150 |
+
'depth-1 is-loading is-not-active'
|
151 |
+
}
|
152 |
+
>
|
153 |
+
<Spinner />
|
154 |
+
</div>
|
155 |
+
),
|
156 |
+
];
|
157 |
}
|
158 |
|
159 |
+
if ( ! isEmpty( item.variation ) ) {
|
160 |
+
item.name = item.variation;
|
161 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
|
163 |
return (
|
164 |
<SearchListItem
|
|
|
165 |
className={ classes }
|
166 |
+
{ ...args }
|
167 |
+
{ ...a11yProps }
|
168 |
/>
|
169 |
);
|
170 |
};
|
192 |
<SearchListControl
|
193 |
className="woocommerce-products"
|
194 |
list={ currentList }
|
|
|
195 |
isLoading={ isLoading }
|
196 |
isSingle
|
197 |
selected={ currentList.filter( ( { id } ) =>
|
211 |
* Callback to update the selected products.
|
212 |
*/
|
213 |
onChange: PropTypes.func.isRequired,
|
|
|
214 |
/**
|
215 |
* The ID of the currently expanded product.
|
216 |
*/
|
238 |
};
|
239 |
|
240 |
ProductControl.defaultProps = {
|
|
|
241 |
expandedProduct: null,
|
242 |
selected: [],
|
243 |
showVariations: false,
|
244 |
};
|
245 |
|
246 |
export default withTransformSingleSelectToMultipleSelect(
|
247 |
+
withSearchedProducts( withProductVariations( ProductControl ) )
|
|
|
|
|
248 |
);
|
assets/js/editor-components/product-control/style.scss
CHANGED
@@ -39,7 +39,7 @@
|
|
39 |
background-size: contain;
|
40 |
}
|
41 |
|
42 |
-
&.depth-0.is-variable
|
43 |
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z" fill="#{encode-color($gray-700)}" /></svg>');
|
44 |
}
|
45 |
}
|
39 |
background-size: contain;
|
40 |
}
|
41 |
|
42 |
+
&.depth-0.is-variable[aria-expanded="true"]::after {
|
43 |
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z" fill="#{encode-color($gray-700)}" /></svg>');
|
44 |
}
|
45 |
}
|
assets/js/editor-components/product-tag-control/index.js
CHANGED
@@ -3,12 +3,11 @@
|
|
3 |
*/
|
4 |
import { __, _n, sprintf } from '@wordpress/i18n';
|
5 |
import { Component } from '@wordpress/element';
|
6 |
-
import { debounce } from 'lodash';
|
7 |
import PropTypes from 'prop-types';
|
8 |
import { SearchListControl, SearchListItem } from '@woocommerce/components';
|
9 |
import { SelectControl } from '@wordpress/components';
|
10 |
import { getSetting } from '@woocommerce/settings';
|
11 |
-
import classNames from 'classnames';
|
12 |
|
13 |
/**
|
14 |
* Internal dependencies
|
@@ -57,6 +56,13 @@ class ProductTagControl extends Component {
|
|
57 |
|
58 |
renderItem( args ) {
|
59 |
const { item, search, depth = 0 } = args;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
const accessibleName = ! item.breadcrumbs.length
|
62 |
? item.name
|
@@ -64,15 +70,9 @@ class ProductTagControl extends Component {
|
|
64 |
|
65 |
return (
|
66 |
<SearchListItem
|
67 |
-
className={
|
68 |
-
'woocommerce-product-tags__item',
|
69 |
-
'has-count',
|
70 |
-
{
|
71 |
-
'is-searching': search.length > 0,
|
72 |
-
'is-skip-level': depth === 0 && item.parent !== 0,
|
73 |
-
}
|
74 |
-
) }
|
75 |
{ ...args }
|
|
|
76 |
aria-label={ sprintf(
|
77 |
/* translators: %1$d is the count of products, %2$s is the name of the tag. */
|
78 |
_n(
|
@@ -90,13 +90,7 @@ class ProductTagControl extends Component {
|
|
90 |
|
91 |
render() {
|
92 |
const { list, loading } = this.state;
|
93 |
-
const {
|
94 |
-
isCompact,
|
95 |
-
onChange,
|
96 |
-
onOperatorChange,
|
97 |
-
operator,
|
98 |
-
selected,
|
99 |
-
} = this.props;
|
100 |
|
101 |
const messages = {
|
102 |
clear: __(
|
@@ -138,15 +132,12 @@ class ProductTagControl extends Component {
|
|
138 |
list={ list }
|
139 |
isLoading={ loading }
|
140 |
selected={ selected
|
141 |
-
.map( ( id ) =>
|
142 |
-
list.find( ( listItem ) => listItem.id === id )
|
143 |
-
)
|
144 |
.filter( Boolean ) }
|
145 |
onChange={ onChange }
|
146 |
onSearch={ limitTags ? this.debouncedOnSearch : null }
|
147 |
renderItem={ this.renderItem }
|
148 |
messages={ messages }
|
149 |
-
isCompact={ isCompact }
|
150 |
isHierarchical
|
151 |
/>
|
152 |
{ !! onOperatorChange && (
|
@@ -208,11 +199,9 @@ ProductTagControl.propTypes = {
|
|
208 |
* The list of currently selected tags.
|
209 |
*/
|
210 |
selected: PropTypes.array.isRequired,
|
211 |
-
isCompact: PropTypes.bool,
|
212 |
};
|
213 |
|
214 |
ProductTagControl.defaultProps = {
|
215 |
-
isCompact: false,
|
216 |
operator: 'any',
|
217 |
};
|
218 |
|
3 |
*/
|
4 |
import { __, _n, sprintf } from '@wordpress/i18n';
|
5 |
import { Component } from '@wordpress/element';
|
6 |
+
import { debounce, find } from 'lodash';
|
7 |
import PropTypes from 'prop-types';
|
8 |
import { SearchListControl, SearchListItem } from '@woocommerce/components';
|
9 |
import { SelectControl } from '@wordpress/components';
|
10 |
import { getSetting } from '@woocommerce/settings';
|
|
|
11 |
|
12 |
/**
|
13 |
* Internal dependencies
|
56 |
|
57 |
renderItem( args ) {
|
58 |
const { item, search, depth = 0 } = args;
|
59 |
+
const classes = [ 'woocommerce-product-tags__item' ];
|
60 |
+
if ( search.length ) {
|
61 |
+
classes.push( 'is-searching' );
|
62 |
+
}
|
63 |
+
if ( depth === 0 && item.parent !== 0 ) {
|
64 |
+
classes.push( 'is-skip-level' );
|
65 |
+
}
|
66 |
|
67 |
const accessibleName = ! item.breadcrumbs.length
|
68 |
? item.name
|
70 |
|
71 |
return (
|
72 |
<SearchListItem
|
73 |
+
className={ classes.join( ' ' ) }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
{ ...args }
|
75 |
+
showCount
|
76 |
aria-label={ sprintf(
|
77 |
/* translators: %1$d is the count of products, %2$s is the name of the tag. */
|
78 |
_n(
|
90 |
|
91 |
render() {
|
92 |
const { list, loading } = this.state;
|
93 |
+
const { onChange, onOperatorChange, operator, selected } = this.props;
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
|
95 |
const messages = {
|
96 |
clear: __(
|
132 |
list={ list }
|
133 |
isLoading={ loading }
|
134 |
selected={ selected
|
135 |
+
.map( ( id ) => find( list, { id } ) )
|
|
|
|
|
136 |
.filter( Boolean ) }
|
137 |
onChange={ onChange }
|
138 |
onSearch={ limitTags ? this.debouncedOnSearch : null }
|
139 |
renderItem={ this.renderItem }
|
140 |
messages={ messages }
|
|
|
141 |
isHierarchical
|
142 |
/>
|
143 |
{ !! onOperatorChange && (
|
199 |
* The list of currently selected tags.
|
200 |
*/
|
201 |
selected: PropTypes.array.isRequired,
|
|
|
202 |
};
|
203 |
|
204 |
ProductTagControl.defaultProps = {
|
|
|
205 |
operator: 'any',
|
206 |
};
|
207 |
|
assets/js/editor-components/product-tag-control/style.scss
CHANGED
@@ -8,3 +8,14 @@
|
|
8 |
margin-right: 0.5em;
|
9 |
}
|
10 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
margin-right: 0.5em;
|
9 |
}
|
10 |
}
|
11 |
+
|
12 |
+
.components-panel {
|
13 |
+
.woocommerce-product-tags__operator.components-base-control {
|
14 |
+
margin-top: $gap;
|
15 |
+
|
16 |
+
.components-select-control__input {
|
17 |
+
margin-left: 0;
|
18 |
+
min-width: 100%;
|
19 |
+
}
|
20 |
+
}
|
21 |
+
}
|
assets/js/editor-components/products-control/index.js
CHANGED
@@ -18,7 +18,6 @@ import ErrorMessage from '@woocommerce/editor-components/error-placeholder/error
|
|
18 |
* @param {Array} props.selected An array of selected products.
|
19 |
* @param {Array} props.products An array of products to select from.
|
20 |
* @param {boolean} props.isLoading Whether or not the products are being loaded.
|
21 |
-
* @param {boolean} props.isCompact Whether or not the control should have compact styles.
|
22 |
*
|
23 |
* @return {Function} A functional component.
|
24 |
*/
|
@@ -29,7 +28,6 @@ const ProductsControl = ( {
|
|
29 |
selected,
|
30 |
products,
|
31 |
isLoading,
|
32 |
-
isCompact,
|
33 |
} ) => {
|
34 |
const messages = {
|
35 |
clear: __( 'Clear all products', 'woo-gutenberg-products-block' ),
|
@@ -66,16 +64,7 @@ const ProductsControl = ( {
|
|
66 |
return (
|
67 |
<SearchListControl
|
68 |
className="woocommerce-products"
|
69 |
-
list={ products
|
70 |
-
const formattedSku = product.sku
|
71 |
-
? ' (' + product.sku + ')'
|
72 |
-
: '';
|
73 |
-
return {
|
74 |
-
...product,
|
75 |
-
name: `${ product.name }${ formattedSku }`,
|
76 |
-
};
|
77 |
-
} ) }
|
78 |
-
isCompact={ isCompact }
|
79 |
isLoading={ isLoading }
|
80 |
selected={ products.filter( ( { id } ) =>
|
81 |
selected.includes( id )
|
@@ -92,14 +81,12 @@ ProductsControl.propTypes = {
|
|
92 |
onSearch: PropTypes.func,
|
93 |
selected: PropTypes.array,
|
94 |
products: PropTypes.array,
|
95 |
-
isCompact: PropTypes.bool,
|
96 |
isLoading: PropTypes.bool,
|
97 |
};
|
98 |
|
99 |
ProductsControl.defaultProps = {
|
100 |
selected: [],
|
101 |
products: [],
|
102 |
-
isCompact: false,
|
103 |
isLoading: true,
|
104 |
};
|
105 |
|
18 |
* @param {Array} props.selected An array of selected products.
|
19 |
* @param {Array} props.products An array of products to select from.
|
20 |
* @param {boolean} props.isLoading Whether or not the products are being loaded.
|
|
|
21 |
*
|
22 |
* @return {Function} A functional component.
|
23 |
*/
|
28 |
selected,
|
29 |
products,
|
30 |
isLoading,
|
|
|
31 |
} ) => {
|
32 |
const messages = {
|
33 |
clear: __( 'Clear all products', 'woo-gutenberg-products-block' ),
|
64 |
return (
|
65 |
<SearchListControl
|
66 |
className="woocommerce-products"
|
67 |
+
list={ products }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
isLoading={ isLoading }
|
69 |
selected={ products.filter( ( { id } ) =>
|
70 |
selected.includes( id )
|
81 |
onSearch: PropTypes.func,
|
82 |
selected: PropTypes.array,
|
83 |
products: PropTypes.array,
|
|
|
84 |
isLoading: PropTypes.bool,
|
85 |
};
|
86 |
|
87 |
ProductsControl.defaultProps = {
|
88 |
selected: [],
|
89 |
products: [],
|
|
|
90 |
isLoading: true,
|
91 |
};
|
92 |
|
assets/js/hocs/test/with-categories.js
CHANGED
@@ -97,7 +97,7 @@ describe( 'withCategories Component', () => {
|
|
97 |
expect( formatError ).toHaveBeenCalledTimes( 1 );
|
98 |
expect( props.error ).toEqual( formattedError );
|
99 |
expect( props.isLoading ).toBe( false );
|
100 |
-
expect( props.categories ).
|
101 |
} );
|
102 |
} );
|
103 |
} );
|
97 |
expect( formatError ).toHaveBeenCalledTimes( 1 );
|
98 |
expect( props.error ).toEqual( formattedError );
|
99 |
expect( props.isLoading ).toBe( false );
|
100 |
+
expect( props.categories ).toBeNull();
|
101 |
} );
|
102 |
} );
|
103 |
} );
|
assets/js/hocs/with-categories.js
CHANGED
@@ -22,7 +22,7 @@ const withCategories = createHigherOrderComponent( ( OriginalComponent ) => {
|
|
22 |
this.state = {
|
23 |
error: null,
|
24 |
loading: false,
|
25 |
-
categories:
|
26 |
};
|
27 |
this.loadCategories = this.loadCategories.bind( this );
|
28 |
}
|
@@ -46,7 +46,7 @@ const withCategories = createHigherOrderComponent( ( OriginalComponent ) => {
|
|
46 |
const error = await formatError( e );
|
47 |
|
48 |
this.setState( {
|
49 |
-
categories:
|
50 |
loading: false,
|
51 |
error,
|
52 |
} );
|
22 |
this.state = {
|
23 |
error: null,
|
24 |
loading: false,
|
25 |
+
categories: null,
|
26 |
};
|
27 |
this.loadCategories = this.loadCategories.bind( this );
|
28 |
}
|
46 |
const error = await formatError( e );
|
47 |
|
48 |
this.setState( {
|
49 |
+
categories: null,
|
50 |
loading: false,
|
51 |
error,
|
52 |
} );
|
assets/js/icons/stories/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
-
import { omitBy, omit } from 'lodash';
|
5 |
import { useState } from '@wordpress/element';
|
6 |
|
7 |
/**
|
@@ -22,7 +22,6 @@ const LibraryExample = () => {
|
|
22 |
const filteredIcons = omitBy( availableIcons, ( _icon, name ) => {
|
23 |
return ! name.includes( filter );
|
24 |
} );
|
25 |
-
|
26 |
return (
|
27 |
<div style={ { padding: '20px' } }>
|
28 |
<label htmlFor="filter-icons" style={ { paddingRight: '30px' } }>
|
@@ -40,16 +39,16 @@ const LibraryExample = () => {
|
|
40 |
style={ {
|
41 |
display: 'flex',
|
42 |
alignItems: 'bottom',
|
43 |
-
|
44 |
} }
|
45 |
>
|
46 |
-
{
|
47 |
return (
|
48 |
<div
|
49 |
key={ name }
|
50 |
style={ {
|
51 |
display: 'flex',
|
52 |
-
|
53 |
width: '25%',
|
54 |
padding: '25px 0 25px 0',
|
55 |
} }
|
@@ -69,12 +68,12 @@ const LibraryExample = () => {
|
|
69 |
>
|
70 |
<Icon srcElement={ icon } />
|
71 |
<Icon
|
72 |
-
style={ {
|
73 |
srcElement={ icon }
|
74 |
size={ 36 }
|
75 |
/>
|
76 |
<Icon
|
77 |
-
style={ {
|
78 |
srcElement={ icon }
|
79 |
size={ 48 }
|
80 |
/>
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
+
import { omitBy, omit, map } from 'lodash';
|
5 |
import { useState } from '@wordpress/element';
|
6 |
|
7 |
/**
|
22 |
const filteredIcons = omitBy( availableIcons, ( _icon, name ) => {
|
23 |
return ! name.includes( filter );
|
24 |
} );
|
|
|
25 |
return (
|
26 |
<div style={ { padding: '20px' } }>
|
27 |
<label htmlFor="filter-icons" style={ { paddingRight: '30px' } }>
|
39 |
style={ {
|
40 |
display: 'flex',
|
41 |
alignItems: 'bottom',
|
42 |
+
'flex-wrap': 'wrap',
|
43 |
} }
|
44 |
>
|
45 |
+
{ map( filteredIcons, ( icon, name ) => {
|
46 |
return (
|
47 |
<div
|
48 |
key={ name }
|
49 |
style={ {
|
50 |
display: 'flex',
|
51 |
+
'flex-direction': 'column',
|
52 |
width: '25%',
|
53 |
padding: '25px 0 25px 0',
|
54 |
} }
|
68 |
>
|
69 |
<Icon srcElement={ icon } />
|
70 |
<Icon
|
71 |
+
style={ { 'padding-left': '10px' } }
|
72 |
srcElement={ icon }
|
73 |
size={ 36 }
|
74 |
/>
|
75 |
<Icon
|
76 |
+
style={ { 'padding-left': '10px' } }
|
77 |
srcElement={ icon }
|
78 |
size={ 48 }
|
79 |
/>
|
assets/js/previews/cart.ts
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
-
import {
|
6 |
import { CartResponse } from '@woocommerce/types';
|
7 |
import { getSetting } from '@woocommerce/settings';
|
8 |
|
@@ -11,7 +11,6 @@ import { getSetting } from '@woocommerce/settings';
|
|
11 |
*/
|
12 |
import { previewShippingRates } from './shipping-rates';
|
13 |
|
14 |
-
const displayWithTax = getSetting( 'displayCartPricesIncludingTax', false );
|
15 |
// Sample data for cart block.
|
16 |
// This closely resembles the data returned from the Store API /cart endpoint.
|
17 |
// https://github.com/woocommerce/woocommerce-gutenberg-products-block/tree/trunk/src/RestApi/StoreApi#cart-api
|
@@ -41,8 +40,8 @@ export const previewCart: CartResponse = {
|
|
41 |
images: [
|
42 |
{
|
43 |
id: 10,
|
44 |
-
src:
|
45 |
-
thumbnail:
|
46 |
srcset: '',
|
47 |
sizes: '',
|
48 |
name: '',
|
@@ -67,14 +66,14 @@ export const previewCart: CartResponse = {
|
|
67 |
currency_thousand_separator: ',',
|
68 |
currency_prefix: '$',
|
69 |
currency_suffix: '',
|
70 |
-
price:
|
71 |
-
regular_price:
|
72 |
-
sale_price:
|
73 |
raw_prices: {
|
74 |
precision: 6,
|
75 |
-
price:
|
76 |
-
regular_price:
|
77 |
-
sale_price:
|
78 |
},
|
79 |
},
|
80 |
totals: {
|
@@ -85,10 +84,10 @@ export const previewCart: CartResponse = {
|
|
85 |
currency_thousand_separator: ',',
|
86 |
currency_prefix: '$',
|
87 |
currency_suffix: '',
|
88 |
-
line_subtotal:
|
89 |
line_subtotal_tax: '0',
|
90 |
line_total: '1600',
|
91 |
-
line_total_tax:
|
92 |
},
|
93 |
extensions: {},
|
94 |
},
|
@@ -111,8 +110,8 @@ export const previewCart: CartResponse = {
|
|
111 |
images: [
|
112 |
{
|
113 |
id: 11,
|
114 |
-
src:
|
115 |
-
thumbnail:
|
116 |
srcset: '',
|
117 |
sizes: '',
|
118 |
name: '',
|
@@ -133,14 +132,14 @@ export const previewCart: CartResponse = {
|
|
133 |
currency_thousand_separator: ',',
|
134 |
currency_prefix: '$',
|
135 |
currency_suffix: '',
|
136 |
-
price:
|
137 |
-
regular_price:
|
138 |
-
sale_price:
|
139 |
raw_prices: {
|
140 |
precision: 6,
|
141 |
-
price:
|
142 |
-
regular_price:
|
143 |
-
sale_price:
|
144 |
},
|
145 |
},
|
146 |
totals: {
|
@@ -151,10 +150,10 @@ export const previewCart: CartResponse = {
|
|
151 |
currency_thousand_separator: ',',
|
152 |
currency_prefix: '$',
|
153 |
currency_suffix: '',
|
154 |
-
line_subtotal:
|
155 |
-
line_subtotal_tax:
|
156 |
line_total: '1400',
|
157 |
-
line_total_tax:
|
158 |
},
|
159 |
extensions: {},
|
160 |
},
|
@@ -198,7 +197,7 @@ export const previewCart: CartResponse = {
|
|
198 |
currency_thousand_separator: ',',
|
199 |
currency_prefix: '$',
|
200 |
currency_suffix: '',
|
201 |
-
total_items:
|
202 |
total_items_tax: '0',
|
203 |
total_fees: '0',
|
204 |
total_fees_tax: '0',
|
@@ -206,14 +205,8 @@ export const previewCart: CartResponse = {
|
|
206 |
total_discount_tax: '0',
|
207 |
total_shipping: '0',
|
208 |
total_shipping_tax: '0',
|
209 |
-
total_tax: '
|
210 |
total_price: '3000',
|
211 |
-
tax_lines: [
|
212 |
-
{
|
213 |
-
name: __( 'Sales tax', 'woo-gutenberg-products-block' ),
|
214 |
-
rate: '20%',
|
215 |
-
price: 600,
|
216 |
-
},
|
217 |
-
],
|
218 |
},
|
219 |
};
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
|
6 |
import { CartResponse } from '@woocommerce/types';
|
7 |
import { getSetting } from '@woocommerce/settings';
|
8 |
|
11 |
*/
|
12 |
import { previewShippingRates } from './shipping-rates';
|
13 |
|
|
|
14 |
// Sample data for cart block.
|
15 |
// This closely resembles the data returned from the Store API /cart endpoint.
|
16 |
// https://github.com/woocommerce/woocommerce-gutenberg-products-block/tree/trunk/src/RestApi/StoreApi#cart-api
|
40 |
images: [
|
41 |
{
|
42 |
id: 10,
|
43 |
+
src: WC_BLOCKS_ASSET_URL + 'img/beanie.jpg',
|
44 |
+
thumbnail: WC_BLOCKS_ASSET_URL + 'img/beanie.jpg',
|
45 |
srcset: '',
|
46 |
sizes: '',
|
47 |
name: '',
|
66 |
currency_thousand_separator: ',',
|
67 |
currency_prefix: '$',
|
68 |
currency_suffix: '',
|
69 |
+
price: '800',
|
70 |
+
regular_price: '800',
|
71 |
+
sale_price: '800',
|
72 |
raw_prices: {
|
73 |
precision: 6,
|
74 |
+
price: '8000000',
|
75 |
+
regular_price: '8000000',
|
76 |
+
sale_price: '8000000',
|
77 |
},
|
78 |
},
|
79 |
totals: {
|
84 |
currency_thousand_separator: ',',
|
85 |
currency_prefix: '$',
|
86 |
currency_suffix: '',
|
87 |
+
line_subtotal: '1600',
|
88 |
line_subtotal_tax: '0',
|
89 |
line_total: '1600',
|
90 |
+
line_total_tax: '0',
|
91 |
},
|
92 |
extensions: {},
|
93 |
},
|
110 |
images: [
|
111 |
{
|
112 |
id: 11,
|
113 |
+
src: WC_BLOCKS_ASSET_URL + 'img/cap.jpg',
|
114 |
+
thumbnail: WC_BLOCKS_ASSET_URL + 'img/cap.jpg',
|
115 |
srcset: '',
|
116 |
sizes: '',
|
117 |
name: '',
|
132 |
currency_thousand_separator: ',',
|
133 |
currency_prefix: '$',
|
134 |
currency_suffix: '',
|
135 |
+
price: '1400',
|
136 |
+
regular_price: '1600',
|
137 |
+
sale_price: '1400',
|
138 |
raw_prices: {
|
139 |
precision: 6,
|
140 |
+
price: '14000000',
|
141 |
+
regular_price: '16000000',
|
142 |
+
sale_price: '14000000',
|
143 |
},
|
144 |
},
|
145 |
totals: {
|
150 |
currency_thousand_separator: ',',
|
151 |
currency_prefix: '$',
|
152 |
currency_suffix: '',
|
153 |
+
line_subtotal: '1400',
|
154 |
+
line_subtotal_tax: '0',
|
155 |
line_total: '1400',
|
156 |
+
line_total_tax: '0',
|
157 |
},
|
158 |
extensions: {},
|
159 |
},
|
197 |
currency_thousand_separator: ',',
|
198 |
currency_prefix: '$',
|
199 |
currency_suffix: '',
|
200 |
+
total_items: '3000',
|
201 |
total_items_tax: '0',
|
202 |
total_fees: '0',
|
203 |
total_fees_tax: '0',
|
205 |
total_discount_tax: '0',
|
206 |
total_shipping: '0',
|
207 |
total_shipping_tax: '0',
|
208 |
+
total_tax: '0',
|
209 |
total_price: '3000',
|
210 |
+
tax_lines: [],
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
},
|
212 |
};
|
assets/js/previews/categories.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
-
import {
|
6 |
|
7 |
export const previewCategories = [
|
8 |
{
|
@@ -21,7 +21,7 @@ export const previewCategories = [
|
|
21 |
date_created_gmt: '2019-07-15T17:05:04',
|
22 |
date_modified: '2019-07-15T17:05:04',
|
23 |
date_modified_gmt: '2019-07-15T17:05:04',
|
24 |
-
src:
|
25 |
name: '',
|
26 |
alt: '',
|
27 |
},
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
|
6 |
|
7 |
export const previewCategories = [
|
8 |
{
|
21 |
date_created_gmt: '2019-07-15T17:05:04',
|
22 |
date_modified: '2019-07-15T17:05:04',
|
23 |
date_modified_gmt: '2019-07-15T17:05:04',
|
24 |
+
src: WC_BLOCKS_ASSET_URL + 'img/collection.jpg',
|
25 |
name: '',
|
26 |
alt: '',
|
27 |
},
|
assets/js/previews/grid-block.js
CHANGED
@@ -1,399 +1,16 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
|
|
|
|
4 |
export const gridBlockPreview = (
|
5 |
-
<
|
6 |
-
|
7 |
-
|
8 |
-
|
|
|
9 |
style={ {
|
10 |
width: '100%',
|
11 |
} }
|
12 |
-
|
13 |
-
<title>Grid Block Preview</title>
|
14 |
-
<rect
|
15 |
-
width="65.374"
|
16 |
-
height="65.374"
|
17 |
-
x=".162"
|
18 |
-
y=".779"
|
19 |
-
fill="#E1E3E6"
|
20 |
-
rx="3"
|
21 |
-
/>
|
22 |
-
<rect
|
23 |
-
width="47.266"
|
24 |
-
height="5.148"
|
25 |
-
x="9.216"
|
26 |
-
y="76.153"
|
27 |
-
fill="#E1E3E6"
|
28 |
-
rx="2.574"
|
29 |
-
/>
|
30 |
-
<rect
|
31 |
-
width="62.8"
|
32 |
-
height="15"
|
33 |
-
x="1.565"
|
34 |
-
y="101.448"
|
35 |
-
fill="#E1E3E6"
|
36 |
-
rx="5"
|
37 |
-
/>
|
38 |
-
<rect
|
39 |
-
width="65.374"
|
40 |
-
height="65.374"
|
41 |
-
x=".162"
|
42 |
-
y="136.277"
|
43 |
-
fill="#E1E3E6"
|
44 |
-
rx="3"
|
45 |
-
/>
|
46 |
-
<rect
|
47 |
-
width="47.266"
|
48 |
-
height="5.148"
|
49 |
-
x="9.216"
|
50 |
-
y="211.651"
|
51 |
-
fill="#E1E3E6"
|
52 |
-
rx="2.574"
|
53 |
-
/>
|
54 |
-
<rect
|
55 |
-
width="62.8"
|
56 |
-
height="15"
|
57 |
-
x="1.565"
|
58 |
-
y="236.946"
|
59 |
-
fill="#E1E3E6"
|
60 |
-
rx="5"
|
61 |
-
/>
|
62 |
-
<rect
|
63 |
-
width="65.374"
|
64 |
-
height="65.374"
|
65 |
-
x="82.478"
|
66 |
-
y=".779"
|
67 |
-
fill="#E1E3E6"
|
68 |
-
rx="3"
|
69 |
-
/>
|
70 |
-
<rect
|
71 |
-
width="47.266"
|
72 |
-
height="5.148"
|
73 |
-
x="91.532"
|
74 |
-
y="76.153"
|
75 |
-
fill="#E1E3E6"
|
76 |
-
rx="2.574"
|
77 |
-
/>
|
78 |
-
<rect
|
79 |
-
width="62.8"
|
80 |
-
height="15"
|
81 |
-
x="83.882"
|
82 |
-
y="101.448"
|
83 |
-
fill="#E1E3E6"
|
84 |
-
rx="5"
|
85 |
-
/>
|
86 |
-
<rect
|
87 |
-
width="65.374"
|
88 |
-
height="65.374"
|
89 |
-
x="82.478"
|
90 |
-
y="136.277"
|
91 |
-
fill="#E1E3E6"
|
92 |
-
rx="3"
|
93 |
-
/>
|
94 |
-
<rect
|
95 |
-
width="47.266"
|
96 |
-
height="5.148"
|
97 |
-
x="91.532"
|
98 |
-
y="211.651"
|
99 |
-
fill="#E1E3E6"
|
100 |
-
rx="2.574"
|
101 |
-
/>
|
102 |
-
<rect
|
103 |
-
width="62.8"
|
104 |
-
height="15"
|
105 |
-
x="83.882"
|
106 |
-
y="236.946"
|
107 |
-
fill="#E1E3E6"
|
108 |
-
rx="5"
|
109 |
-
/>
|
110 |
-
<rect
|
111 |
-
width="65.374"
|
112 |
-
height="65.374"
|
113 |
-
x="164.788"
|
114 |
-
y=".779"
|
115 |
-
fill="#E1E3E6"
|
116 |
-
rx="3"
|
117 |
-
/>
|
118 |
-
<rect
|
119 |
-
width="47.266"
|
120 |
-
height="5.148"
|
121 |
-
x="173.843"
|
122 |
-
y="76.153"
|
123 |
-
fill="#E1E3E6"
|
124 |
-
rx="2.574"
|
125 |
-
/>
|
126 |
-
<rect
|
127 |
-
width="62.8"
|
128 |
-
height="15"
|
129 |
-
x="166.192"
|
130 |
-
y="101.448"
|
131 |
-
fill="#E1E3E6"
|
132 |
-
rx="5"
|
133 |
-
/>
|
134 |
-
<rect
|
135 |
-
width="65.374"
|
136 |
-
height="65.374"
|
137 |
-
x="164.788"
|
138 |
-
y="136.277"
|
139 |
-
fill="#E1E3E6"
|
140 |
-
rx="3"
|
141 |
-
/>
|
142 |
-
<rect
|
143 |
-
width="47.266"
|
144 |
-
height="5.148"
|
145 |
-
x="173.843"
|
146 |
-
y="211.651"
|
147 |
-
fill="#E1E3E6"
|
148 |
-
rx="2.574"
|
149 |
-
/>
|
150 |
-
<rect
|
151 |
-
width="62.8"
|
152 |
-
height="15"
|
153 |
-
x="166.192"
|
154 |
-
y="236.946"
|
155 |
-
fill="#E1E3E6"
|
156 |
-
rx="5"
|
157 |
-
/>
|
158 |
-
<rect
|
159 |
-
width="6.177"
|
160 |
-
height="6.177"
|
161 |
-
x="13.283"
|
162 |
-
y="86.301"
|
163 |
-
fill="#E1E3E6"
|
164 |
-
rx="3"
|
165 |
-
/>
|
166 |
-
<rect
|
167 |
-
width="6.177"
|
168 |
-
height="6.177"
|
169 |
-
x="21.498"
|
170 |
-
y="86.301"
|
171 |
-
fill="#E1E3E6"
|
172 |
-
rx="3"
|
173 |
-
/>
|
174 |
-
<rect
|
175 |
-
width="6.177"
|
176 |
-
height="6.177"
|
177 |
-
x="29.713"
|
178 |
-
y="86.301"
|
179 |
-
fill="#E1E3E6"
|
180 |
-
rx="3"
|
181 |
-
/>
|
182 |
-
<rect
|
183 |
-
width="6.177"
|
184 |
-
height="6.177"
|
185 |
-
x="37.927"
|
186 |
-
y="86.301"
|
187 |
-
fill="#E1E3E6"
|
188 |
-
rx="3"
|
189 |
-
/>
|
190 |
-
<rect
|
191 |
-
width="6.177"
|
192 |
-
height="6.177"
|
193 |
-
x="46.238"
|
194 |
-
y="86.301"
|
195 |
-
fill="#E1E3E6"
|
196 |
-
rx="3"
|
197 |
-
/>
|
198 |
-
<rect
|
199 |
-
width="6.177"
|
200 |
-
height="6.177"
|
201 |
-
x="95.599"
|
202 |
-
y="86.301"
|
203 |
-
fill="#E1E3E6"
|
204 |
-
rx="3"
|
205 |
-
/>
|
206 |
-
<rect
|
207 |
-
width="6.177"
|
208 |
-
height="6.177"
|
209 |
-
x="103.814"
|
210 |
-
y="86.301"
|
211 |
-
fill="#E1E3E6"
|
212 |
-
rx="3"
|
213 |
-
/>
|
214 |
-
<rect
|
215 |
-
width="6.177"
|
216 |
-
height="6.177"
|
217 |
-
x="112.029"
|
218 |
-
y="86.301"
|
219 |
-
fill="#E1E3E6"
|
220 |
-
rx="3"
|
221 |
-
/>
|
222 |
-
<rect
|
223 |
-
width="6.177"
|
224 |
-
height="6.177"
|
225 |
-
x="120.243"
|
226 |
-
y="86.301"
|
227 |
-
fill="#E1E3E6"
|
228 |
-
rx="3"
|
229 |
-
/>
|
230 |
-
<rect
|
231 |
-
width="6.177"
|
232 |
-
height="6.177"
|
233 |
-
x="128.554"
|
234 |
-
y="86.301"
|
235 |
-
fill="#E1E3E6"
|
236 |
-
rx="3"
|
237 |
-
/>
|
238 |
-
<rect
|
239 |
-
width="6.177"
|
240 |
-
height="6.177"
|
241 |
-
x="177.909"
|
242 |
-
y="86.301"
|
243 |
-
fill="#E1E3E6"
|
244 |
-
rx="3"
|
245 |
-
/>
|
246 |
-
<rect
|
247 |
-
width="6.177"
|
248 |
-
height="6.177"
|
249 |
-
x="186.124"
|
250 |
-
y="86.301"
|
251 |
-
fill="#E1E3E6"
|
252 |
-
rx="3"
|
253 |
-
/>
|
254 |
-
<rect
|
255 |
-
width="6.177"
|
256 |
-
height="6.177"
|
257 |
-
x="194.339"
|
258 |
-
y="86.301"
|
259 |
-
fill="#E1E3E6"
|
260 |
-
rx="3"
|
261 |
-
/>
|
262 |
-
<rect
|
263 |
-
width="6.177"
|
264 |
-
height="6.177"
|
265 |
-
x="202.553"
|
266 |
-
y="86.301"
|
267 |
-
fill="#E1E3E6"
|
268 |
-
rx="3"
|
269 |
-
/>
|
270 |
-
<rect
|
271 |
-
width="6.177"
|
272 |
-
height="6.177"
|
273 |
-
x="210.864"
|
274 |
-
y="86.301"
|
275 |
-
fill="#E1E3E6"
|
276 |
-
rx="3"
|
277 |
-
/>
|
278 |
-
<rect
|
279 |
-
width="6.177"
|
280 |
-
height="6.177"
|
281 |
-
x="13.283"
|
282 |
-
y="221.798"
|
283 |
-
fill="#E1E3E6"
|
284 |
-
rx="3"
|
285 |
-
/>
|
286 |
-
<rect
|
287 |
-
width="6.177"
|
288 |
-
height="6.177"
|
289 |
-
x="21.498"
|
290 |
-
y="221.798"
|
291 |
-
fill="#E1E3E6"
|
292 |
-
rx="3"
|
293 |
-
/>
|
294 |
-
<rect
|
295 |
-
width="6.177"
|
296 |
-
height="6.177"
|
297 |
-
x="29.713"
|
298 |
-
y="221.798"
|
299 |
-
fill="#E1E3E6"
|
300 |
-
rx="3"
|
301 |
-
/>
|
302 |
-
<rect
|
303 |
-
width="6.177"
|
304 |
-
height="6.177"
|
305 |
-
x="37.927"
|
306 |
-
y="221.798"
|
307 |
-
fill="#E1E3E6"
|
308 |
-
rx="3"
|
309 |
-
/>
|
310 |
-
<rect
|
311 |
-
width="6.177"
|
312 |
-
height="6.177"
|
313 |
-
x="46.238"
|
314 |
-
y="221.798"
|
315 |
-
fill="#E1E3E6"
|
316 |
-
rx="3"
|
317 |
-
/>
|
318 |
-
<rect
|
319 |
-
width="6.177"
|
320 |
-
height="6.177"
|
321 |
-
x="95.599"
|
322 |
-
y="221.798"
|
323 |
-
fill="#E1E3E6"
|
324 |
-
rx="3"
|
325 |
-
/>
|
326 |
-
<rect
|
327 |
-
width="6.177"
|
328 |
-
height="6.177"
|
329 |
-
x="103.814"
|
330 |
-
y="221.798"
|
331 |
-
fill="#E1E3E6"
|
332 |
-
rx="3"
|
333 |
-
/>
|
334 |
-
<rect
|
335 |
-
width="6.177"
|
336 |
-
height="6.177"
|
337 |
-
x="112.029"
|
338 |
-
y="221.798"
|
339 |
-
fill="#E1E3E6"
|
340 |
-
rx="3"
|
341 |
-
/>
|
342 |
-
<rect
|
343 |
-
width="6.177"
|
344 |
-
height="6.177"
|
345 |
-
x="120.243"
|
346 |
-
y="221.798"
|
347 |
-
fill="#E1E3E6"
|
348 |
-
rx="3"
|
349 |
-
/>
|
350 |
-
<rect
|
351 |
-
width="6.177"
|
352 |
-
height="6.177"
|
353 |
-
x="128.554"
|
354 |
-
y="221.798"
|
355 |
-
fill="#E1E3E6"
|
356 |
-
rx="3"
|
357 |
-
/>
|
358 |
-
<rect
|
359 |
-
width="6.177"
|
360 |
-
height="6.177"
|
361 |
-
x="177.909"
|
362 |
-
y="221.798"
|
363 |
-
fill="#E1E3E6"
|
364 |
-
rx="3"
|
365 |
-
/>
|
366 |
-
<rect
|
367 |
-
width="6.177"
|
368 |
-
height="6.177"
|
369 |
-
x="186.124"
|
370 |
-
y="221.798"
|
371 |
-
fill="#E1E3E6"
|
372 |
-
rx="3"
|
373 |
-
/>
|
374 |
-
<rect
|
375 |
-
width="6.177"
|
376 |
-
height="6.177"
|
377 |
-
x="194.339"
|
378 |
-
y="221.798"
|
379 |
-
fill="#E1E3E6"
|
380 |
-
rx="3"
|
381 |
-
/>
|
382 |
-
<rect
|
383 |
-
width="6.177"
|
384 |
-
height="6.177"
|
385 |
-
x="202.553"
|
386 |
-
y="221.798"
|
387 |
-
fill="#E1E3E6"
|
388 |
-
rx="3"
|
389 |
-
/>
|
390 |
-
<rect
|
391 |
-
width="6.177"
|
392 |
-
height="6.177"
|
393 |
-
x="210.864"
|
394 |
-
y="221.798"
|
395 |
-
fill="#E1E3E6"
|
396 |
-
rx="3"
|
397 |
-
/>
|
398 |
-
</svg>
|
399 |
);
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
+
import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
|
5 |
+
|
6 |
export const gridBlockPreview = (
|
7 |
+
<img
|
8 |
+
src={ WC_BLOCKS_ASSET_URL + 'img/grid.svg' }
|
9 |
+
alt="Grid Preview"
|
10 |
+
width="230"
|
11 |
+
height="250"
|
12 |
style={ {
|
13 |
width: '100%',
|
14 |
} }
|
15 |
+
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
);
|
assets/js/previews/products.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
-
import {
|
6 |
|
7 |
const shortDescription = __(
|
8 |
'Fly your WordPress banner with this beauty! Deck out your office space or add it to your kids walls. This banner will spruce up any space it’s hung!',
|
@@ -25,8 +25,8 @@ export const previewProducts = [
|
|
25 |
images: [
|
26 |
{
|
27 |
id: 1,
|
28 |
-
src:
|
29 |
-
thumbnail:
|
30 |
name: 'pennant-1.jpg',
|
31 |
alt: 'WordPress Pennant',
|
32 |
srcset: '',
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
|
6 |
|
7 |
const shortDescription = __(
|
8 |
'Fly your WordPress banner with this beauty! Deck out your office space or add it to your kids walls. This banner will spruce up any space it’s hung!',
|
25 |
images: [
|
26 |
{
|
27 |
id: 1,
|
28 |
+
src: WC_BLOCKS_ASSET_URL + 'img/pennant.jpg',
|
29 |
+
thumbnail: WC_BLOCKS_ASSET_URL + 'img/pennant.jpg',
|
30 |
name: 'pennant-1.jpg',
|
31 |
alt: 'WordPress Pennant',
|
32 |
srcset: '',
|
assets/js/previews/reviews.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
-
import {
|
6 |
|
7 |
export const previewReviews = [
|
8 |
{
|
@@ -23,8 +23,8 @@ export const previewReviews = [
|
|
23 |
'woo-gutenberg-products-block'
|
24 |
) }</p>\n`,
|
25 |
reviewer_avatar_urls: {
|
26 |
-
'48':
|
27 |
-
'96':
|
28 |
},
|
29 |
rating: 5,
|
30 |
verified: true,
|
@@ -47,8 +47,8 @@ export const previewReviews = [
|
|
47 |
'woo-gutenberg-products-block'
|
48 |
) }</p>\n`,
|
49 |
reviewer_avatar_urls: {
|
50 |
-
'48':
|
51 |
-
'96':
|
52 |
},
|
53 |
rating: null,
|
54 |
verified: false,
|
2 |
* External dependencies
|
3 |
*/
|
4 |
import { __ } from '@wordpress/i18n';
|
5 |
+
import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
|
6 |
|
7 |
export const previewReviews = [
|
8 |
{
|
23 |
'woo-gutenberg-products-block'
|
24 |
) }</p>\n`,
|
25 |
reviewer_avatar_urls: {
|
26 |
+
'48': WC_BLOCKS_ASSET_URL + 'img/avatar.jpg',
|
27 |
+
'96': WC_BLOCKS_ASSET_URL + 'img/avatar.jpg',
|
28 |
},
|
29 |
rating: 5,
|
30 |
verified: true,
|
47 |
'woo-gutenberg-products-block'
|
48 |
) }</p>\n`,
|
49 |
reviewer_avatar_urls: {
|
50 |
+
'48': WC_BLOCKS_ASSET_URL + 'img/avatar.jpg',
|
51 |
+
'96': WC_BLOCKS_ASSET_URL + 'img/avatar.jpg',
|
52 |
},
|
53 |
rating: null,
|
54 |
verified: false,
|
assets/js/previews/single-product-block.js
CHANGED
@@ -1,11 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
export const singleProductBlockPreview = (
|
2 |
-
<
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
);
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import { WC_BLOCKS_ASSET_URL } from '@woocommerce/block-settings';
|
5 |
+
|
6 |
export const singleProductBlockPreview = (
|
7 |
+
<img
|
8 |
+
src={ WC_BLOCKS_ASSET_URL + 'img/single-product-preview.svg' }
|
9 |
+
alt=""
|
10 |
+
width="230"
|
11 |
+
height="250"
|
12 |
+
style={ {
|
13 |
+
width: '100%',
|
14 |
+
} }
|
15 |
+
/>
|
16 |
);
|
assets/js/settings/blocks/constants.ts
CHANGED
@@ -12,7 +12,6 @@ interface WcBlocksConfig {
|
|
12 |
buildPhase: number;
|
13 |
pluginUrl: string;
|
14 |
productCount: number;
|
15 |
-
defaultAvatar: string;
|
16 |
restApiRoutes: Record< string, string[] >;
|
17 |
wordCountType: WordCountType;
|
18 |
}
|
@@ -21,12 +20,11 @@ export const blocksConfig = getSetting( 'wcBlocksConfig', {
|
|
21 |
buildPhase: 1,
|
22 |
pluginUrl: '',
|
23 |
productCount: 0,
|
24 |
-
defaultAvatar: '',
|
25 |
restApiRoutes: {},
|
26 |
wordCountType: 'words',
|
27 |
} ) as WcBlocksConfig;
|
28 |
|
29 |
-
export const
|
30 |
export const WC_BLOCKS_BUILD_URL = blocksConfig.pluginUrl + 'build/';
|
31 |
export const WC_BLOCKS_PHASE = blocksConfig.buildPhase;
|
32 |
export const SHOP_URL = STORE_PAGES.shop?.permalink;
|
@@ -41,18 +39,3 @@ export const CART_URL = STORE_PAGES.cart.permalink;
|
|
41 |
export const LOGIN_URL = STORE_PAGES.myaccount.permalink
|
42 |
? STORE_PAGES.myaccount.permalink
|
43 |
: getSetting( 'wpLoginUrl', '/wp-login.php' );
|
44 |
-
export const SHIPPING_COUNTRIES = getSetting< Record< string, string > >(
|
45 |
-
'shippingCountries',
|
46 |
-
{}
|
47 |
-
);
|
48 |
-
export const ALLOWED_COUNTRIES = getSetting< Record< string, string > >(
|
49 |
-
'allowedCountries',
|
50 |
-
{}
|
51 |
-
);
|
52 |
-
export const SHIPPING_STATES = getSetting<
|
53 |
-
Record< string, Record< string, string > >
|
54 |
-
>( 'shippingStates', {} );
|
55 |
-
export const ALLOWED_STATES = getSetting< Record< string, string > >(
|
56 |
-
'allowedStates',
|
57 |
-
{}
|
58 |
-
);
|
12 |
buildPhase: number;
|
13 |
pluginUrl: string;
|
14 |
productCount: number;
|
|
|
15 |
restApiRoutes: Record< string, string[] >;
|
16 |
wordCountType: WordCountType;
|
17 |
}
|
20 |
buildPhase: 1,
|
21 |
pluginUrl: '',
|
22 |
productCount: 0,
|
|
|
23 |
restApiRoutes: {},
|
24 |
wordCountType: 'words',
|
25 |
} ) as WcBlocksConfig;
|
26 |
|
27 |
+
export const WC_BLOCKS_ASSET_URL = blocksConfig.pluginUrl + 'assets/';
|
28 |
export const WC_BLOCKS_BUILD_URL = blocksConfig.pluginUrl + 'build/';
|
29 |
export const WC_BLOCKS_PHASE = blocksConfig.buildPhase;
|
30 |
export const SHOP_URL = STORE_PAGES.shop?.permalink;
|
39 |
export const LOGIN_URL = STORE_PAGES.myaccount.permalink
|
40 |
? STORE_PAGES.myaccount.permalink
|
41 |
: getSetting( 'wpLoginUrl', '/wp-login.php' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/settings/shared/default-address-fields.ts
CHANGED
@@ -20,10 +20,6 @@ export interface AddressField {
|
|
20 |
index: number;
|
21 |
}
|
22 |
|
23 |
-
export interface LocaleSpecificAddressField extends AddressField {
|
24 |
-
priority: number;
|
25 |
-
}
|
26 |
-
|
27 |
export interface AddressFields {
|
28 |
// eslint-disable-next-line camelcase
|
29 |
first_name: AddressField;
|
@@ -40,7 +36,6 @@ export interface AddressFields {
|
|
40 |
postcode: AddressField;
|
41 |
}
|
42 |
|
43 |
-
export type AddressType = 'billing' | 'shipping';
|
44 |
export interface EnteredAddress {
|
45 |
// eslint-disable-next-line camelcase
|
46 |
first_name: string;
|
@@ -59,7 +54,6 @@ export interface EnteredAddress {
|
|
59 |
|
60 |
export type KeyedAddressField = AddressField & {
|
61 |
key: keyof AddressFields;
|
62 |
-
errorMessage?: string;
|
63 |
};
|
64 |
export type ShippingAddress = EnteredAddress;
|
65 |
export type BillingAddress = EnteredAddress;
|
20 |
index: number;
|
21 |
}
|
22 |
|
|
|
|
|
|
|
|
|
23 |
export interface AddressFields {
|
24 |
// eslint-disable-next-line camelcase
|
25 |
first_name: AddressField;
|
36 |
postcode: AddressField;
|
37 |
}
|
38 |
|
|
|
39 |
export interface EnteredAddress {
|
40 |
// eslint-disable-next-line camelcase
|
41 |
first_name: string;
|
54 |
|
55 |
export type KeyedAddressField = AddressField & {
|
56 |
key: keyof AddressFields;
|
|
|
57 |
};
|
58 |
export type ShippingAddress = EnteredAddress;
|
59 |
export type BillingAddress = EnteredAddress;
|
assets/js/settings/shared/settings-init.ts
CHANGED
@@ -1,8 +1,3 @@
|
|
1 |
-
/**
|
2 |
-
* External dependencies
|
3 |
-
*/
|
4 |
-
import { SymbolPosition } from '@woocommerce/type-defs/currency';
|
5 |
-
|
6 |
declare global {
|
7 |
interface Window {
|
8 |
wcSettings: Record< string, unknown >;
|
@@ -17,7 +12,7 @@ export interface WooCommerceSiteCurrency {
|
|
17 |
// The symbol for the currency (eg '$')
|
18 |
symbol: string;
|
19 |
// The position for the symbol ('left', or 'right')
|
20 |
-
symbolPosition:
|
21 |
// The string used for the decimal separator.
|
22 |
decimalSeparator: string;
|
23 |
// The string used for the thousands separator.
|
|
|
|
|
|
|
|
|
|
|
1 |
declare global {
|
2 |
interface Window {
|
3 |
wcSettings: Record< string, unknown >;
|
12 |
// The symbol for the currency (eg '$')
|
13 |
symbol: string;
|
14 |
// The position for the symbol ('left', or 'right')
|
15 |
+
symbolPosition: 'left' | 'right' | 'left_space' | 'right_space';
|
16 |
// The string used for the decimal separator.
|
17 |
decimalSeparator: string;
|
18 |
// The string used for the thousands separator.
|
assets/js/settings/shared/test/get-setting.js
CHANGED
@@ -11,9 +11,6 @@ describe( 'getSetting', () => {
|
|
11 |
it( 'returns expected value for existing setting', () => {
|
12 |
expect( getSetting( 'adminUrl', 'not this' ) ).toEqual( ADMIN_URL );
|
13 |
} );
|
14 |
-
it( "returns expected value for existing setting even if it's a falsy value", () => {
|
15 |
-
expect( getSetting( 'currentUserIsAdmin', true ) ).toBe( false );
|
16 |
-
} );
|
17 |
it( 'filters value via provided filter callback', () => {
|
18 |
expect( getSetting( 'some value', 'default', () => 42 ) ).toBe( 42 );
|
19 |
} );
|
11 |
it( 'returns expected value for existing setting', () => {
|
12 |
expect( getSetting( 'adminUrl', 'not this' ) ).toEqual( ADMIN_URL );
|
13 |
} );
|
|
|
|
|
|
|
14 |
it( 'filters value via provided filter callback', () => {
|
15 |
expect( getSetting( 'some value', 'default', () => 42 ) ).toBe( 42 );
|
16 |
} );
|
assets/js/settings/shared/utils.ts
CHANGED
@@ -11,18 +11,16 @@ import { allSettings } from './settings-init';
|
|
11 |
/**
|
12 |
* Retrieves a setting value from the setting state.
|
13 |
*
|
14 |
-
* If a setting with key `name` does not exist
|
15 |
-
*
|
16 |
-
* callback can be passed to format the returned value.
|
17 |
*/
|
18 |
-
export const getSetting =
|
19 |
name: string,
|
20 |
fallback: unknown = false,
|
21 |
-
filter = ( val: unknown, fb: unknown ) =>
|
22 |
-
|
23 |
-
): T => {
|
24 |
const value = name in allSettings ? allSettings[ name ] : fallback;
|
25 |
-
return filter( value, fallback )
|
26 |
};
|
27 |
|
28 |
/**
|
11 |
/**
|
12 |
* Retrieves a setting value from the setting state.
|
13 |
*
|
14 |
+
* If a setting with key `name` does not exist, the `fallback` will be returned instead. An optional `filter` callback
|
15 |
+
* can be passed to format the returned value.
|
|
|
16 |
*/
|
17 |
+
export const getSetting = (
|
18 |
name: string,
|
19 |
fallback: unknown = false,
|
20 |
+
filter = ( val: unknown, fb: unknown ) => val || fb
|
21 |
+
): unknown => {
|
|
|
22 |
const value = name in allSettings ? allSettings[ name ] : fallback;
|
23 |
+
return filter( value, fallback );
|
24 |
};
|
25 |
|
26 |
/**
|
assets/js/{types/type-defs → type-defs}/add-to-cart-form.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/address-fields.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/billing.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/cart-response.ts
RENAMED
@@ -1,17 +1,26 @@
|
|
1 |
/* eslint-disable camelcase -- API responses have camelcase properties */
|
2 |
/**
|
3 |
-
*
|
4 |
*/
|
5 |
-
import { CurrencyResponse } from './currency';
|
6 |
import {
|
7 |
CartImageItem,
|
8 |
CartItemPrices,
|
9 |
CartItemTotals,
|
10 |
CartVariationItem,
|
11 |
CatalogVisibility,
|
12 |
-
} from '
|
13 |
|
14 |
-
export interface
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
total_discount: string;
|
16 |
total_discount_tax: string;
|
17 |
}
|
@@ -22,11 +31,6 @@ export interface CartResponseCouponItem {
|
|
22 |
totals: CartResponseTotalsItem;
|
23 |
}
|
24 |
|
25 |
-
export interface CartResponseCouponItemWithLabel
|
26 |
-
extends CartResponseCouponItem {
|
27 |
-
label: string;
|
28 |
-
}
|
29 |
-
|
30 |
export interface ResponseFirstNameLastName {
|
31 |
first_name: string;
|
32 |
last_name: string;
|
@@ -57,7 +61,7 @@ export type ExtensionsData =
|
|
57 |
| Record< string, never >;
|
58 |
|
59 |
export interface CartResponseShippingPackageShippingRate
|
60 |
-
extends
|
61 |
rate_id: string;
|
62 |
name: string;
|
63 |
description: string;
|
@@ -106,7 +110,7 @@ export interface CartResponseVariationItem {
|
|
106 |
value: string;
|
107 |
}
|
108 |
|
109 |
-
export interface CartResponseItemPrices extends
|
110 |
price: string;
|
111 |
regular_price: string;
|
112 |
sale_price: string;
|
@@ -119,7 +123,7 @@ export interface CartResponseItemPrices extends CurrencyResponse {
|
|
119 |
};
|
120 |
}
|
121 |
|
122 |
-
export interface CartResponseItemTotals extends
|
123 |
line_subtotal: string;
|
124 |
line_subtotal_tax: string;
|
125 |
line_total: string;
|
@@ -153,10 +157,9 @@ export interface CartResponseItem {
|
|
153 |
export interface CartResponseTotalsTaxLineItem {
|
154 |
name: string;
|
155 |
price: string;
|
156 |
-
rate: string;
|
157 |
}
|
158 |
|
159 |
-
export interface CartResponseFeeItemTotals extends
|
160 |
total: string;
|
161 |
total_tax: string;
|
162 |
}
|
@@ -167,7 +170,7 @@ export type CartResponseFeeItem = {
|
|
167 |
totals: CartResponseFeeItemTotals;
|
168 |
};
|
169 |
|
170 |
-
export interface CartResponseTotals extends
|
171 |
total_items: string;
|
172 |
total_items_tax: string;
|
173 |
total_fees: string;
|
1 |
/* eslint-disable camelcase -- API responses have camelcase properties */
|
2 |
/**
|
3 |
+
* External dependencies
|
4 |
*/
|
|
|
5 |
import {
|
6 |
CartImageItem,
|
7 |
CartItemPrices,
|
8 |
CartItemTotals,
|
9 |
CartVariationItem,
|
10 |
CatalogVisibility,
|
11 |
+
} from '@woocommerce/type-defs/cart';
|
12 |
|
13 |
+
export interface CurrencyResponseInfo {
|
14 |
+
currency_code: string;
|
15 |
+
currency_symbol: string;
|
16 |
+
currency_minor_unit: number;
|
17 |
+
currency_decimal_separator: string;
|
18 |
+
currency_thousand_separator: string;
|
19 |
+
currency_prefix: string;
|
20 |
+
currency_suffix: string;
|
21 |
+
}
|
22 |
+
|
23 |
+
export interface CartResponseTotalsItem extends CurrencyResponseInfo {
|
24 |
total_discount: string;
|
25 |
total_discount_tax: string;
|
26 |
}
|
31 |
totals: CartResponseTotalsItem;
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
|
|
34 |
export interface ResponseFirstNameLastName {
|
35 |
first_name: string;
|
36 |
last_name: string;
|
61 |
| Record< string, never >;
|
62 |
|
63 |
export interface CartResponseShippingPackageShippingRate
|
64 |
+
extends CurrencyResponseInfo {
|
65 |
rate_id: string;
|
66 |
name: string;
|
67 |
description: string;
|
110 |
value: string;
|
111 |
}
|
112 |
|
113 |
+
export interface CartResponseItemPrices extends CurrencyResponseInfo {
|
114 |
price: string;
|
115 |
regular_price: string;
|
116 |
sale_price: string;
|
123 |
};
|
124 |
}
|
125 |
|
126 |
+
export interface CartResponseItemTotals extends CurrencyResponseInfo {
|
127 |
line_subtotal: string;
|
128 |
line_subtotal_tax: string;
|
129 |
line_total: string;
|
157 |
export interface CartResponseTotalsTaxLineItem {
|
158 |
name: string;
|
159 |
price: string;
|
|
|
160 |
}
|
161 |
|
162 |
+
export interface CartResponseFeeItemTotals extends CurrencyResponseInfo {
|
163 |
total: string;
|
164 |
total_tax: string;
|
165 |
}
|
170 |
totals: CartResponseFeeItemTotals;
|
171 |
};
|
172 |
|
173 |
+
export interface CartResponseTotals extends CurrencyResponseInfo {
|
174 |
total_items: string;
|
175 |
total_items_tax: string;
|
176 |
total_fees: string;
|
assets/js/{types/type-defs → type-defs}/cart.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/cart.ts
RENAMED
@@ -25,7 +25,6 @@ export interface CartTotalsItem extends CurrencyInfo {
|
|
25 |
|
26 |
export interface CartCouponItem {
|
27 |
code: string;
|
28 |
-
label: string;
|
29 |
discount_type: string;
|
30 |
totals: CartTotalsItem;
|
31 |
}
|
@@ -138,7 +137,6 @@ export interface CartItem {
|
|
138 |
export interface CartTotalsTaxLineItem {
|
139 |
name: string;
|
140 |
price: string;
|
141 |
-
rate: string;
|
142 |
}
|
143 |
|
144 |
export interface CartFeeItemTotals extends CurrencyInfo {
|
@@ -195,7 +193,3 @@ export interface CartMeta {
|
|
195 |
applyingCoupon: string;
|
196 |
removingCoupon: string;
|
197 |
}
|
198 |
-
export interface ExtensionCartUpdateArgs {
|
199 |
-
data: Record< string, unknown >;
|
200 |
-
namespace: string;
|
201 |
-
}
|
25 |
|
26 |
export interface CartCouponItem {
|
27 |
code: string;
|
|
|
28 |
discount_type: string;
|
29 |
totals: CartTotalsItem;
|
30 |
}
|
137 |
export interface CartTotalsTaxLineItem {
|
138 |
name: string;
|
139 |
price: string;
|
|
|
140 |
}
|
141 |
|
142 |
export interface CartFeeItemTotals extends CurrencyInfo {
|
193 |
applyingCoupon: string;
|
194 |
removingCoupon: string;
|
195 |
}
|
|
|
|
|
|
|
|
assets/js/type-defs/checkout.js
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* @typedef {Object} CheckoutDispatchActions
|
3 |
+
*
|
4 |
+
* @property {function():void} resetCheckout Dispatches an action that resets the checkout to a pristine state.
|
5 |
+
* @property {function(string):void} setRedirectUrl Dispatches an action that sets the redirectUrl.
|
6 |
+
* @property {function(boolean=):void} setHasError Dispatches an action that sets the checkout status to having an error.
|
7 |
+
* @property {function(Object):void} setAfterProcessing Dispatches an action that sets the checkout status to after processing and also sets the response data accordingly.
|
8 |
+
* @property {function():void} incrementCalculating Dispatches an action that increments the calculating state for checkout by one.
|
9 |
+
* @property {function():void} decrementCalculating Dispatches an action that decrements the calculating state for checkout by one.
|
10 |
+
* @property {function(number|string):void} setOrderId Dispatches an action that stores the draft order ID and key.
|
11 |
+
* @property {function(string):void} setOrderNotes Dispatches an action that sets the order notes.
|
12 |
+
* @property {function(number):void} setCustomerId Dispatches an action that stores the customer ID.
|
13 |
+
*/
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @typedef {Object} CheckoutStatusConstants
|
17 |
+
*
|
18 |
+
* @property {string} PRISTINE Checkout is in it's initialized state.
|
19 |
+
* @property {string} IDLE When checkout state has changed but there is no activity happening.
|
20 |
+
* @property {string} BEFORE_PROCESSING This is the state before checkout processing begins after the checkout button has been pressed/submitted.
|
21 |
+
* @property {string} PROCESSING After BEFORE_PROCESSING status emitters have finished successfully. Payment processing is started on this checkout status.
|
22 |
+
* @property {string} AFTER_PROCESSING After server side checkout processing is completed this status is set.
|
23 |
+
* @property {string} COMPLETE After the AFTER_PROCESSING event emitters have completed. This status triggers the checkout redirect.
|
24 |
+
*/
|
25 |
+
|
26 |
+
export {};
|
assets/js/{types/type-defs → type-defs}/contexts.js
RENAMED
@@ -13,8 +13,8 @@
|
|
13 |
*
|
14 |
* @property {BillingData} billingData The current billing data, including address and email.
|
15 |
* @property {CartShippingAddress} shippingAddress The current set address for shipping.
|
16 |
-
* @property {
|
17 |
-
* @property {
|
18 |
*/
|
19 |
|
20 |
/**
|
@@ -27,10 +27,10 @@
|
|
27 |
* @property {CartShippingOption[]} shippingRates An array of available shipping rates.
|
28 |
* @property {boolean} shippingRatesLoading Whether or not the shipping rates are being loaded.
|
29 |
* @property {string[]} selectedRates The ids of the rates that are selected.
|
30 |
-
* @property {
|
31 |
* @property {boolean} isSelectingRate True when rate is being selected.
|
32 |
* @property {CartShippingAddress} shippingAddress The current set address for shipping.
|
33 |
-
* @property {
|
34 |
* @property {function()} onShippingRateSuccess Used to register a callback to be invoked when shipping
|
35 |
* rates are retrieved.
|
36 |
* @property {function()} onShippingRateSelectSuccess Used to register a callback to be invoked when shipping
|
13 |
*
|
14 |
* @property {BillingData} billingData The current billing data, including address and email.
|
15 |
* @property {CartShippingAddress} shippingAddress The current set address for shipping.
|
16 |
+
* @property {Function} setBillingData A function for setting billing data.
|
17 |
+
* @property {Function} setShippingAddress A function for setting shipping address.
|
18 |
*/
|
19 |
|
20 |
/**
|
27 |
* @property {CartShippingOption[]} shippingRates An array of available shipping rates.
|
28 |
* @property {boolean} shippingRatesLoading Whether or not the shipping rates are being loaded.
|
29 |
* @property {string[]} selectedRates The ids of the rates that are selected.
|
30 |
+
* @property {Function} setSelectedRates Function for setting the selected rates.
|
31 |
* @property {boolean} isSelectingRate True when rate is being selected.
|
32 |
* @property {CartShippingAddress} shippingAddress The current set address for shipping.
|
33 |
+
* @property {Function} setShippingAddress Function for setting the shipping address.
|
34 |
* @property {function()} onShippingRateSuccess Used to register a callback to be invoked when shipping
|
35 |
* rates are retrieved.
|
36 |
* @property {function()} onShippingRateSelectSuccess Used to register a callback to be invoked when shipping
|
assets/js/{types/type-defs → type-defs}/hooks.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/hooks.ts
RENAMED
@@ -12,7 +12,7 @@ import type {
|
|
12 |
CartResponseShippingRate,
|
13 |
CartResponse,
|
14 |
} from './cart-response';
|
15 |
-
import type { ResponseError } from '
|
16 |
export interface StoreCartItemQuantity {
|
17 |
isPendingDelete: boolean;
|
18 |
quantity: number;
|
12 |
CartResponseShippingRate,
|
13 |
CartResponse,
|
14 |
} from './cart-response';
|
15 |
+
import type { ResponseError } from '../data/types';
|
16 |
export interface StoreCartItemQuantity {
|
17 |
isPendingDelete: boolean;
|
18 |
quantity: number;
|
assets/js/{types/type-defs → type-defs}/index.ts
RENAMED
@@ -2,4 +2,3 @@ export * from './cart-response';
|
|
2 |
export * from './product-response';
|
3 |
export * from './cart';
|
4 |
export * from './hooks';
|
5 |
-
export * from './currency';
|
2 |
export * from './product-response';
|
3 |
export * from './cart';
|
4 |
export * from './hooks';
|
|
assets/js/{types/type-defs → type-defs}/payments.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/product-response.ts
RENAMED
@@ -1,11 +1,15 @@
|
|
1 |
/* eslint-disable camelcase -- API responses have camelcase properties */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
-
|
4 |
-
* Internal dependencies
|
5 |
-
*/
|
6 |
-
import { CurrencyResponse } from './currency';
|
7 |
-
|
8 |
-
export interface ProductResponseItemPrices extends CurrencyResponse {
|
9 |
price: string;
|
10 |
regular_price: string;
|
11 |
sale_price: string;
|
1 |
/* eslint-disable camelcase -- API responses have camelcase properties */
|
2 |
+
export interface CurrencyResponseInfo {
|
3 |
+
currency_code: string;
|
4 |
+
currency_symbol: string;
|
5 |
+
currency_minor_unit: number;
|
6 |
+
currency_decimal_separator: string;
|
7 |
+
currency_thousand_separator: string;
|
8 |
+
currency_prefix: string;
|
9 |
+
currency_suffix: string;
|
10 |
+
}
|
11 |
|
12 |
+
export interface ProductResponseItemPrices extends CurrencyResponseInfo {
|
|
|
|
|
|
|
|
|
|
|
13 |
price: string;
|
14 |
regular_price: string;
|
15 |
sale_price: string;
|
assets/js/{types/type-defs → type-defs}/registered-payment-method-props.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/settings.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/shipping.js
RENAMED
File without changes
|
assets/js/{types/type-defs → type-defs}/shipping.ts
RENAMED
File without changes
|
assets/js/types/index.ts
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
export * from './type-defs';
|
2 |
-
export * from './type-guards';
|
|
|
|
assets/js/types/type-defs/currency.ts
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
export interface Currency {
|
2 |
-
code: string;
|
3 |
-
decimalSeparator: string;
|
4 |
-
minorUnit: number;
|
5 |
-
prefix: string;
|
6 |
-
suffix: string;
|
7 |
-
symbol: string;
|
8 |
-
thousandSeparator: string;
|
9 |
-
}
|
10 |
-
|
11 |
-
/* eslint-disable camelcase -- API responses have camelcase properties */
|
12 |
-
export interface CurrencyResponse {
|
13 |
-
currency_code: string;
|
14 |
-
currency_symbol: string;
|
15 |
-
currency_minor_unit: number;
|
16 |
-
currency_decimal_separator: string;
|
17 |
-
currency_thousand_separator: string;
|
18 |
-
currency_prefix: string;
|
19 |
-
currency_suffix: string;
|
20 |
-
}
|
21 |
-
|
22 |
-
export type SymbolPosition = 'left' | 'left_space' | 'right' | 'right_space';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/utils/attributes-query.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
-
import { sortBy } from 'lodash';
|
5 |
|
6 |
/**
|
7 |
* Given a query object, removes an attribute filter by a single slug.
|
@@ -75,7 +75,7 @@ export const updateAttributeFilter = (
|
|
75 |
returnQuery.push( {
|
76 |
attribute: attribute.taxonomy,
|
77 |
operator,
|
78 |
-
slug:
|
79 |
} );
|
80 |
setQuery( sortBy( returnQuery, 'attribute' ) );
|
81 |
}
|
1 |
/**
|
2 |
* External dependencies
|
3 |
*/
|
4 |
+
import { sortBy, map } from 'lodash';
|
5 |
|
6 |
/**
|
7 |
* Given a query object, removes an attribute filter by a single slug.
|
75 |
returnQuery.push( {
|
76 |
attribute: attribute.taxonomy,
|
77 |
operator,
|
78 |
+
slug: map( attributeTerms, 'slug' ).sort(),
|
79 |
} );
|
80 |
setQuery( sortBy( returnQuery, 'attribute' ) );
|
81 |
}
|
build/active-filters-frontend.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-price-format', 'wc-settings', 'wp-blocks', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-primitives'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-price-format', 'wc-settings', 'wp-blocks', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-primitives'), 'version' => '6ac27c4f05842e0dbc741860d8647b76');
|
build/active-filters-frontend.js
CHANGED
@@ -1,13 +1,6 @@
|
|
1 |
-
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=240)}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},10:function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,r.apply(this,arguments)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},109:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(2);function o(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,t]),r.current}},11:function(e,t,r){"use strict";r.d(t,"o",(function(){return c})),r.d(t,"n",(function(){return a})),r.d(t,"m",(function(){return i})),r.d(t,"j",(function(){return u})),r.d(t,"d",(function(){return l})),r.d(t,"g",(function(){return p})),r.d(t,"f",(function(){return f})),r.d(t,"l",(function(){return b})),r.d(t,"k",(function(){return d})),r.d(t,"c",(function(){return m})),r.d(t,"e",(function(){return y})),r.d(t,"h",(function(){return v})),r.d(t,"a",(function(){return g})),r.d(t,"i",(function(){return O})),r.d(t,"b",(function(){return _})),r.d(t,"p",(function(){return h}));var n,o=r(4),c=Object(o.getSetting)("wcBlocksConfig",{buildPhase:1,pluginUrl:"",productCount:0,defaultAvatar:"",restApiRoutes:{},wordCountType:"words"}),a=c.pluginUrl+"images/",i=c.pluginUrl+"build/",s=c.buildPhase,u=null===(n=o.STORE_PAGES.shop)||void 0===n?void 0:n.permalink,l=(o.STORE_PAGES.checkout.id,o.STORE_PAGES.checkout.permalink),p=o.STORE_PAGES.privacy.permalink,f=o.STORE_PAGES.privacy.title,b=o.STORE_PAGES.terms.permalink,d=o.STORE_PAGES.terms.title,m=(o.STORE_PAGES.cart.id,o.STORE_PAGES.cart.permalink),y=o.STORE_PAGES.myaccount.permalink?o.STORE_PAGES.myaccount.permalink:Object(o.getSetting)("wpLoginUrl","/wp-login.php"),v=Object(o.getSetting)("shippingCountries",{}),g=Object(o.getSetting)("allowedCountries",{}),O=Object(o.getSetting)("shippingStates",{}),_=Object(o.getSetting)("allowedStates",{}),h=(r(44),function(){return s>1})},12:function(e,t){!function(){e.exports=this.wp.data}()},121:function(e,t,r){"use strict";r.d(t,"a",(function(){return b}));var n=r(10),o=r.n(n),c=r(7),a=r.n(c),i=r(0),s=r(48);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var p=[".wp-block-woocommerce-cart"],f=function(e){var t=e.Block,r=e.containers,n=e.getProps,c=void 0===n?function(){}:n,a=e.getErrorBoundaryProps,u=void 0===a?function(){}:a;0!==r.length&&Array.prototype.forEach.call(r,(function(e,r){var n=c(e,r),a=u(e,r),p=l(l({},e.dataset),n.attributes);e.classList.remove("is-loading"),Object(i.render)(React.createElement(s.a,a,React.createElement(i.Suspense,{fallback:React.createElement("div",{className:"wc-block-placeholder"})},React.createElement(t,o()({},n,{attributes:p})))),e)}))},b=function(e){var t,r,n,o,c,a,i,s=document.body.querySelectorAll(p.join(","));t=l(l({},e),{},{wrappers:s}),r=t.Block,n=t.getProps,o=t.getErrorBoundaryProps,c=t.selector,a=t.wrappers,i=document.body.querySelectorAll(c),a.length>0&&Array.prototype.filter.call(i,(function(e){return!function(e,t){return Array.prototype.some.call(t,(function(t){return t.contains(e)&&!t.isSameNode(e)}))}(e,a)})),f({Block:r,containers:i,getProps:n,getErrorBoundaryProps:o}),Array.prototype.forEach.call(s,(function(t){t.addEventListener("wc-blocks_render_blocks_frontend",(function(){var r,n,o,c,a,i;n=(r=l(l({},e),{},{wrapper:t})).Block,o=r.getProps,c=r.getErrorBoundaryProps,a=r.selector,i=r.wrapper.querySelectorAll(a),f({Block:n,containers:i,getProps:o,getErrorBoundaryProps:c})}))}))}},123:function(e,t){},126:function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var n=r(15),o=r(12),c=r(0),a=r(50),i=r(96),s=function(e){var t=e.namespace,r=e.resourceName,s=e.resourceValues,u=void 0===s?[]:s,l=e.query,p=void 0===l?{}:l,f=e.shouldSelect,b=void 0===f||f;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(c.useRef)({results:[],isLoading:!0}),m=Object(a.a)(p),y=Object(a.a)(u),v=Object(i.a)(),g=Object(o.useSelect)((function(e){if(!b)return null;var o=e(n.COLLECTIONS_STORE_KEY),c=[t,r,m,y],a=o.getCollectionError.apply(o,c);return a&&v(a),{results:o.getCollection.apply(o,c),isLoading:!o.hasFinishedResolution("getCollection",c)}}),[t,r,y,m,b]);return null!==g&&(d.current=g),d.current}},13:function(e,t,r){var n=r(78);e.exports=function(e,t){if(null==e)return{};var r,o,c=n(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(c[r]=e[r])}return c},e.exports.default=e.exports,e.exports.__esModule=!0},140:function(e,t,r){"use strict";var n=r(7),o=r.n(n),c=r(13),a=r.n(c),i=r(0),s=["srcElement","size"];function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.srcElement,r=e.size,n=void 0===r?24:r,c=a()(e,s);return Object(i.isValidElement)(t)?Object(i.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({width:n,height:n},c)):null}},142:function(e,t,r){"use strict";var n=r(0),o=r(15),c=r(12),a=r(11);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(a.o.restApiRoutes||{}),Object(c.useSelect)((function(e,t){if(r.current){var n=e(o.SCHEMA_STORE_KEY),c=n.isResolving,a=n.hasFinishedResolution,i=t.dispatch(o.SCHEMA_STORE_KEY),s=i.receiveRoutes,u=i.startResolution,l=i.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];c("getRoutes",[e])||a("getRoutes",[e])||(u("getRoutes",[e]),s(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},15:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},151:function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"b",(function(){return a}));var n=r(4),o=Object(n.getSetting)("attributes",[]).reduce((function(e,t){var r,n=(r=t)&&r.attribute_name?{id:parseInt(r.attribute_id,10),name:r.attribute_name,taxonomy:"pa_"+r.attribute_name,label:r.attribute_label}:null;return n.id&&e.push(n),e}),[]),c=function(e){if(e)return o.find((function(t){return t.id===e}))},a=function(e){if(e)return o.find((function(t){return t.taxonomy===e}))}},152:function(e,t,r){"use strict";r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return c}));var n=r(9),o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",c=e.filter((function(e){return e.attribute===r.taxonomy})),a=c.length?c[0]:null;if(a&&a.slug&&Array.isArray(a.slug)&&a.slug.includes(o)){var i=a.slug.filter((function(e){return e!==o})),s=e.filter((function(e){return e.attribute!==r.taxonomy}));i.length>0&&(a.slug=i.sort(),s.push(a)),t(Object(n.sortBy)(s,"attribute"))}},c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"in",a=e.filter((function(e){return e.attribute!==r.taxonomy}));0===o.length?t(a):(a.push({attribute:r.taxonomy,operator:c,slug:o.map((function(e){return e.slug})).sort()}),t(Object(n.sortBy)(a,"attribute")))}},159:function(e,t,r){"use strict";var n=r(10),o=r.n(n),c=r(13),a=r.n(c),i=(r(3),r(5)),s=r.n(i),u=r(1),l=r(140),p=r(173),f=(r(123),["text","screenReaderText","element","className","radius","children"]),b=function(e){var t=e.text,r=e.screenReaderText,n=void 0===r?"":r,c=e.element,i=void 0===c?"li":c,u=e.className,l=void 0===u?"":u,p=e.radius,b=void 0===p?"small":p,d=e.children,m=void 0===d?null:d,y=a()(e,f),v=i,g=s()(l,"wc-block-components-chip","wc-block-components-chip--radius-"+b),O=Boolean(n&&n!==t);return React.createElement(v,o()({className:g},y),React.createElement("span",{"aria-hidden":O,className:"wc-block-components-chip__text"},t),O&&React.createElement("span",{className:"screen-reader-text"},n),m)},d=["ariaLabel","className","disabled","onRemove","removeOnAnyClick","text","screenReaderText"];t.a=function(e){var t=e.ariaLabel,r=void 0===t?"":t,n=e.className,c=void 0===n?"":n,i=e.disabled,f=void 0!==i&&i,m=e.onRemove,y=void 0===m?function(){}:m,v=e.removeOnAnyClick,g=void 0!==v&&v,O=e.text,_=e.screenReaderText,h=void 0===_?"":_,x=a()(e,d),E=g?"span":"button";if(!r){var j=h&&"string"==typeof h?h:O;r="string"!=typeof j?
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
Object(i.__)("Between %1$s and %2$s","woo-gutenberg-products-block"),Object(d.formatPrice)(e),Object(d.formatPrice)(t)):Number.isFinite(e)?Object(i.sprintf)(
|
8 |
-
/* translators: %s min price */
|
9 |
-
Object(i.__)("From %s","woo-gutenberg-products-block"),Object(d.formatPrice)(e)):Object(i.sprintf)(
|
10 |
-
/* translators: %s max price */
|
11 |
-
Object(i.__)("Up to %s","woo-gutenberg-products-block"),Object(d.formatPrice)(t))},v=function(e){var t=e.type,r=e.name,n=e.prefix,o=e.removeCallback,c=void 0===o?function(){}:o,a=e.showLabel,s=void 0===a||a,u=e.displayStyle,l=n?React.createElement(React.Fragment,null,n," ",r):r,p=Object(i.sprintf)(
|
12 |
-
/* translators: %s attribute value used in the filter. For example: yellow, green, small, large. */
|
13 |
-
Object(i.__)("Remove %s filter","woo-gutenberg-products-block"),r);return React.createElement("li",{className:"wc-block-active-filters__list-item",key:t+":"+r},s&&React.createElement("span",{className:"wc-block-active-filters__list-item-type"},t+": "),"chips"===u?React.createElement(m.a,{element:"span",text:l,onRemove:c,radius:"large",ariaLabel:p}):React.createElement("span",{className:"wc-block-active-filters__list-item-name"},l,React.createElement("button",{className:"wc-block-active-filters__list-item-remove",onClick:c},React.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React.createElement("ellipse",{cx:"8",cy:"8",rx:"8",ry:"8",transform:"rotate(-180 8 8)",fill:"currentColor",fillOpacity:"0.7"}),React.createElement("rect",{x:"10.636",y:"3.94983",width:"2",height:"9.9466",transform:"rotate(45 10.636 3.94983)",fill:"white"}),React.createElement("rect",{x:"12.0503",y:"11.0209",width:"2",height:"9.9466",transform:"rotate(135 12.0503 11.0209)",fill:"white"})),React.createElement(f.a,{screenReaderLabel:p}))))},g=r(126),O=r(17),_=r(152),h=function(e){var t=e.attributeObject,r=void 0===t?{}:t,n=e.slugs,o=void 0===n?[]:n,c=e.operator,u=void 0===c?"in":c,l=e.displayStyle,p=Object(g.a)({namespace:"/wc/store",resourceName:"products/attributes/terms",resourceValues:[r.id]}),f=p.results,b=p.isLoading,d=Object(s.b)("attributes",[]),m=a()(d,2),y=m[0],h=m[1];if(b)return null;var x=r.label;return React.createElement("li",null,React.createElement("span",{className:"wc-block-active-filters__list-item-type"},x,":"),React.createElement("ul",null,o.map((function(e,t){var n=f.find((function(t){return t.slug===e}));if(!n)return null;var o="";return t>0&&"and"===u&&(o=React.createElement("span",{className:"wc-block-active-filters__list-item-operator"},Object(i.__)("and","woo-gutenberg-products-block"))),v({type:x,name:Object(O.decodeEntities)(n.name||e),prefix:o,removeCallback:function(){Object(_.a)(y,h,r,e)},showLabel:!1,displayStyle:l})}))))};Object(o.a)({selector:".wp-block-woocommerce-active-filters",Block:Object(n.a)((function(e){var t=e.attributes,r=e.isEditor,n=void 0!==r&&r,o=Object(s.b)("attributes",[]),c=a()(o,2),l=c[0],d=c[1],m=Object(s.b)("min_price"),g=a()(m,2),O=g[0],_=g[1],x=Object(s.b)("max_price"),E=a()(x,2),j=E[0],w=E[1],R=Object(u.useMemo)((function(){return Number.isFinite(O)||Number.isFinite(j)?v({type:Object(i.__)("Price","woo-gutenberg-products-block"),name:y(O,j),removeCallback:function(){_(void 0),w(void 0)},displayStyle:t.displayStyle}):null}),[O,j,t.displayStyle,_,w]),S=Object(u.useMemo)((function(){return l.map((function(e){var r=Object(b.b)(e.attribute);return React.createElement(h,{attributeObject:r,displayStyle:t.displayStyle,slugs:e.slug,key:e.attribute,operator:e.operator})}))}),[l,t.displayStyle]);if(!(l.length>0||Number.isFinite(O)||Number.isFinite(j)||n))return null;var k="h".concat(t.headingLevel),P=p()("wc-block-active-filters__list",{"wc-block-active-filters__list--chips":"chips"===t.displayStyle});return React.createElement(React.Fragment,null,!n&&t.heading&&React.createElement(k,null,t.heading),React.createElement("div",{className:"wc-block-active-filters"},React.createElement("ul",{className:P},n?React.createElement(React.Fragment,null,v({type:Object(i.__)("Size","woo-gutenberg-products-block"),name:Object(i.__)("Small","woo-gutenberg-products-block"),displayStyle:t.displayStyle}),v({type:Object(i.__)("Color","woo-gutenberg-products-block"),name:Object(i.__)("Blue","woo-gutenberg-products-block"),displayStyle:t.displayStyle})):React.createElement(React.Fragment,null,R,S)),React.createElement("button",{className:"wc-block-active-filters__clear-all",onClick:function(){_(void 0),w(void 0),d([])}},React.createElement(f.a,{label:Object(i.__)("Clear All","woo-gutenberg-products-block"),screenReaderLabel:Object(i.__)("Clear All Filters","woo-gutenberg-products-block")}))))})),getProps:function(e){return{attributes:{displayStyle:e.dataset.displayStyle,heading:e.dataset.heading,headingLevel:e.dataset.headingLevel||3}}}})},3:function(e,t,r){e.exports=r(75)()},30:function(e,t,r){"use strict";var n=r(7),o=r.n(n),c=r(0),a=r(5),i=r.n(a);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e){var t,r=e.label,n=e.screenReaderLabel,o=e.wrapperElement,a=e.wrapperProps,s=void 0===a?{}:a,l=null!=r,p=null!=n;return!l&&p?(t=o||"span",s=u(u({},s),{},{className:i()(s.className,"screen-reader-text")}),React.createElement(t,s,n)):(t=o||c.Fragment,l&&p&&r!==n?React.createElement(t,s,React.createElement("span",{"aria-hidden":"true"},r),React.createElement("span",{className:"screen-reader-text"},n)):React.createElement(t,s,r))}},32:function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},33:function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e},e.exports.default=e.exports,e.exports.__esModule=!0},34:function(e,t,r){var n=r(71);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0},35:function(e,t,r){var n=r(18).default,o=r(23);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?o(e):t},e.exports.default=e.exports,e.exports.__esModule=!0},4:function(e,t){!function(){e.exports=this.wc.wcSettings}()},40:function(e,t){!function(){e.exports=this.wc.priceFormat}()},44:function(e,t){!function(){e.exports=this.wp.blocks}()},48:function(e,t,r){"use strict";var n=r(32),o=r.n(n),c=r(33),a=r.n(c),i=r(23),s=r.n(i),u=r(34),l=r.n(u),p=r(35),f=r.n(p),b=r(25),d=r.n(b),m=r(7),y=r.n(m),v=(r(3),r(2)),g=r(1),O=r(11),_=function(e){var t=e.imageUrl,r=void 0===t?"".concat(O.n,"/block-error.svg"):t,n=e.header,o=void 0===n?Object(g.__)("Oops!","woo-gutenberg-products-block"):n,c=e.text,a=void 0===c?Object(g.__)("There was an error loading the content.","woo-gutenberg-products-block"):c,i=e.errorMessage,s=e.errorMessagePrefix,u=void 0===s?Object(g.__)("Error:","woo-gutenberg-products-block"):s,l=e.button;return React.createElement("div",{className:"wc-block-error wc-block-components-error"},r&&React.createElement("img",{className:"wc-block-error__image wc-block-components-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content wc-block-components-error__content"},o&&React.createElement("p",{className:"wc-block-error__header wc-block-components-error__header"},o),a&&React.createElement("p",{className:"wc-block-error__text wc-block-components-error__text"},a),i&&React.createElement("p",{className:"wc-block-error__message wc-block-components-error__message"},u?u+" ":"",i),l&&React.createElement("p",{className:"wc-block-error__button wc-block-components-error__button"},l)))};r(77);var h=function(e){l()(c,e);var t,r,n=(t=c,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,n=d()(t);if(r){var o=d()(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return f()(this,e)});function c(){var e;o()(this,c);for(var t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];return e=n.call.apply(n,[this].concat(r)),y()(s()(e),"state",{errorMessage:"",hasError:!1}),e}return a()(c,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,o=e.text,c=e.errorMessagePrefix,a=e.renderError,i=e.button,s=this.state,u=s.errorMessage;return s.hasError?"function"==typeof a?a({errorMessage:u}):React.createElement(_,{errorMessage:n?u:null,header:t,imageUrl:r,text:o,errorMessagePrefix:c,button:i}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return void 0!==e.statusText&&void 0!==e.status?{errorMessage:React.createElement(React.Fragment,null,React.createElement("strong",null,e.status),": ",e.statusText),hasError:!0}:{errorMessage:e.message,hasError:!0}}}]),c}(v.Component);h.defaultProps={showErrorMessage:!0},t.a=h},5:function(e,t,r){var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var c=typeof n;if("string"===c||"number"===c)e.push(n);else if(Array.isArray(n)){if(n.length){var a=o.apply(null,n);a&&e.push(a)}}else if("object"===c)if(n.toString===Object.prototype.toString)for(var i in n)r.call(n,i)&&n[i]&&e.push(i);else e.push(n.toString())}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},50:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),o=r(22),c=r.n(o);function a(e){var t=Object(n.useRef)(e);return c()(e,t.current)||(t.current=e),t.current}},62:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(0),o=Object(n.createContext)("page"),c=function(){return Object(n.useContext)(o)};o.Provider},67:function(e,t,r){var n=r(68);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},68:function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n},e.exports.default=e.exports,e.exports.__esModule=!0},7:function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.default=e.exports,e.exports.__esModule=!0},71:function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,r(t,n)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},75:function(e,t,r){"use strict";var n=r(76);function o(){}function c(){}c.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,c,a){if(a!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:o};return r.PropTypes=r,r}},76:function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},77:function(e,t){},78:function(e,t){e.exports=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o},e.exports.default=e.exports,e.exports.__esModule=!0},8:function(e,t,r){var n=r(85),o=r(86),c=r(67),a=r(87);e.exports=function(e,t){return n(e)||o(e,t)||c(e,t)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},85:function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},86:function(e,t){e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,c=[],_n=!0,a=!1;try{for(r=r.call(e);!(_n=(n=r.next()).done)&&(c.push(n.value),!t||c.length!==t);_n=!0);}catch(e){a=!0,o=e}finally{try{_n||null==r.return||r.return()}finally{if(a)throw o}}return c}},e.exports.default=e.exports,e.exports.__esModule=!0},87:function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},9:function(e,t){!function(){e.exports=this.lodash}()},95:function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return d})),r.d(t,"c",(function(){return m}));var n=r(8),o=r.n(n),c=r(15),a=r(12),i=r(0),s=r(22),u=r.n(s),l=r(50),p=r(109),f=r(62),b=function(e){var t=Object(f.a)();e=e||t;var r=Object(a.useSelect)((function(t){return t(c.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(a.useDispatch)(c.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(i.useCallback)((function(t){n(e,t)}),[e,n])]},d=function(e,t,r){var n=Object(f.a)();r=r||n;var o=Object(a.useSelect)((function(n){return n(c.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),s=Object(a.useDispatch)(c.QUERY_STATE_STORE_KEY).setQueryValue;return[o,Object(i.useCallback)((function(t){s(r,e,t)}),[r,e,s])]},m=function(e,t){var r=Object(f.a)(),n=b(t=t||r),c=o()(n,2),a=c[0],s=c[1],d=Object(l.a)(a),m=Object(l.a)(e),y=Object(p.a)(m),v=Object(i.useRef)(!1);return Object(i.useEffect)((function(){u()(y,m)||(s(Object.assign({},d,m)),v.current=!0)}),[d,m,y,s]),v.current?[a,s]:[e,s]}},96:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(8),o=r.n(n),c=r(0),a=function(){var e=Object(c.useState)(),t=o()(e,2)[1];return Object(c.useCallback)((function(e){t((function(){throw e}))}),[])}}});
|
1 |
+
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=238)}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},10:function(e,t){function r(){return e.exports=r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},e.exports.default=e.exports,e.exports.__esModule=!0,r.apply(this,arguments)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},11:function(e,t){!function(){e.exports=this.wp.data}()},110:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(2);function o(e,t){var r=Object(n.useRef)();return Object(n.useEffect)((function(){r.current===e||t&&!t(e,r.current)||(r.current=e)}),[e,t]),r.current}},12:function(e,t,r){"use strict";r.d(t,"k",(function(){return c})),r.d(t,"i",(function(){return a})),r.d(t,"j",(function(){return i})),r.d(t,"f",(function(){return u})),r.d(t,"b",(function(){return l})),r.d(t,"e",(function(){return p})),r.d(t,"d",(function(){return f})),r.d(t,"h",(function(){return b})),r.d(t,"g",(function(){return d})),r.d(t,"a",(function(){return m})),r.d(t,"c",(function(){return y})),r.d(t,"l",(function(){return v}));var n,o=r(5),c=Object(o.getSetting)("wcBlocksConfig",{buildPhase:1,pluginUrl:"",productCount:0,restApiRoutes:{},wordCountType:"words"}),a=c.pluginUrl+"assets/",i=c.pluginUrl+"build/",s=c.buildPhase,u=null===(n=o.STORE_PAGES.shop)||void 0===n?void 0:n.permalink,l=(o.STORE_PAGES.checkout.id,o.STORE_PAGES.checkout.permalink),p=o.STORE_PAGES.privacy.permalink,f=o.STORE_PAGES.privacy.title,b=o.STORE_PAGES.terms.permalink,d=o.STORE_PAGES.terms.title,m=(o.STORE_PAGES.cart.id,o.STORE_PAGES.cart.permalink),y=o.STORE_PAGES.myaccount.permalink?o.STORE_PAGES.myaccount.permalink:Object(o.getSetting)("wpLoginUrl","/wp-login.php"),v=(r(41),function(){return s>1})},121:function(e,t,r){"use strict";r.d(t,"a",(function(){return d}));var n=r(10),o=r.n(n),c=r(7),a=r.n(c),i=r(0),s=r(44);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var p=[".wp-block-woocommerce-cart"],f=function(e){var t=e.Block,r=e.containers,n=e.getProps,c=void 0===n?function(){}:n,a=e.getErrorBoundaryProps,u=void 0===a?function(){}:a;0!==r.length&&Array.prototype.forEach.call(r,(function(e,r){var n=c(e,r),a=u(e,r),p=l(l({},e.dataset),n.attributes);e.classList.remove("is-loading"),Object(i.render)(React.createElement(s.a,a,React.createElement(i.Suspense,{fallback:React.createElement("div",{className:"wc-block-placeholder"})},React.createElement(t,o()({},n,{attributes:p})))),e)}))},b=function(e){var t=e.Block,r=e.getProps,n=e.getErrorBoundaryProps,o=e.selector,c=e.wrappers,a=document.body.querySelectorAll(o);c.length>0&&Array.prototype.filter.call(a,(function(e){return!function(e,t){return Array.prototype.some.call(t,(function(t){return t.contains(e)&&!t.isSameNode(e)}))}(e,c)})),f({Block:t,containers:a,getProps:r,getErrorBoundaryProps:n})},d=function(e){var t=document.body.querySelectorAll(p.join(","));b(l(l({},e),{},{wrappers:t})),Array.prototype.forEach.call(t,(function(t){t.addEventListener("wc-blocks_render_blocks_frontend",(function(){var r,n,o,c,a,i;r=l(l({},e),{},{wrapper:t}),n=r.Block,o=r.getProps,c=r.getErrorBoundaryProps,a=r.selector,i=r.wrapper.querySelectorAll(a),f({Block:n,containers:i,getProps:o,getErrorBoundaryProps:c})}))}))}},124:function(e,t){},127:function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var n=r(14),o=r(11),c=r(0),a=r(54),i=r(99),s=function(e){var t=e.namespace,r=e.resourceName,s=e.resourceValues,u=void 0===s?[]:s,l=e.query,p=void 0===l?{}:l,f=e.shouldSelect,b=void 0===f||f;if(!t||!r)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(c.useRef)({results:[],isLoading:!0}),m=Object(a.a)(p),y=Object(a.a)(u),v=Object(i.a)(),g=Object(o.useSelect)((function(e){if(!b)return null;var o=e(n.COLLECTIONS_STORE_KEY),c=[t,r,m,y],a=o.getCollectionError.apply(o,c);return a&&v(a),{results:o.getCollection.apply(o,c),isLoading:!o.hasFinishedResolution("getCollection",c)}}),[t,r,y,m,b]);return null!==g&&(d.current=g),d.current}},139:function(e,t,r){"use strict";var n=r(7),o=r.n(n),c=r(15),a=r.n(c),i=r(0);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.srcElement,r=e.size,n=void 0===r?24:r,c=a()(e,["srcElement","size"]);return Object(i.isValidElement)(t)?Object(i.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({width:n,height:n},c)):null}},14:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},141:function(e,t,r){"use strict";var n=r(0),o=r(14),c=r(11),a=r(12);t.a=function(e){return function(t){var r;return r=Object(n.useRef)(a.k.restApiRoutes||{}),Object(c.useSelect)((function(e,t){if(r.current){var n=e(o.SCHEMA_STORE_KEY),c=n.isResolving,a=n.hasFinishedResolution,i=t.dispatch(o.SCHEMA_STORE_KEY),s=i.receiveRoutes,u=i.startResolution,l=i.finishResolution;Object.keys(r.current).forEach((function(e){var t=r.current[e];c("getRoutes",[e])||a("getRoutes",[e])||(u("getRoutes",[e]),s(t,[e]),l("getRoutes",[e]))}))}}),[]),React.createElement(e,t)}}},15:function(e,t,r){var n=r(72);e.exports=function(e,t){if(null==e)return{};var r,o,c=n(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(c[r]=e[r])}return c},e.exports.default=e.exports,e.exports.__esModule=!0},150:function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return i}));var n=r(5),o=Object(n.getSetting)("attributes",[]),c=o.reduce((function(e,t){var r,n=(r=t)&&r.attribute_name?{id:parseInt(r.attribute_id,10),name:r.attribute_name,taxonomy:"pa_"+r.attribute_name,label:r.attribute_label}:null;return n.id&&e.push(n),e}),[]),a=function(e){if(e)return c.find((function(t){return t.id===e}))},i=function(e){if(e)return c.find((function(t){return t.taxonomy===e}))}},151:function(e,t,r){"use strict";r.d(t,"a",(function(){return o})),r.d(t,"b",(function(){return c}));var n=r(8),o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",c=e.filter((function(e){return e.attribute===r.taxonomy})),a=c.length?c[0]:null;if(a&&a.slug&&Array.isArray(a.slug)&&a.slug.includes(o)){var i=a.slug.filter((function(e){return e!==o})),s=e.filter((function(e){return e.attribute!==r.taxonomy}));i.length>0&&(a.slug=i.sort(),s.push(a)),t(Object(n.sortBy)(s,"attribute"))}},c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"in",a=e.filter((function(e){return e.attribute!==r.taxonomy}));0===o.length?t(a):(a.push({attribute:r.taxonomy,operator:c,slug:Object(n.map)(o,"slug").sort()}),t(Object(n.sortBy)(a,"attribute")))}},158:function(e,t,r){"use strict";var n=r(10),o=r.n(n),c=r(15),a=r.n(c),i=(r(3),r(4)),s=r.n(i),u=r(1),l=r(139),p=r(174),f=(r(124),function(e){var t=e.text,r=e.screenReaderText,n=void 0===r?"":r,c=e.element,i=void 0===c?"li":c,u=e.className,l=void 0===u?"":u,p=e.radius,f=void 0===p?"small":p,b=e.children,d=void 0===b?null:b,m=a()(e,["text","screenReaderText","element","className","radius","children"]),y=i,v=s()(l,"wc-block-components-chip","wc-block-components-chip--radius-"+f),g=Boolean(n&&n!==t);return React.createElement(y,o()({className:v},m),React.createElement("span",{"aria-hidden":g,className:"wc-block-components-chip__text"},t),g&&React.createElement("span",{className:"screen-reader-text"},n),d)});t.a=function(e){var t=e.ariaLabel,r=void 0===t?"":t,n=e.className,c=void 0===n?"":n,i=e.disabled,b=void 0!==i&&i,d=e.onRemove,m=void 0===d?function(){}:d,y=e.removeOnAnyClick,v=void 0!==y&&y,g=e.text,O=e.screenReaderText,_=void 0===O?"":O,h=a()(e,["ariaLabel","className","disabled","onRemove","removeOnAnyClick","text","screenReaderText"]),x=v?"span":"button";if(!r){var E=_&&"string"==typeof _?_:g;r="string"!=typeof E?Object(u.__)("Remove","woo-gutenberg-products-block"):Object(u.sprintf)(Object(u.__)('Remove "%s"',"woo-gutenberg-products-block"),E)}var j={"aria-label":r,disabled:b,onClick:m,onKeyDown:function(e){"Backspace"!==e.key&&"Delete"!==e.key||m()}},w=v?j:{},R=v?{"aria-hidden":!0}:j;return React.createElement(f,o()({},h,w,{className:s()(c,"is-removable"),element:v?"button":h.element,screenReaderText:_,text:g}),React.createElement(x,o()({className:"wc-block-components-chip__remove"},R),React.createElement(l.a,{className:"wc-block-components-chip__remove-icon",srcElement:p.a,size:16})))}},174:function(e,t,r){"use strict";var n=r(10),o=r.n(n),c=r(15),a=r.n(c),i=r(28),s=function(e){var t=e.className,r=e.size,n=a()(e,["className","size"]);return React.createElement(i.SVG,o()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:t,width:r,height:r},n),React.createElement("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"}))},u=React.createElement(s,null);t.a=u},18:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},2:function(e,t){!function(){e.exports=this.React}()},20:function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=r=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),r(t)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},21:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},22:function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.default=e.exports,e.exports.__esModule=!0},238:function(e,t,r){e.exports=r(286)},239:function(e,t){},25:function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,r(t)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},28:function(e,t){!function(){e.exports=this.wp.primitives}()},286:function(e,t,r){"use strict";r.r(t);var n=r(141),o=r(121),c=r(9),a=r.n(c),i=r(1),s=r(98),u=r(0),l=r(4),p=r.n(l),f=(r(3),r(31)),b=(r(239),r(150)),d=r(40),m=r(158),y=function(e,t){return Number.isFinite(e)&&Number.isFinite(t)?Object(i.sprintf)(Object(i.__)("Between %1$s and %2$s","woo-gutenberg-products-block"),Object(d.formatPrice)(e),Object(d.formatPrice)(t)):Number.isFinite(e)?Object(i.sprintf)(Object(i.__)("From %s","woo-gutenberg-products-block"),Object(d.formatPrice)(e)):Object(i.sprintf)(Object(i.__)("Up to %s","woo-gutenberg-products-block"),Object(d.formatPrice)(t))},v=function(e){var t=e.type,r=e.name,n=e.prefix,o=e.removeCallback,c=void 0===o?function(){}:o,a=e.showLabel,s=void 0===a||a,u=e.displayStyle,l=n?React.createElement(React.Fragment,null,n," ",r):r,p=Object(i.sprintf)(Object(i.__)("Remove %s filter","woo-gutenberg-products-block"),r);return React.createElement("li",{className:"wc-block-active-filters__list-item",key:t+":"+r},s&&React.createElement("span",{className:"wc-block-active-filters__list-item-type"},t+": "),"chips"===u?React.createElement(m.a,{element:"span",text:l,onRemove:c,radius:"large",ariaLabel:p}):React.createElement("span",{className:"wc-block-active-filters__list-item-name"},l,React.createElement("button",{className:"wc-block-active-filters__list-item-remove",onClick:c},React.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React.createElement("ellipse",{cx:"8",cy:"8",rx:"8",ry:"8",transform:"rotate(-180 8 8)",fill:"currentColor",fillOpacity:"0.7"}),React.createElement("rect",{x:"10.636",y:"3.94983",width:"2",height:"9.9466",transform:"rotate(45 10.636 3.94983)",fill:"white"}),React.createElement("rect",{x:"12.0503",y:"11.0209",width:"2",height:"9.9466",transform:"rotate(135 12.0503 11.0209)",fill:"white"})),React.createElement(f.a,{screenReaderLabel:p}))))},g=r(127),O=r(18),_=r(151),h=function(e){var t=e.attributeObject,r=void 0===t?{}:t,n=e.slugs,o=void 0===n?[]:n,c=e.operator,u=void 0===c?"in":c,l=e.displayStyle,p=Object(g.a)({namespace:"/wc/store",resourceName:"products/attributes/terms",resourceValues:[r.id]}),f=p.results,b=p.isLoading,d=Object(s.b)("attributes",[]),m=a()(d,2),y=m[0],h=m[1];if(b)return null;var x=r.label;return React.createElement("li",null,React.createElement("span",{className:"wc-block-active-filters__list-item-type"},x,":"),React.createElement("ul",null,o.map((function(e,t){var n=f.find((function(t){return t.slug===e}));if(!n)return null;var o="";return t>0&&"and"===u&&(o=React.createElement("span",{className:"wc-block-active-filters__list-item-operator"},Object(i.__)("and","woo-gutenberg-products-block"))),v({type:x,name:Object(O.decodeEntities)(n.name||e),prefix:o,removeCallback:function(){Object(_.a)(y,h,r,e)},showLabel:!1,displayStyle:l})}))))},x=function(e){var t=e.attributes,r=e.isEditor,n=void 0!==r&&r,o=Object(s.b)("attributes",[]),c=a()(o,2),l=c[0],d=c[1],m=Object(s.b)("min_price"),g=a()(m,2),O=g[0],_=g[1],x=Object(s.b)("max_price"),E=a()(x,2),j=E[0],w=E[1],R=Object(u.useMemo)((function(){return Number.isFinite(O)||Number.isFinite(j)?v({type:Object(i.__)("Price","woo-gutenberg-products-block"),name:y(O,j),removeCallback:function(){_(void 0),w(void 0)},displayStyle:t.displayStyle}):null}),[O,j,t.displayStyle,_,w]),S=Object(u.useMemo)((function(){return l.map((function(e){var r=Object(b.b)(e.attribute);return React.createElement(h,{attributeObject:r,displayStyle:t.displayStyle,slugs:e.slug,key:e.attribute,operator:e.operator})}))}),[l,t.displayStyle]);if(!(l.length>0||Number.isFinite(O)||Number.isFinite(j)||n))return null;var k="h".concat(t.headingLevel),P=p()("wc-block-active-filters__list",{"wc-block-active-filters__list--chips":"chips"===t.displayStyle});return React.createElement(React.Fragment,null,!n&&t.heading&&React.createElement(k,null,t.heading),React.createElement("div",{className:"wc-block-active-filters"},React.createElement("ul",{className:P},n?React.createElement(React.Fragment,null,v({type:Object(i.__)("Size","woo-gutenberg-products-block"),name:Object(i.__)("Small","woo-gutenberg-products-block"),displayStyle:t.displayStyle}),v({type:Object(i.__)("Color","woo-gutenberg-products-block"),name:Object(i.__)("Blue","woo-gutenberg-products-block"),displayStyle:t.displayStyle})):React.createElement(React.Fragment,null,R,S)),React.createElement("button",{className:"wc-block-active-filters__clear-all",onClick:function(){_(void 0),w(void 0),d([])}},React.createElement(f.a,{label:Object(i.__)("Clear All","woo-gutenberg-products-block"),screenReaderLabel:Object(i.__)("Clear All Filters","woo-gutenberg-products-block")}))))};Object(o.a)({selector:".wp-block-woocommerce-active-filters",Block:Object(n.a)(x),getProps:function(e){return{attributes:{displayStyle:e.dataset.displayStyle,heading:e.dataset.heading,headingLevel:e.dataset.headingLevel||3}}}})},3:function(e,t,r){e.exports=r(75)()},31:function(e,t,r){"use strict";var n=r(7),o=r.n(n),c=r(0),a=r(4),i=r.n(a);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}t.a=function(e){var t,r=e.label,n=e.screenReaderLabel,o=e.wrapperElement,a=e.wrapperProps,s=void 0===a?{}:a,l=null!=r,p=null!=n;return!l&&p?(t=o||"span",s=u(u({},s),{},{className:i()(s.className,"screen-reader-text")}),React.createElement(t,s,n)):(t=o||c.Fragment,l&&p&&r!==n?React.createElement(t,s,React.createElement("span",{"aria-hidden":"true"},r),React.createElement("span",{className:"screen-reader-text"},n)):React.createElement(t,s,r))}},32:function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},33:function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e},e.exports.default=e.exports,e.exports.__esModule=!0},34:function(e,t,r){var n=r(65);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0},35:function(e,t,r){var n=r(20).default,o=r(22);e.exports=function(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?o(e):t},e.exports.default=e.exports,e.exports.__esModule=!0},4:function(e,t,r){var n;
|
2 |
+
/*!
|
3 |
+
Copyright (c) 2017 Jed Watson.
|
4 |
+
Licensed under the MIT License (MIT), see
|
5 |
+
http://jedwatson.github.io/classnames
|
6 |
+
*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var c=typeof n;if("string"===c||"number"===c)e.push(n);else if(Array.isArray(n)&&n.length){var a=o.apply(null,n);a&&e.push(a)}else if("object"===c)for(var i in n)r.call(n,i)&&n[i]&&e.push(i)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},40:function(e,t){!function(){e.exports=this.wc.priceFormat}()},41:function(e,t){!function(){e.exports=this.wp.blocks}()},44:function(e,t,r){"use strict";var n=r(32),o=r.n(n),c=r(33),a=r.n(c),i=r(22),s=r.n(i),u=r(34),l=r.n(u),p=r(35),f=r.n(p),b=r(25),d=r.n(b),m=r(7),y=r.n(m),v=(r(3),r(2)),g=r(1),O=r(12),_=function(e){var t=e.imageUrl,r=void 0===t?"".concat(O.i,"img/block-error.svg"):t,n=e.header,o=void 0===n?Object(g.__)("Oops!","woo-gutenberg-products-block"):n,c=e.text,a=void 0===c?Object(g.__)("There was an error loading the content.","woo-gutenberg-products-block"):c,i=e.errorMessage,s=e.errorMessagePrefix,u=void 0===s?Object(g.__)("Error:","woo-gutenberg-products-block"):s;return React.createElement("div",{className:"wc-block-error wc-block-components-error"},r&&React.createElement("img",{className:"wc-block-error__image wc-block-components-error__image",src:r,alt:""}),React.createElement("div",{className:"wc-block-error__content wc-block-components-error__content"},o&&React.createElement("p",{className:"wc-block-error__header wc-block-components-error__header"},o),a&&React.createElement("p",{className:"wc-block-error__text wc-block-components-error__text"},a),i&&React.createElement("p",{className:"wc-block-error__message wc-block-components-error__message"},u?u+" ":"",i)))};r(77);function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f()(this,r)}}var x=function(e){l()(r,e);var t=h(r);function r(){var e;o()(this,r);for(var n=arguments.length,c=new Array(n),a=0;a<n;a++)c[a]=arguments[a];return e=t.call.apply(t,[this].concat(c)),y()(s()(e),"state",{errorMessage:"",hasError:!1}),e}return a()(r,[{key:"render",value:function(){var e=this.props,t=e.header,r=e.imageUrl,n=e.showErrorMessage,o=e.text,c=e.errorMessagePrefix,a=e.renderError,i=this.state,s=i.errorMessage;return i.hasError?"function"==typeof a?a({errorMessage:s}):React.createElement(_,{errorMessage:n?s:null,header:t,imageUrl:r,text:o,errorMessagePrefix:c}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return void 0!==e.statusText&&void 0!==e.status?{errorMessage:React.createElement(React.Fragment,null,React.createElement("strong",null,e.status),": ",e.statusText),hasError:!0}:{errorMessage:e.message,hasError:!0}}}]),r}(v.Component);x.defaultProps={showErrorMessage:!0};t.a=x},5:function(e,t){!function(){e.exports=this.wc.wcSettings}()},54:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(0),o=r(21),c=r.n(o);function a(e){var t=Object(n.useRef)();return void 0!==t.current&&c()(e,t.current)||(t.current=e),t.current}},61:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(0),o=Object(n.createContext)("page"),c=function(){return Object(n.useContext)(o)};o.Provider},65:function(e,t){function r(t,n){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,r(t,n)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},69:function(e,t,r){var n=r(70);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},7:function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.default=e.exports,e.exports.__esModule=!0},70:function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n},e.exports.default=e.exports,e.exports.__esModule=!0},72:function(e,t){e.exports=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o},e.exports.default=e.exports,e.exports.__esModule=!0},75:function(e,t,r){"use strict";var n=r(76);function o(){}function c(){}c.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,c,a){if(a!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:o};return r.PropTypes=r,r}},76:function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},77:function(e,t){},8:function(e,t){!function(){e.exports=this.lodash}()},86:function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.default=e.exports,e.exports.__esModule=!0},87:function(e,t){e.exports=function(e,t){var r=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=r){var n,o,c=[],a=!0,i=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(c.push(n.value),!t||c.length!==t);a=!0);}catch(e){i=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(i)throw o}}return c}},e.exports.default=e.exports,e.exports.__esModule=!0},88:function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0},9:function(e,t,r){var n=r(86),o=r(87),c=r(69),a=r(88);e.exports=function(e,t){return n(e)||o(e,t)||c(e,t)||a()},e.exports.default=e.exports,e.exports.__esModule=!0},98:function(e,t,r){"use strict";r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return d})),r.d(t,"c",(function(){return m}));var n=r(9),o=r.n(n),c=r(14),a=r(11),i=r(0),s=r(21),u=r.n(s),l=r(54),p=r(110),f=r(61),b=function(e){var t=Object(f.a)();e=e||t;var r=Object(a.useSelect)((function(t){return t(c.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),n=Object(a.useDispatch)(c.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[r,Object(i.useCallback)((function(t){n(e,t)}),[e,n])]},d=function(e,t,r){var n=Object(f.a)();r=r||n;var o=Object(a.useSelect)((function(n){return n(c.QUERY_STATE_STORE_KEY).getValueForQueryKey(r,e,t)}),[r,e]),s=Object(a.useDispatch)(c.QUERY_STATE_STORE_KEY).setQueryValue;return[o,Object(i.useCallback)((function(t){s(r,e,t)}),[r,e,s])]},m=function(e,t){var r=Object(f.a)(),n=b(t=t||r),c=o()(n,2),a=c[0],s=c[1],d=Object(l.a)(a),m=Object(l.a)(e),y=Object(p.a)(m),v=Object(i.useRef)(!1);return Object(i.useEffect)((function(){u()(y,m)||(s(Object.assign({},d,m)),v.current=!0)}),[d,m,y,s]),v.current?[a,s]:[e,s]}},99:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(9),o=r.n(n),c=r(0),a=function(){var e=Object(c.useState)(),t=o()(e,2)[1];return Object(c.useCallback)((function(e){t((function(){throw e}))}),[])}}});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build/active-filters.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-price-format', 'wc-settings', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-
|
1 |
+
<?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-price-format', 'wc-settings', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-primitives'), 'version' => '9906c9393007c7a48c78dc22a3dc519f');
|
build/active-filters.js
CHANGED
@@ -1,17 +1 @@
|
|
1 |
-
this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["active-filters"]=function(e){function t(t){for(var r,i,a=t[0],l=t[1],s=t[2],b=0,f=[];b<a.length;b++)i=a[b],Object.prototype.hasOwnProperty.call(c,i)&&c[i]&&f.push(c[i][0]),c[i]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);for(u&&u(t);f.length;)f.shift()();return o.push.apply(o,s||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,a=1;a<n.length;a++){var l=n[a];0!==c[l]&&(r=!1)}r&&(o.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},c={5:0},o=[];function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="";var a=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],l=a.push.bind(a);a.push=t,a=a.slice();for(var s=0;s<a.length;s++)t(a[s]);var u=l;return o.push([744,0]),n()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},108:function(e,t){},133:function(e,t,n){"use strict";var r=n(15),c=n.n(r),o=n(16),i=n.n(o),a=n(17),l=n.n(a),s=n(18),u=n.n(s),b=n(9),f=n.n(b),p=n(0),d=n(6),m=n(1),v=n(3);function h(e){var t=e.level,n={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return n.hasOwnProperty(t)?Object(p.createElement)(v.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(p.createElement)(v.Path,{d:n[t]})):null}var O=function(e){l()(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=f()(t);if(n){var c=f()(this).constructor;e=Reflect.construct(r,arguments,c)}else e=r.apply(this,arguments);return u()(this,e)});function o(){return c()(this,o),r.apply(this,arguments)}return i()(o,[{key:"createLevelControl",value:function(e,t,n){var r=e===t;return{icon:Object(p.createElement)(h,{level:e}),
|
2 |
-
/* translators: %s: heading level e.g: "2", "3", "4" */
|
3 |
-
title:Object(m.sprintf)(Object(m.__)("Heading %d"),e),isActive:r,onClick:function(){return n(e)}}}},{key:"render",value:function(){var e=this,t=this.props,n=t.isCollapsed,r=void 0===n||n,c=t.minLevel,o=t.maxLevel,i=t.selectedLevel,a=t.onChange;return Object(p.createElement)(v.ToolbarGroup,{isCollapsed:r,icon:Object(p.createElement)(h,{level:i}),controls:Object(d.range)(c,o).map((function(t){return e.createLevelControl(t,i,a)}))})}}]),o}(p.Component);t.a=O},136:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"c",(function(){return m}));var r=n(13),c=n.n(r),o=n(40),i=n(21),a=n(0),l=n(36),s=n.n(l),u=n(69),b=n(153),f=n(85),p=function(e){var t=Object(f.a)();e=e||t;var n=Object(i.useSelect)((function(t){return t(o.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),r=Object(i.useDispatch)(o.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[n,Object(a.useCallback)((function(t){r(e,t)}),[e,r])]},d=function(e,t,n){var r=Object(f.a)();n=n||r;var c=Object(i.useSelect)((function(r){return r(o.QUERY_STATE_STORE_KEY).getValueForQueryKey(n,e,t)}),[n,e]),l=Object(i.useDispatch)(o.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(a.useCallback)((function(t){l(n,e,t)}),[n,e,l])]},m=function(e,t){var n=Object(f.a)(),r=p(t=t||n),o=c()(r,2),i=o[0],l=o[1],d=Object(u.a)(i),m=Object(u.a)(e),v=Object(b.a)(m),h=Object(a.useRef)(!1);return Object(a.useEffect)((function(){s()(v,m)||(l(Object.assign({},d,m)),h.current=!0)}),[d,m,v,l]),h.current?[i,l]:[e,l]}},137:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(13),c=n.n(r),o=n(0),i=function(){var e=Object(o.useState)(),t=c()(e,2)[1];return Object(o.useCallback)((function(e){t((function(){throw e}))}),[])}},153:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(8);function c(e,t){var n=Object(r.useRef)();return Object(r.useEffect)((function(){n.current===e||t&&!t(e,n.current)||(n.current=e)}),[e,t]),n.current}},169:function(e,t,n){"use strict";var r=n(0),c=(n(2),n(24)),o=n(7),i=n.n(o);n(232),t.a=function(e){var t=e.className,n=e.headingLevel,o=e.onChange,a=e.heading,l="h".concat(n);return Object(r.createElement)(l,null,Object(r.createElement)(c.PlainText,{className:i()("wc-block-editor-components-title",t),value:a,onChange:o}))}},183:function(e,t){},186:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(40),c=n(21),o=n(0),i=n(69),a=n(137),l=function(e){var t=e.namespace,n=e.resourceName,l=e.resourceValues,s=void 0===l?[]:l,u=e.query,b=void 0===u?{}:u,f=e.shouldSelect,p=void 0===f||f;if(!t||!n)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(o.useRef)({results:[],isLoading:!0}),m=Object(i.a)(b),v=Object(i.a)(s),h=Object(a.a)(),O=Object(c.useSelect)((function(e){if(!p)return null;var c=e(r.COLLECTIONS_STORE_KEY),o=[t,n,m,v],i=c.getCollectionError.apply(c,o);return i&&h(i),{results:c.getCollection.apply(c,o),isLoading:!c.hasFinishedResolution("getCollection",o)}}),[t,n,v,m,p]);return null!==O&&(d.current=O),d.current}},21:function(e,t){!function(){e.exports=this.wp.data}()},23:function(e,t){!function(){e.exports=this.wp.compose}()},232:function(e,t){},238:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return i}));var r=n(5),c=Object(r.getSetting)("attributes",[]).reduce((function(e,t){var n,r=(n=t)&&n.attribute_name?{id:parseInt(n.attribute_id,10),name:n.attribute_name,taxonomy:"pa_"+n.attribute_name,label:n.attribute_label}:null;return r.id&&e.push(r),e}),[]),o=function(e){if(e)return c.find((function(t){return t.id===e}))},i=function(e){if(e)return c.find((function(t){return t.taxonomy===e}))}},239:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return o}));var r=n(6),c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2?arguments[2]:void 0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=e.filter((function(e){return e.attribute===n.taxonomy})),i=o.length?o[0]:null;if(i&&i.slug&&Array.isArray(i.slug)&&i.slug.includes(c)){var a=i.slug.filter((function(e){return e!==c})),l=e.filter((function(e){return e.attribute!==n.taxonomy}));a.length>0&&(i.slug=a.sort(),l.push(i)),t(Object(r.sortBy)(l,"attribute"))}},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2?arguments[2]:void 0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"in",i=e.filter((function(e){return e.attribute!==n.taxonomy}));0===c.length?t(i):(i.push({attribute:n.taxonomy,operator:o,slug:c.map((function(e){return e.slug})).sort()}),t(Object(r.sortBy)(i,"attribute")))}},24:function(e,t){!function(){e.exports=this.wp.blockEditor}()},246:function(e,t,n){"use strict";var r=n(11),c=n.n(r),o=n(20),i=n.n(o),a=n(0),l=(n(2),n(7)),s=n.n(l),u=n(1),b=n(62),f=n(313),p=(n(183),["text","screenReaderText","element","className","radius","children"]),d=function(e){var t=e.text,n=e.screenReaderText,r=void 0===n?"":n,o=e.element,l=void 0===o?"li":o,u=e.className,b=void 0===u?"":u,f=e.radius,d=void 0===f?"small":f,m=e.children,v=void 0===m?null:m,h=i()(e,p),O=l,j=s()(b,"wc-block-components-chip","wc-block-components-chip--radius-"+d),g=Boolean(r&&r!==t);return Object(a.createElement)(O,c()({className:j},h),Object(a.createElement)("span",{"aria-hidden":g,className:"wc-block-components-chip__text"},t),g&&Object(a.createElement)("span",{className:"screen-reader-text"},r),v)},m=["ariaLabel","className","disabled","onRemove","removeOnAnyClick","text","screenReaderText"];t.a=function(e){var t=e.ariaLabel,n=void 0===t?"":t,r=e.className,o=void 0===r?"":r,l=e.disabled,p=void 0!==l&&l,v=e.onRemove,h=void 0===v?function(){}:v,O=e.removeOnAnyClick,j=void 0!==O&&O,g=e.text,y=e.screenReaderText,w=void 0===y?"":y,_=i()(e,m),E=j?"span":"button";if(!n){var k=w&&"string"==typeof w?w:g;n="string"!=typeof k?
|
4 |
-
/* translators: Remove chip. */
|
5 |
-
Object(u.__)("Remove","woo-gutenberg-products-block"):Object(u.sprintf)(
|
6 |
-
/* translators: %s text of the chip to remove. */
|
7 |
-
Object(u.__)('Remove "%s"',"woo-gutenberg-products-block"),k)}var x={"aria-label":n,disabled:p,onClick:h,onKeyDown:function(e){"Backspace"!==e.key&&"Delete"!==e.key||h()}},S=j?x:{},C=j?{"aria-hidden":!0}:x;return Object(a.createElement)(d,c()({},_,S,{className:s()(o,"is-removable"),element:j?"button":_.element,screenReaderText:w,text:g}),Object(a.createElement)(E,c()({className:"wc-block-components-chip__remove"},C),Object(a.createElement)(b.a,{className:"wc-block-components-chip__remove-icon",srcElement:f.a,size:16})))}},25:function(e,t){!function(){e.exports=this.wp.blocks}()},28:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},3:function(e,t){!function(){e.exports=this.wp.components}()},313:function(e,t,n){"use strict";var r=n(11),c=n.n(r),o=n(20),i=n.n(o),a=n(0),l=n(32),s=["className","size"],u=Object(a.createElement)((function(e){var t=e.className,n=e.size,r=i()(e,s);return Object(a.createElement)(l.SVG,c()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:t,width:n,height:n},r),Object(a.createElement)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"}))}),null);t.a=u},32:function(e,t){!function(){e.exports=this.wp.primitives}()},36:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},40:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},44:function(e,t,n){"use strict";var r=n(4),c=n.n(r),o=n(0),i=n(7),a=n.n(i);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.a=function(e){var t,n=e.label,r=e.screenReaderLabel,c=e.wrapperElement,i=e.wrapperProps,l=void 0===i?{}:i,u=null!=n,b=null!=r;return!u&&b?(t=c||"span",l=s(s({},l),{},{className:a()(l.className,"screen-reader-text")}),Object(o.createElement)(t,l,r)):(t=c||o.Fragment,u&&b&&n!==r?Object(o.createElement)(t,l,Object(o.createElement)("span",{"aria-hidden":"true"},n),Object(o.createElement)("span",{className:"screen-reader-text"},r)):Object(o.createElement)(t,l,n))}},5:function(e,t){!function(){e.exports=this.wc.wcSettings}()},50:function(e,t){!function(){e.exports=this.wc.priceFormat}()},6:function(e,t){!function(){e.exports=this.lodash}()},62:function(e,t,n){"use strict";var r=n(4),c=n.n(r),o=n(20),i=n.n(o),a=n(0),l=["srcElement","size"];function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}t.a=function(e){var t=e.srcElement,n=e.size,r=void 0===n?24:n,o=i()(e,l);return Object(a.isValidElement)(t)?Object(a.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({width:r,height:r},o)):null}},69:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),c=n(36),o=n.n(c);function i(e){var t=Object(r.useRef)(e);return o()(e,t.current)||(t.current=e),t.current}},744:function(e,t,n){e.exports=n(786)},745:function(e,t){},78:function(e,t,n){"use strict";var r=n(11),c=n.n(r),o=n(15),i=n.n(o),a=n(16),l=n.n(a),s=n(12),u=n.n(s),b=n(17),f=n.n(b),p=n(18),d=n.n(p),m=n(9),v=n.n(m),h=n(0),O=n(6),j=n(7),g=n.n(j),y=n(3),w=n(23);n(108);var _=function(e){f()(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=v()(t);if(n){var c=v()(this).constructor;e=Reflect.construct(r,arguments,c)}else e=r.apply(this,arguments);return d()(this,e)});function o(){var e;return i()(this,o),(e=r.apply(this,arguments)).onClick=e.onClick.bind(u()(e)),e}return l()(o,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.label,o=n.checked,i=n.instanceId,a=n.className,l=n.help,s=n.options,u=n.value,b="inspector-toggle-button-control-".concat(i);return l&&(e=Object(O.isFunction)(l)?l(o):l),Object(h.createElement)(y.BaseControl,{id:b,help:e,className:g()("components-toggle-button-control",a)},Object(h.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},r),Object(h.createElement)(y.ButtonGroup,{"aria-labelledby":b+"__label"},s.map((function(e,n){var o={};return u===e.value?(o.isPrimary=!0,o["aria-pressed"]=!0):(o.isSecondary=!0,o["aria-pressed"]=!1),Object(h.createElement)(y.Button,c()({key:"".concat(e.label,"-").concat(e.value,"-").concat(n),value:e.value,onClick:t.onClick,"aria-label":r+": "+e.label},o),e.label)}))))}}]),o}(h.Component);t.a=Object(w.withInstanceId)(_)},786:function(e,t,n){"use strict";n.r(t);var r=n(11),c=n.n(r),o=n(0),i=n(1),a=n(25),l=n(62),s=n(32),u=Object(o.createElement)(s.SVG,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(o.createElement)("path",{fill:"none",d:"M0 0h24v24H0z"}),Object(o.createElement)("path",{d:"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})),b=n(7),f=n.n(b),p=n(24),d=n(3),m=n(133),v=n(169),h=n(78),O=n(13),j=n.n(O),g=n(136),y=(n(2),n(44)),w=(n(745),n(238)),_=n(50),E=n(246),k=function(e,t){return Number.isFinite(e)&&Number.isFinite(t)?Object(i.sprintf)(
|
8 |
-
/* translators: %1$s min price, %2$s max price */
|
9 |
-
Object(i.__)("Between %1$s and %2$s","woo-gutenberg-products-block"),Object(_.formatPrice)(e),Object(_.formatPrice)(t)):Number.isFinite(e)?Object(i.sprintf)(
|
10 |
-
/* translators: %s min price */
|
11 |
-
Object(i.__)("From %s","woo-gutenberg-products-block"),Object(_.formatPrice)(e)):Object(i.sprintf)(
|
12 |
-
/* translators: %s max price */
|
13 |
-
Object(i.__)("Up to %s","woo-gutenberg-products-block"),Object(_.formatPrice)(t))},x=function(e){var t=e.type,n=e.name,r=e.prefix,c=e.removeCallback,a=void 0===c?function(){}:c,l=e.showLabel,s=void 0===l||l,u=e.displayStyle,b=r?Object(o.createElement)(o.Fragment,null,r," ",n):n,f=Object(i.sprintf)(
|
14 |
-
/* translators: %s attribute value used in the filter. For example: yellow, green, small, large. */
|
15 |
-
Object(i.__)("Remove %s filter","woo-gutenberg-products-block"),n);return Object(o.createElement)("li",{className:"wc-block-active-filters__list-item",key:t+":"+n},s&&Object(o.createElement)("span",{className:"wc-block-active-filters__list-item-type"},t+": "),"chips"===u?Object(o.createElement)(E.a,{element:"span",text:b,onRemove:a,radius:"large",ariaLabel:f}):Object(o.createElement)("span",{className:"wc-block-active-filters__list-item-name"},b,Object(o.createElement)("button",{className:"wc-block-active-filters__list-item-remove",onClick:a},Object(o.createElement)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Object(o.createElement)("ellipse",{cx:"8",cy:"8",rx:"8",ry:"8",transform:"rotate(-180 8 8)",fill:"currentColor",fillOpacity:"0.7"}),Object(o.createElement)("rect",{x:"10.636",y:"3.94983",width:"2",height:"9.9466",transform:"rotate(45 10.636 3.94983)",fill:"white"}),Object(o.createElement)("rect",{x:"12.0503",y:"11.0209",width:"2",height:"9.9466",transform:"rotate(135 12.0503 11.0209)",fill:"white"})),Object(o.createElement)(y.a,{screenReaderLabel:f}))))},S=n(186),C=n(28),N=n(239),P=function(e){var t=e.attributeObject,n=void 0===t?{}:t,r=e.slugs,c=void 0===r?[]:r,a=e.operator,l=void 0===a?"in":a,s=e.displayStyle,u=Object(S.a)({namespace:"/wc/store",resourceName:"products/attributes/terms",resourceValues:[n.id]}),b=u.results,f=u.isLoading,p=Object(g.b)("attributes",[]),d=j()(p,2),m=d[0],v=d[1];if(f)return null;var h=n.label;return Object(o.createElement)("li",null,Object(o.createElement)("span",{className:"wc-block-active-filters__list-item-type"},h,":"),Object(o.createElement)("ul",null,c.map((function(e,t){var r=b.find((function(t){return t.slug===e}));if(!r)return null;var c="";return t>0&&"and"===l&&(c=Object(o.createElement)("span",{className:"wc-block-active-filters__list-item-operator"},Object(i.__)("and","woo-gutenberg-products-block"))),x({type:h,name:Object(C.decodeEntities)(r.name||e),prefix:c,removeCallback:function(){Object(N.a)(m,v,n,e)},showLabel:!1,displayStyle:s})}))))},R=function(e){var t=e.attributes,n=e.isEditor,r=void 0!==n&&n,c=Object(g.b)("attributes",[]),a=j()(c,2),l=a[0],s=a[1],u=Object(g.b)("min_price"),b=j()(u,2),p=b[0],d=b[1],m=Object(g.b)("max_price"),v=j()(m,2),h=v[0],O=v[1],_=Object(o.useMemo)((function(){return Number.isFinite(p)||Number.isFinite(h)?x({type:Object(i.__)("Price","woo-gutenberg-products-block"),name:k(p,h),removeCallback:function(){d(void 0),O(void 0)},displayStyle:t.displayStyle}):null}),[p,h,t.displayStyle,d,O]),E=Object(o.useMemo)((function(){return l.map((function(e){var n=Object(w.b)(e.attribute);return Object(o.createElement)(P,{attributeObject:n,displayStyle:t.displayStyle,slugs:e.slug,key:e.attribute,operator:e.operator})}))}),[l,t.displayStyle]);if(!(l.length>0||Number.isFinite(p)||Number.isFinite(h)||r))return null;var S="h".concat(t.headingLevel),C=f()("wc-block-active-filters__list",{"wc-block-active-filters__list--chips":"chips"===t.displayStyle});return Object(o.createElement)(o.Fragment,null,!r&&t.heading&&Object(o.createElement)(S,null,t.heading),Object(o.createElement)("div",{className:"wc-block-active-filters"},Object(o.createElement)("ul",{className:C},r?Object(o.createElement)(o.Fragment,null,x({type:Object(i.__)("Size","woo-gutenberg-products-block"),name:Object(i.__)("Small","woo-gutenberg-products-block"),displayStyle:t.displayStyle}),x({type:Object(i.__)("Color","woo-gutenberg-products-block"),name:Object(i.__)("Blue","woo-gutenberg-products-block"),displayStyle:t.displayStyle})):Object(o.createElement)(o.Fragment,null,_,E)),Object(o.createElement)("button",{className:"wc-block-active-filters__clear-all",onClick:function(){d(void 0),O(void 0),s([])}},Object(o.createElement)(y.a,{label:Object(i.__)("Clear All","woo-gutenberg-products-block"),screenReaderLabel:Object(i.__)("Clear All Filters","woo-gutenberg-products-block")}))))},L=Object(d.withSpokenMessages)((function(e){var t=e.attributes,n=e.setAttributes,r=t.className,c=t.displayStyle,a=t.heading,l=t.headingLevel;return Object(o.createElement)("div",{className:r},Object(o.createElement)(p.InspectorControls,{key:"inspector"},Object(o.createElement)(d.PanelBody,{title:Object(i.__)("Block Settings","woo-gutenberg-products-block")},Object(o.createElement)(h.a,{label:Object(i.__)("Display Style","woo-gutenberg-products-block"),value:c,options:[{label:Object(i.__)("List","woo-gutenberg-products-block"),value:"list"},{
|
16 |
-
/* translators: "Chips" is a tag-like display style for chosen attributes. */
|
17 |
-
label:Object(i.__)("Chips","woo-gutenberg-products-block"),value:"chips"}],onChange:function(e){return n({displayStyle:e})}}),Object(o.createElement)("p",null,Object(i.__)("Heading Level","woo-gutenberg-products-block")),Object(o.createElement)(m.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:l,onChange:function(e){return n({headingLevel:e})}}))),Object(o.createElement)(v.a,{headingLevel:l,heading:a,onChange:function(e){return n({heading:e})}}),Object(o.createElement)(d.Disabled,null,Object(o.createElement)(R,{attributes:t,isEditor:!0})))}));Object(a.registerBlockType)("woocommerce/active-filters",{title:Object(i.__)("Active Product Filters","woo-gutenberg-products-block"),icon:{src:Object(o.createElement)(l.a,{srcElement:u}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(i.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(i.__)("Show the currently active product filters. Works in combination with the All Products and filters blocks.","woo-gutenberg-products-block"),supports:{html:!1,multiple:!1},example:{attributes:{}},attributes:{displayStyle:{type:"string",default:"list"},heading:{type:"string",default:Object(i.__)("Active filters","woo-gutenberg-products-block")},headingLevel:{type:"number",default:3}},edit:L,save:function(e){var t=e.attributes,n=t.className,r={"data-display-style":t.displayStyle,"data-heading":t.heading,"data-heading-level":t.headingLevel};return Object(o.createElement)("div",c()({className:f()("is-loading",n)},r),Object(o.createElement)("span",{"aria-hidden":!0,className:"wc-block-active-product-filters__placeholder"}))}})},8:function(e,t){!function(){e.exports=this.React}()},85:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),c=Object(r.createContext)("page"),o=function(){return Object(r.useContext)(c)};c.Provider}});
|
1 |
+
this.wc=this.wc||{},this.wc.blocks=this.wc.blocks||{},this.wc.blocks["active-filters"]=function(e){function t(t){for(var r,i,a=t[0],l=t[1],s=t[2],b=0,f=[];b<a.length;b++)i=a[b],Object.prototype.hasOwnProperty.call(c,i)&&c[i]&&f.push(c[i][0]),c[i]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);for(u&&u(t);f.length;)f.shift()();return o.push.apply(o,s||[]),n()}function n(){for(var e,t=0;t<o.length;t++){for(var n=o[t],r=!0,a=1;a<n.length;a++){var l=n[a];0!==c[l]&&(r=!1)}r&&(o.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},c={5:0},o=[];function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="";var a=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],l=a.push.bind(a);a.push=t,a=a.slice();for(var s=0;s<a.length;s++)t(a[s]);var u=l;return o.push([863,0]),n()}({0:function(e,t){!function(){e.exports=this.wp.element}()},1:function(e,t){!function(){e.exports=this.wp.i18n}()},119:function(e,t){},147:function(e,t,n){"use strict";var r=n(15),c=n.n(r),o=n(16),i=n.n(o),a=n(17),l=n.n(a),s=n(18),u=n.n(s),b=n(9),f=n.n(b),p=n(0),d=n(6),v=n(1),m=n(3);function h(e){var t=e.level,n={1:"M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z",2:"M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z",3:"M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z",4:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z",5:"M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z",6:"M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z"};return n.hasOwnProperty(t)?Object(p.createElement)(m.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},Object(p.createElement)(m.Path,{d:n[t]})):null}function O(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f()(e);if(t){var c=f()(this).constructor;n=Reflect.construct(r,arguments,c)}else n=r.apply(this,arguments);return u()(this,n)}}var j=function(e){l()(n,e);var t=O(n);function n(){return c()(this,n),t.apply(this,arguments)}return i()(n,[{key:"createLevelControl",value:function(e,t,n){var r=e===t;return{icon:Object(p.createElement)(h,{level:e}),title:Object(v.sprintf)(Object(v.__)("Heading %d"),e),isActive:r,onClick:function(){return n(e)}}}},{key:"render",value:function(){var e=this,t=this.props,n=t.isCollapsed,r=void 0===n||n,c=t.minLevel,o=t.maxLevel,i=t.selectedLevel,a=t.onChange;return Object(p.createElement)(m.ToolbarGroup,{isCollapsed:r,icon:Object(p.createElement)(h,{level:i}),controls:Object(d.range)(c,o).map((function(t){return e.createLevelControl(t,i,a)}))})}}]),n}(p.Component);t.a=j},150:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"c",(function(){return v}));var r=n(13),c=n.n(r),o=n(36),i=n(21),a=n(0),l=n(33),s=n.n(l),u=n(74),b=n(166),f=n(82),p=function(e){var t=Object(f.a)();e=e||t;var n=Object(i.useSelect)((function(t){return t(o.QUERY_STATE_STORE_KEY).getValueForQueryContext(e,void 0)}),[e]),r=Object(i.useDispatch)(o.QUERY_STATE_STORE_KEY).setValueForQueryContext;return[n,Object(a.useCallback)((function(t){r(e,t)}),[e,r])]},d=function(e,t,n){var r=Object(f.a)();n=n||r;var c=Object(i.useSelect)((function(r){return r(o.QUERY_STATE_STORE_KEY).getValueForQueryKey(n,e,t)}),[n,e]),l=Object(i.useDispatch)(o.QUERY_STATE_STORE_KEY).setQueryValue;return[c,Object(a.useCallback)((function(t){l(n,e,t)}),[n,e,l])]},v=function(e,t){var n=Object(f.a)(),r=p(t=t||n),o=c()(r,2),i=o[0],l=o[1],d=Object(u.a)(i),v=Object(u.a)(e),m=Object(b.a)(v),h=Object(a.useRef)(!1);return Object(a.useEffect)((function(){s()(m,v)||(l(Object.assign({},d,v)),h.current=!0)}),[d,v,m,l]),h.current?[i,l]:[e,l]}},151:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(13),c=n.n(r),o=n(0),i=function(){var e=Object(o.useState)(),t=c()(e,2)[1];return Object(o.useCallback)((function(e){t((function(){throw e}))}),[])}},166:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(8);function c(e,t){var n=Object(r.useRef)();return Object(r.useEffect)((function(){n.current===e||t&&!t(e,n.current)||(n.current=e)}),[e,t]),n.current}},183:function(e,t,n){"use strict";var r=n(0),c=(n(2),n(22)),o=n(7),i=n.n(o);n(249);t.a=function(e){var t=e.className,n=e.headingLevel,o=e.onChange,a=e.heading,l="h".concat(n);return Object(r.createElement)(l,null,Object(r.createElement)(c.PlainText,{className:i()("wc-block-editor-components-title",t),value:a,onChange:o}))}},198:function(e,t){},200:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(36),c=n(21),o=n(0),i=n(74),a=n(151),l=function(e){var t=e.namespace,n=e.resourceName,l=e.resourceValues,s=void 0===l?[]:l,u=e.query,b=void 0===u?{}:u,f=e.shouldSelect,p=void 0===f||f;if(!t||!n)throw new Error("The options object must have valid values for the namespace and the resource properties.");var d=Object(o.useRef)({results:[],isLoading:!0}),v=Object(i.a)(b),m=Object(i.a)(s),h=Object(a.a)(),O=Object(c.useSelect)((function(e){if(!p)return null;var c=e(r.COLLECTIONS_STORE_KEY),o=[t,n,v,m],i=c.getCollectionError.apply(c,o);return i&&h(i),{results:c.getCollection.apply(c,o),isLoading:!c.hasFinishedResolution("getCollection",o)}}),[t,n,m,v,p]);return null!==O&&(d.current=O),d.current}},21:function(e,t){!function(){e.exports=this.wp.data}()},22:function(e,t){!function(){e.exports=this.wp.blockEditor}()},249:function(e,t){},25:function(e,t){!function(){e.exports=this.wp.blocks}()},255:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var r=n(5),c=Object(r.getSetting)("attributes",[]),o=c.reduce((function(e,t){var n,r=(n=t)&&n.attribute_name?{id:parseInt(n.attribute_id,10),name:n.attribute_name,taxonomy:"pa_"+n.attribute_name,label:n.attribute_label}:null;return r.id&&e.push(r),e}),[]),i=function(e){if(e)return o.find((function(t){return t.id===e}))},a=function(e){if(e)return o.find((function(t){return t.taxonomy===e}))}},256:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return o}));var r=n(6),c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2?arguments[2]:void 0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=e.filter((function(e){return e.attribute===n.taxonomy})),i=o.length?o[0]:null;if(i&&i.slug&&Array.isArray(i.slug)&&i.slug.includes(c)){var a=i.slug.filter((function(e){return e!==c})),l=e.filter((function(e){return e.attribute!==n.taxonomy}));a.length>0&&(i.slug=a.sort(),l.push(i)),t(Object(r.sortBy)(l,"attribute"))}},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2?arguments[2]:void 0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"in",i=e.filter((function(e){return e.attribute!==n.taxonomy}));0===c.length?t(i):(i.push({attribute:n.taxonomy,operator:o,slug:Object(r.map)(c,"slug").sort()}),t(Object(r.sortBy)(i,"attribute")))}},26:function(e,t){!function(){e.exports=this.wp.htmlEntities}()},264:function(e,t,n){"use strict";var r=n(10),c=n.n(r),o=n(23),i=n.n(o),a=n(0),l=(n(2),n(7)),s=n.n(l),u=n(1),b=n(57),f=n(355),p=(n(198),function(e){var t=e.text,n=e.screenReaderText,r=void 0===n?"":n,o=e.element,l=void 0===o?"li":o,u=e.className,b=void 0===u?"":u,f=e.radius,p=void 0===f?"small":f,d=e.children,v=void 0===d?null:d,m=i()(e,["text","screenReaderText","element","className","radius","children"]),h=l,O=s()(b,"wc-block-components-chip","wc-block-components-chip--radius-"+p),j=Boolean(r&&r!==t);return Object(a.createElement)(h,c()({className:O},m),Object(a.createElement)("span",{"aria-hidden":j,className:"wc-block-components-chip__text"},t),j&&Object(a.createElement)("span",{className:"screen-reader-text"},r),v)});t.a=function(e){var t=e.ariaLabel,n=void 0===t?"":t,r=e.className,o=void 0===r?"":r,l=e.disabled,d=void 0!==l&&l,v=e.onRemove,m=void 0===v?function(){}:v,h=e.removeOnAnyClick,O=void 0!==h&&h,j=e.text,g=e.screenReaderText,y=void 0===g?"":g,w=i()(e,["ariaLabel","className","disabled","onRemove","removeOnAnyClick","text","screenReaderText"]),_=O?"span":"button";if(!n){var E=y&&"string"==typeof y?y:j;n="string"!=typeof E?Object(u.__)("Remove","woo-gutenberg-products-block"):Object(u.sprintf)(Object(u.__)('Remove "%s"',"woo-gutenberg-products-block"),E)}var k={"aria-label":n,disabled:d,onClick:m,onKeyDown:function(e){"Backspace"!==e.key&&"Delete"!==e.key||m()}},x=O?k:{},S=O?{"aria-hidden":!0}:k;return Object(a.createElement)(p,c()({},w,x,{className:s()(o,"is-removable"),element:O?"button":w.element,screenReaderText:y,text:j}),Object(a.createElement)(_,c()({className:"wc-block-components-chip__remove"},S),Object(a.createElement)(b.a,{className:"wc-block-components-chip__remove-icon",srcElement:f.a,size:16})))}},3:function(e,t){!function(){e.exports=this.wp.components}()},31:function(e,t){!function(){e.exports=this.wp.primitives}()},33:function(e,t){!function(){e.exports=this.wp.isShallowEqual}()},355:function(e,t,n){"use strict";var r=n(10),c=n.n(r),o=n(23),i=n.n(o),a=n(0),l=n(31),s=Object(a.createElement)((function(e){var t=e.className,n=e.size,r=i()(e,["className","size"]);return Object(a.createElement)(l.SVG,c()({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",className:t,width:n,height:n},r),Object(a.createElement)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"}))}),null);t.a=s},36:function(e,t){!function(){e.exports=this.wc.wcBlocksData}()},41:function(e,t,n){"use strict";var r=n(4),c=n.n(r),o=n(0),i=n(7),a=n.n(i);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.a=function(e){var t,n=e.label,r=e.screenReaderLabel,c=e.wrapperElement,i=e.wrapperProps,l=void 0===i?{}:i,u=null!=n,b=null!=r;return!u&&b?(t=c||"span",l=s(s({},l),{},{className:a()(l.className,"screen-reader-text")}),Object(o.createElement)(t,l,r)):(t=c||o.Fragment,u&&b&&n!==r?Object(o.createElement)(t,l,Object(o.createElement)("span",{"aria-hidden":"true"},n),Object(o.createElement)("span",{className:"screen-reader-text"},r)):Object(o.createElement)(t,l,n))}},5:function(e,t){!function(){e.exports=this.wc.wcSettings}()},57:function(e,t,n){"use strict";var r=n(4),c=n.n(r),o=n(23),i=n.n(o),a=n(0);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}t.a=function(e){var t=e.srcElement,n=e.size,r=void 0===n?24:n,o=i()(e,["srcElement","size"]);return Object(a.isValidElement)(t)?Object(a.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){c()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({width:r,height:r},o)):null}},58:function(e,t){!function(){e.exports=this.wc.priceFormat}()},6:function(e,t){!function(){e.exports=this.lodash}()},71:function(e,t,n){"use strict";var r=n(10),c=n.n(r),o=n(15),i=n.n(o),a=n(16),l=n.n(a),s=n(11),u=n.n(s),b=n(17),f=n.n(b),p=n(18),d=n.n(p),v=n(9),m=n.n(v),h=n(0),O=n(6),j=n(7),g=n.n(j),y=n(3),w=n(188);n(119);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=m()(e);if(t){var c=m()(this).constructor;n=Reflect.construct(r,arguments,c)}else n=r.apply(this,arguments);return d()(this,n)}}var E=function(e){f()(n,e);var t=_(n);function n(){var e;return i()(this,n),(e=t.apply(this,arguments)).onClick=e.onClick.bind(u()(e)),e}return l()(n,[{key:"onClick",value:function(e){this.props.onChange&&this.props.onChange(e.target.value)}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.label,o=n.checked,i=n.instanceId,a=n.className,l=n.help,s=n.options,u=n.value,b="inspector-toggle-button-control-".concat(i);return l&&(e=Object(O.isFunction)(l)?l(o):l),Object(h.createElement)(y.BaseControl,{id:b,help:e,className:g()("components-toggle-button-control",a)},Object(h.createElement)("label",{id:b+"__label",htmlFor:b,className:"components-toggle-button-control__label"},r),Object(h.createElement)(y.ButtonGroup,{"aria-labelledby":b+"__label"},s.map((function(e,n){var o={};return u===e.value?(o.isPrimary=!0,o["aria-pressed"]=!0):(o.isSecondary=!0,o["aria-pressed"]=!1),Object(h.createElement)(y.Button,c()({key:"".concat(e.label,"-").concat(e.value,"-").concat(n),value:e.value,onClick:t.onClick,"aria-label":r+": "+e.label},o),e.label)}))))}}]),n}(h.Component);t.a=Object(w.a)(E)},74:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),c=n(33),o=n.n(c);function i(e){var t=Object(r.useRef)();return void 0!==t.current&&o()(e,t.current)||(t.current=e),t.current}},8:function(e,t){!function(){e.exports=this.React}()},82:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),c=Object(r.createContext)("page"),o=function(){return Object(r.useContext)(c)};c.Provider},863:function(e,t,n){e.exports=n(903)},864:function(e,t){},903:function(e,t,n){"use strict";n.r(t);var r=n(10),c=n.n(r),o=n(0),i=n(1),a=n(25),l=n(57),s=n(31),u=Object(o.createElement)(s.SVG,{xmlns:"http://www.w3.org/2000/SVG",viewBox:"0 0 24 24"},Object(o.createElement)("path",{fill:"none",d:"M0 0h24v24H0z"}),Object(o.createElement)("path",{d:"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})),b=n(7),f=n.n(b),p=n(22),d=n(3),v=n(147),m=n(183),h=n(71),O=n(13),j=n.n(O),g=n(150),y=(n(2),n(41)),w=(n(864),n(255)),_=n(58),E=n(264),k=function(e,t){return Number.isFinite(e)&&Number.isFinite(t)?Object(i.sprintf)(Object(i.__)("Between %1$s and %2$s","woo-gutenberg-products-block"),Object(_.formatPrice)(e),Object(_.formatPrice)(t)):Number.isFinite(e)?Object(i.sprintf)(Object(i.__)("From %s","woo-gutenberg-products-block"),Object(_.formatPrice)(e)):Object(i.sprintf)(Object(i.__)("Up to %s","woo-gutenberg-products-block"),Object(_.formatPrice)(t))},x=function(e){var t=e.type,n=e.name,r=e.prefix,c=e.removeCallback,a=void 0===c?function(){}:c,l=e.showLabel,s=void 0===l||l,u=e.displayStyle,b=r?Object(o.createElement)(o.Fragment,null,r," ",n):n,f=Object(i.sprintf)(Object(i.__)("Remove %s filter","woo-gutenberg-products-block"),n);return Object(o.createElement)("li",{className:"wc-block-active-filters__list-item",key:t+":"+n},s&&Object(o.createElement)("span",{className:"wc-block-active-filters__list-item-type"},t+": "),"chips"===u?Object(o.createElement)(E.a,{element:"span",text:b,onRemove:a,radius:"large",ariaLabel:f}):Object(o.createElement)("span",{className:"wc-block-active-filters__list-item-name"},b,Object(o.createElement)("button",{className:"wc-block-active-filters__list-item-remove",onClick:a},Object(o.createElement)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Object(o.createElement)("ellipse",{cx:"8",cy:"8",rx:"8",ry:"8",transform:"rotate(-180 8 8)",fill:"currentColor",fillOpacity:"0.7"}),Object(o.createElement)("rect",{x:"10.636",y:"3.94983",width:"2",height:"9.9466",transform:"rotate(45 10.636 3.94983)",fill:"white"}),Object(o.createElement)("rect",{x:"12.0503",y:"11.0209",width:"2",height:"9.9466",transform:"rotate(135 12.0503 11.0209)",fill:"white"})),Object(o.createElement)(y.a,{screenReaderLabel:f}))))},S=n(200),C=n(26),N=n(256),P=function(e){var t=e.attributeObject,n=void 0===t?{}:t,r=e.slugs,c=void 0===r?[]:r,a=e.operator,l=void 0===a?"in":a,s=e.displayStyle,u=Object(S.a)({namespace:"/wc/store",resourceName:"products/attributes/terms",resourceValues:[n.id]}),b=u.results,f=u.isLoading,p=Object(g.b)("attributes",[]),d=j()(p,2),v=d[0],m=d[1];if(f)return null;var h=n.label;return Object(o.createElement)("li",null,Object(o.createElement)("span",{className:"wc-block-active-filters__list-item-type"},h,":"),Object(o.createElement)("ul",null,c.map((function(e,t){var r=b.find((function(t){return t.slug===e}));if(!r)return null;var c="";return t>0&&"and"===l&&(c=Object(o.createElement)("span",{className:"wc-block-active-filters__list-item-operator"},Object(i.__)("and","woo-gutenberg-products-block"))),x({type:h,name:Object(C.decodeEntities)(r.name||e),prefix:c,removeCallback:function(){Object(N.a)(v,m,n,e)},showLabel:!1,displayStyle:s})}))))},R=function(e){var t=e.attributes,n=e.isEditor,r=void 0!==n&&n,c=Object(g.b)("attributes",[]),a=j()(c,2),l=a[0],s=a[1],u=Object(g.b)("min_price"),b=j()(u,2),p=b[0],d=b[1],v=Object(g.b)("max_price"),m=j()(v,2),h=m[0],O=m[1],_=Object(o.useMemo)((function(){return Number.isFinite(p)||Number.isFinite(h)?x({type:Object(i.__)("Price","woo-gutenberg-products-block"),name:k(p,h),removeCallback:function(){d(void 0),O(void 0)},displayStyle:t.displayStyle}):null}),[p,h,t.displayStyle,d,O]),E=Object(o.useMemo)((function(){return l.map((function(e){var n=Object(w.b)(e.attribute);return Object(o.createElement)(P,{attributeObject:n,displayStyle:t.displayStyle,slugs:e.slug,key:e.attribute,operator:e.operator})}))}),[l,t.displayStyle]);if(!(l.length>0||Number.isFinite(p)||Number.isFinite(h)||r))return null;var S="h".concat(t.headingLevel),C=f()("wc-block-active-filters__list",{"wc-block-active-filters__list--chips":"chips"===t.displayStyle});return Object(o.createElement)(o.Fragment,null,!r&&t.heading&&Object(o.createElement)(S,null,t.heading),Object(o.createElement)("div",{className:"wc-block-active-filters"},Object(o.createElement)("ul",{className:C},r?Object(o.createElement)(o.Fragment,null,x({type:Object(i.__)("Size","woo-gutenberg-products-block"),name:Object(i.__)("Small","woo-gutenberg-products-block"),displayStyle:t.displayStyle}),x({type:Object(i.__)("Color","woo-gutenberg-products-block"),name:Object(i.__)("Blue","woo-gutenberg-products-block"),displayStyle:t.displayStyle})):Object(o.createElement)(o.Fragment,null,_,E)),Object(o.createElement)("button",{className:"wc-block-active-filters__clear-all",onClick:function(){d(void 0),O(void 0),s([])}},Object(o.createElement)(y.a,{label:Object(i.__)("Clear All","woo-gutenberg-products-block"),screenReaderLabel:Object(i.__)("Clear All Filters","woo-gutenberg-products-block")}))))},L=Object(d.withSpokenMessages)((function(e){var t=e.attributes,n=e.setAttributes,r=t.className,c=t.displayStyle,a=t.heading,l=t.headingLevel;return Object(o.createElement)("div",{className:r},Object(o.createElement)(p.InspectorControls,{key:"inspector"},Object(o.createElement)(d.PanelBody,{title:Object(i.__)("Block Settings","woo-gutenberg-products-block")},Object(o.createElement)(h.a,{label:Object(i.__)("Display Style","woo-gutenberg-products-block"),value:c,options:[{label:Object(i.__)("List","woo-gutenberg-products-block"),value:"list"},{label:Object(i.__)("Chips","woo-gutenberg-products-block"),value:"chips"}],onChange:function(e){return n({displayStyle:e})}}),Object(o.createElement)("p",null,Object(i.__)("Heading Level","woo-gutenberg-products-block")),Object(o.createElement)(v.a,{isCollapsed:!1,minLevel:2,maxLevel:7,selectedLevel:l,onChange:function(e){return n({headingLevel:e})}}))),Object(o.createElement)(m.a,{headingLevel:l,heading:a,onChange:function(e){return n({heading:e})}}),Object(o.createElement)(d.Disabled,null,Object(o.createElement)(R,{attributes:t,isEditor:!0})))}));Object(a.registerBlockType)("woocommerce/active-filters",{title:Object(i.__)("Active Product Filters","woo-gutenberg-products-block"),icon:{src:Object(o.createElement)(l.a,{srcElement:u}),foreground:"#96588a"},category:"woocommerce",keywords:[Object(i.__)("WooCommerce","woo-gutenberg-products-block")],description:Object(i.__)("Show the currently active product filters. Works in combination with the All Products and filters blocks.","woo-gutenberg-products-block"),supports:{html:!1,multiple:!1},example:{attributes:{}},attributes:{displayStyle:{type:"string",default:"list"},heading:{type:"string",default:Object(i.__)("Active filters","woo-gutenberg-products-block")},headingLevel:{type:"number",default:3}},edit:L,save:function(e){var t=e.attributes,n=t.className,r={"data-display-style":t.displayStyle,"data-heading":t.heading,"data-heading-level":t.headingLevel};return Object(o.createElement)("div",c()({className:f()("is-loading",n)},r),Object(o.createElement)("span",{"aria-hidden":!0,className:"wc-block-active-product-filters__placeholder"}))}})}});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build/all-products-frontend.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-blocks-registry', 'wc-
|
1 |
+
<?php return array('dependencies' => array('lodash', 'react', 'wc-blocks-data-store', 'wc-blocks-registry', 'wc-price-format', 'wc-settings', 'wc-shared-context', 'wc-shared-hocs', 'wp-a11y', 'wp-api-fetch', 'wp-autop', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-warning', 'wp-wordcount'), 'version' => 'b0fea12a63d718b10383aee3a4d0fb05');
|
build/all-products-frontend.js
CHANGED
@@ -1,11 +1,6 @@
|
|
1 |
-
!function(e){function t(t){for(var n,o,c=t[0],i=t[1],a=0,s=[];a<c.length;a++)o=c[a],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&s.push(r[o][0]),r[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(u&&u(t);s.length;)s.shift()()}var n={},r={1:0};function o(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var c=new Promise((function(t,o){n=r[e]=[t,o]}));t.push(n[2]=c);var i,a=document.createElement("script");a.charset="utf-8",a.timeout=120,o.nc&&a.setAttribute("nonce",o.nc),a.src=function(e){return o.p+""+({2:"atomic-block-components/add-to-cart",3:"atomic-block-components/button",4:"atomic-block-components/category-list",5:"atomic-block-components/image",6:"atomic-block-components/price",7:"atomic-block-components/rating",8:"atomic-block-components/sale-badge",9:"atomic-block-components/sku",10:"atomic-block-components/stock-indicator",11:"atomic-block-components/summary",12:"atomic-block-components/tag-list",13:"atomic-block-components/title",20:"vendors--atomic-block-components/price"}[e]||e)+"-frontend.js"}(e);var u=new Error;i=function(t){a.onerror=a.onload=null,clearTimeout(s);var n=r[e];if(0!==n){if(n){var o=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+o+": "+c+")",u.name="ChunkLoadError",u.type=o,u.request=c,n[1](u)}r[e]=void 0}};var s=setTimeout((function(){i({type:"timeout",target:a})}),12e4);a.onerror=a.onload=i,document.head.appendChild(a)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o.oe=function(e){throw console.error(e),e};var c=window.webpackWcBlocksJsonp=window.webpackWcBlocksJsonp||[],i=c.push.bind(c);c.push=t,c=c.slice();for(var a=0;a<c.length;a++)t(c[a]);var u=i;o(o.s=228)}([function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){!function(){e.exports=this.wp.i18n}()},function(e,t){!function(){e.exports=this.React}()},function(e,t,n){e.exports=n(75)()},function(e,t){!fun
|
|